最初に、ゲノムサイズが小さいのでメモリのサイズを小さくする必要がある。main.confファイルの中のchromosomes_unitsを10万に変更。
chromosomes_units = 100000
main.confファイルの内容は以下の通り。
> $cat main.conf
# 1.2 IDEOGRAM LABELS, TICKS, AND MODULARIZING CONFIGURATION
karyotype = /Users/user/Documents/circos_training/plectonema/chr_orf.txt
chromosomes_units = 100000
<<include ideogram.conf>>
<<include ticks.conf>>
<image>
<<include etc/image.conf>>
</image>
<<include etc/colors_fonts_patterns.conf>>
<<include etc/housekeeping.conf>>
上で読み込んでいるchr_orf.txtは以下のように記述して保存している。
chr - chr1 1 0 6176365 chr1
ゲノムが1つで環状なので、1行だけになる。6176365がゲノムサイズ。
そのほか5つのファイルを準備する。
IDEOGRAM.CONF
IDEOGRAM.POSITION.CONF
IDEOGRAM.LABEL.CONF
TICKS.CONF
BANDS.CONF
それぞれのファイルの中身は以下の通り。
> $cat IDEOGRAM.CONF
<ideogram>
#boxの情報
<spacing>
break = 0.5r
default = 0u #これを0にすることで環状になる
</spacing>
<<include ideogram.position.conf>>
<<include ideogram.label.conf>>
<<include bands.conf>>
radius* = 0.825r
</ideogram>
> $cat IDEOGRAM.POSITION.CONF
radius = 0.775r
thickness = 50p
fill = yes
fill_color = white
stroke_thickness = 2
stroke_color = black
> $cat IDEOGRAM.LABEL.CONF
show_label = yes
label_font = default
label_radius = dims(image,radius)-30p
label_size = 24
label_parallel = yes
label_case = lower
label_format = eval(sprintf("chr%s",var(label)))
> $cat TICKS.CONF
show_ticks = yes
show_tick_labels = yes
<ticks>
radius = dims(ideogram,radius_outer)
orientation = out
label_multiplier = 1e-4
color = black
size = 20p
thickness = 3p
label_offset = 5p
<tick>
spacing = .1u
show_label = no
</tick>
<tick>
spacing = .5u
show_label = yes
label_size = 18p
format = %d
</tick>
<tick>
spacing = 5u
show_label = yes
label_size = 40p
format = %d
</tick>
</ticks>
> $cat BANDS.CONF
show_bands = yes
fill_bands = yes
band_stroke_thickness = 2
band_stroke_color = white
band_transparency = 0
node.txtを解析を行うディレクトリ(/Users/user/Documents/circos_training/)に保存。ファイルの中身は下記の通り。
cat node.txt
chr - node1 node1 0 449142 chr1
chr - node2 node2 0 398826 chr2
chr - node3 node3 0 350896 chr3
chr - node4 node4 0 246509 chr4
chr - node5 node5 0 235822 chr5
chr - node6 node6 0 214352 chr6
chr - node7 node7 0 181306 chr7
chr - node8 node8 0 141627 chr8
chr - node9 node9 0 70584 chr9
chr - node10 node10 0 28980 chr10
実行する。
circos -conf main.conf
正常に終了するとpngファイルが出力される。
うまくできた。
今度はorf情報を追加してみる。orfの描画は1例としてtile機能で表現できると記載されている。
http://circos.ca/documentation/tutorials/2d_tracks/tiles/lesson
<plots> </plot>で囲んだ領域にorf情報を記述する。main.confは以下のようになる。
# 1.2 IDEOGRAM LABELS, TICKS, AND MODULARIZING CONFIGURATION
karyotype = /Users/user/Documents/circos_training/plectonema/chr_orf.txt
chromosomes_units = 100000
<<include ideogram.conf>>
<<include ticks.conf>>
<image>
<<include etc/image.conf>>
</image>
<plot>
type = tile
layers_overflow = hide
<plot>
file = sense_orf.txt
r1 = 0.95r
r0 = 0.95r
orientation = out
layers = 1 #レイヤー1
margin = 0.01u
thickness = 50
padding = 1
stroke_thickness = .5
stroke_color = black
</plots>
<plot>
file = antisense_orf.txt
r1 = 0.90r
r0 = 0.90r
orientation = out
layers = 1 #レイヤー2
margin = 0.01u
thickness = 50
padding = 1
stroke_thickness = .5
stroke_color = red
</plots>
</plots>
<<include etc/colors_fonts_patterns.conf>>
<<include etc/housekeeping.conf>>
orf情報は以下のようなファイルを準備した。
> $cat sense_orf.txt
chr1 130 1470 + color=black
chr1 1550 2029 + color=black
chr1 4431 5162 + color=black
...
chr1 5782854 5782925 + color=black
chr1 5936365 5936436 + color=black
chr1 5936365 5936436 + color=black
> $cat antisense_orf.txt
chr1 2080 2418 - color=red
chr1 2408 2698 - color=red
chr1 2761 4080 - color=red
...
chr1 5772159 5772229 - color=red
chr1 6077090 6077162 - color=red
chr1 6077090 6077162 - color=red
今回はゲノム配列を一旦RASTサーバーでorf解析し、生じたgtfファイルから加工して作った。加工はスクリプトを使わずともexcelですぐ修正できる。
gtfがない場合、UCSCからダウンロードする。
なければNCBIかかDDBJからgene bankファイルを落とし変換する。もちろん自前のperlのスクプトで処理してもいい。
IDEOGRAMのboxだが、orfのboxがあればなしでもいいかもしれない。だが視覚的には輪郭線んに相当するものがあったほうがコントラストもでて見やすくなる。そこで今回は細いIDEOGRAMをorfの外に描画する。IDEOGRAM.LABEL.CONFを以下のように修正した。
> $cat IDEOGRAM.LABEL.CONF
radius = 0.775r
thickness = 20p
fill = yes
fill_color = white
stroke_thickness = 1
stroke_color = black
実行する。
circos -conf main.conf
正常に終了するとpngファイルが出力される。
次はRNA seqデータを表示してみる。全部は表示しないが、このようなものを作成できる。
RNA seqデータ。
ゲノムの繰り返し配列(LASTを使った)
今の所使う予定はないが、ヒストグラムや散布図も描画することができる。
自分が必要な機能だけ図を描きながら学んでいくのが手っ取り早いと思われる。