tetraの外部記憶箱

«前の日記(2012-03-28) 最新 次の日記(2012-03-31)» 編集
Category;

2012-03-29

_ [bioinfo][circos] ideogramのレイアウトについて

前々回のインストール編前回の学習コース準備編に引き続き、今回から実際にCircosの使い方についてレクチャーを行います。

20120329003942

Circosで最も中心となるのがideogramと呼ばれるトラック(B)だ。これは、染色体を模式的に描いたものであり、プロットしたデータの染色体上の位置を示すガイドの役割をしている。各種データは、ideogramの外側(A)および内側(C~E)にプロットされる。

染色体の並び方、色、大きさ等は、設定ファイルによって任意にカスタマイズすることが可能だ。まずは、ideogramの取り扱いから学習してゆくことにする。

百聞は一見にしかず、学習コースのセッション2/レッスン1の設定ファイル(circos.conf)を見てみよう。

# karyotype(染色体の情報)の書かれたファイルの指定。
karyotype = ../data/karyotype.5chr.txt
# 染色体のユニット長の設定
chromosomes_units = 1000000
# 染色体の表示をデフォルトに設定
chromosomes_display_default = yes
# 以下、外部の設定ファイルの読み込み
<<include ideogram.conf>
<<include ticks.conf>>
<image>
<<include ../../etc/image.conf>>
</image>
<<include ../../etc/housekeeping.conf>>

karyotypeというパラメータで指定したファイルが読み込まれ、染色体の名前、ラベル、開始位置、終了位置、表示色等が指定される。染色体の名前を単純にchr1, chr2,..., chr5とし、そのサイズが順に5, 10, 20, 50, 100 Mbであるようなゲノムについて書かれた例(karyotype.5chr.txt)を以下に示す。

# chr - CHRNAME CHRLABEL START END COLOR
chr - chr1 1 0 5000000 spectral-5-div-1
chr - chr2 2 0 10000000 spectral-5-div-2
chr - chr3 3 0 20000000 spectral-5-div-3
chr - chr4 4 0 50000000 spectral-5-div-4
chr - chr5 5 0 100000000 spectral-5-div-5

ここで最後のカラムの表示色については、インポートされたhousekeeping.confの<colors>ブロックで定義されている。ここで示した例では、Brewer Palette(http://colorbrewer2.org/)による5段階カラースペクトルを指定している。直接、色の名前を指定することも可能。(例えば、vdred, dred, red, lred ,vlred・・・v=very, d=dark, l=lightといった具合に)

実際に、設定ファイルを読み込んで画像を作ってみよう。

$ cd 2/1
$ circos -conf etc/circos.conf
・・・
created image at ./circos.png

カレントディレクトリに下記のような画像がアウトプットされる。

20120329003943

ideogramの詳細なパラメータの設定は、circos.confからインポートされる設定ファイル、ideogram.confの中の<ideogram>ブロックに記述されている。上記の例では、下記のような設定となっている。

<ideogram>
<spacing>
default = 2u
</spacing>
<<include ../../etc/ideogram.conf>>
</ideogram>

defaultのパラメータで、染色体間の間隔は2uに設定されている。ここで、uという単位はchromosomes_unitsというパラメータによって設定されたユニット長(1000000 = 1 Mb)が適用されるので、上記の例では2u = 2 Mbの間隔で描画される事を意味する。従って、もしdefault = 10uに変更を行えば、下記のように5倍の間隔で染色体が配置されることになる。

20120329003944

上記のパラメータは、全ての染色体の配置に反映されたが、<pariwise>ブロックを使うことにより、染色体の間隔を個別に指定することも可能だ。

<ideogram>
<spacing>
default = 10u
<pairwise chr1;chr2>
spacing = 2u
</pairwise>
<pairwise chr5;chr1>
spacing = 25u
</pairwise>
</spacing>
<<include ../../etc/ideogram.conf>>
</ideogram>

例えば、上記のように設定した場合、chr1とchr2との間隔は2u、chr5とchr1との間隔は25u、それ以外は10uとなり、下記のような画像が出力される。(このように、必要な数だけ<pairwise>ブロックを増やすことも可能)

20120329003945

また、間隔を指定する際にchromosomes_unitsで定義した単位uを使用したが、代わりにrを使用すれば、全ての表示する染色体長のトータルサイズに対する割合として指定することができる。例えば、default = 0.1rと指定すれば、トータルのゲノムサイズ185 Mbの10%、すなわち18.5 Mbの間隔での表示となる。