macでインフォマティクス

macでインフォマティクス

NGS関連のインフォマティクス情報についてまとめています。

CIRCOS トレーニング

circosは多様な機能を備えたゲノムのビジュアル化ツールである。類似ソフトにDNA plotter、genome diagram、snap geneなどがあるが、機能の豊富さではcircosが抜きん出てる。circos独自の機能として、遺伝子の相関や相同性を線で表現してlinkageを表す機能が充実していることが挙げられる。

例えばキーワード"circos"で画像検索して確認してください。→をクリック(search)

 

難点として、機能が豊富な分使いこなすにはかなり勉強が必要である。

 

インストール(mac OS Sierra 10.12.2で検証した)

brew install circos

 

ランするには、circos.confファイルを作成してターミナルで下のように打つだけである。

circos -conf circos.conf

 この.confファイル中に図を書くのに必要なパラメータを記載する。circosはその情報に従ってランしているわけである。

confファイルには非常に多様な情報を記載することができるが、プログラムに慣れていないといきなり理解するのは難しい。circos公式サイトのチュートリアルを真似て、1つずつ理解していくのが一番である。一日頑張れば、欲しい図は大体かけると思う。

下にチュートリアルのリンクを載せておく。http://circos.ca/documentation/tutorials/ 

 

トレーニング1

circos.confの中身は、トレーニングページに公開されている。例えば練習1の

http://circos.ca/documentation/tutorials/quick_start/ticks_and_labels/configuration のページの # 1.1 MINIMUM CIRCOS CONFIGURATION ... ... <<include etc/housekeeping.conf>>

までを全てプレーンテキストエディタ(mi とか)に 貼り付ける。circos.confとして保存して、

circos -conf circos.conf

と実行する。 正常に終わるとpngsvgファイルができる。DNA plotterならマウスオーバーで 情報を表示したり編集したりできるが、他ソフトと異なりcircosの結果は画像で出力される。後から編集することはできない。練習ページ1の出力結果が下になる。

f:id:kazumaxneo:20170327101206j:plain

 

 

上の図のパラメータは以下の通り

default = 0.005r  #box間のスペース

radius = 0.90r  #サークルのサイズ

thickness = 20p  # boxの厚み

fill = yes #box内部のカラー

stroke_color = dgrey

stroke_thickness = 2p #box輪郭線の厚み

 

 

 

上のパラメータを

default = 0.05r

fill             = no

stroke_thickness = 10p

に変更すると、下のようになる。

f:id:kazumaxneo:20170327101348j:plain

 

 

circos.confの中の

# Chromosome name, size and color definition

の次の行に

karyotype = /Users/user/karyotype.human.txt

という行がある。このkaryotype.human.txtはあくまで

例だが、中身は以下のような構造をしている。

 

chr - hs1 1 0 249250621 chr1

chr - hs2 2 0 243199373 chr2

chr - hs3 3 0 198022430 chr3

.

.中略

.

band hs1 p36.33 p36.33 0 2300000 gneg

band hs1 p36.32 p36.32 2300000 5400000 gpos25

band hs1 p36.31 p36.31 5400000 7200000 gneg

band hs1 p36.23 p36.23 7200000 9200000 gpos25

.

.中略

.

band hsY q11.223 q11.223 22100000 26200000 gpos50

band hsY q11.23 q11.23 26200000 28800000 gneg

band hsY q12 q12 28800000 59373566 gvar

 

886行目まである(karyotype.human.txtはcircosのexampleファイルの中に入っている)。

circos.confのkaryotype = /Users/user/karyotype.human.txt

の行は、karyotype.human.txtのパスを指定している。karyotype.human.txtを保存したパスに修正しておく。パスの修正はその都度行う必要がある。はじめのうちはミスしやすいところなので注意する。

karyotype.human.txtはhttps://github.com/vigsterkr/circos/tree/master/data

からダウンロードできる。文字をコピペしてkaryotype.human.txtとして保存。

 

 

トレーニング2

各クロモソームにアノテーション情報や目盛りをつける。

 

http://circos.ca/documentation/tutorials/quick_start/ticks_and_labels/configuration

 

の3つのコードを

CIRCOS.CONF

IDEOGRAM.CONF

TICKS.CONF

それぞれ上の名称で保存する。実行はcircos -conf circos.conf

下の画像が出力されるはず。

f:id:kazumaxneo:20170327101611j:plain

CIRCOS.CONF の中の

 

<<include ideogram.conf>>

<<include ticks.conf>>

 

 の2行でIDEOGRAM.CONFとTICKS.CONFを読み込んでいる。

boxの情報はideogram.confファイルの中の

radius           = 0.90r

thickness        = 20p

fill             = yes

stroke_color     = dgrey

stroke_thickness = 2p

に書かれている。

 

アノテーション情報は

show_label       = yes

# see etc/fonts.conf for list of font names

label_font       = default 

label_radius     = dims(image,radius) - 60p

label_size       = 30

label_parallel   = yes

に書かれている。

 

 

 

目盛りはticks.confファイルの中の

show_ticks          = yes

show_tick_labels    = yes

 

<ticks>

radius           = 1r

color            = black

thickness        = 2p

 

でメモリの厚みなどを規定。さらに、下の方の

<tick> #1種類目

spacing        = 5u

size           = 10p

</tick>

 

<tick>#2種類目

spacing        = 25u

size           = 15p

show_label     = yes

label_size     = 20p

label_offset   = 10p

format         = %d

</tick>

 

 

の2つの<tick> </tick>の中で、2種類の目盛りを指定している。

f:id:kazumaxneo:20170327101703j:plain

 

上の図のように、5ポイントごとの目盛りと、25ポイントごとの目盛りが描画される。1つ目の目盛りは文字なしなので、

show_label     = yes

label_size     = 20p

label_offset   = 10p

format         = %d

の行は書かれていない。

 

 

肝心のクロモソーム情報はkaryotype.human.txtから読み込んでいる。karyotype.human.txtファイル冒頭の

 

chr - hs1 1 0 249250621 chr1

chr - hs2 2 0 243199373 chr2

chr - hs3 3 0 198022430 chr3

.

.中略

.

chr - hs22 22 0 51304566 chr22

chr - hsX x 0 155270560 chrx

chr - hsY y 0 59373566 chry

 

を元にboxの名前とサイズが決められている。

 

 

 

 

 

 

トレーニング3

各クロモソームのサイズや向き、場所を変える。

 

http://circos.ca/documentation/tutorials/quick_start/selection_and_scale/configuration

から

の3つのコード

CIRCOS.CONF

IDEOGRAM.CONF

TICKS.CONF

を保存する。実行はcircos -conf circos.conf

下の画像が出力されるはず。

f:id:kazumaxneo:20170327101801p:plain

CIRCOS.CONFファイルの中の

chromosomes_scale   = hs1=0.5r,/hs[234]/=0.5rn

でクロモソームのサイズを規定している。

 

chromosomes_reverse = /hs[234]/

でクロモソーム2、3、4の向きを逆転させている。

 

chromosomes_color   = hs1=red,hs2=orange,hs3=green,hs4=blue

でクロモソームの色を指定している。

 

chromosomes_radius  = hs4:0.9r

でクロモソーム4の位置を他より内側に指定している。

 

 

 

 

 

トレーニング4

各クロモソーム間のリンクを表示する練習。

 

http://circos.ca/documentation/tutorials/quick_start/links_and_rules/configuration

から

の3つのコード

CIRCOS.CONF

IDEOGRAM.CONF

TICKS.CONF

を保存する。

https://github.com/vigsterkr/circos/blob/master/data/5/segdup.txt

の文字をsegdup.txtとして保存する。

CIRCOS.CONFの58行目を

file          = segdup.txt

にパスを変更する。

 

実行はcircos -conf circos.conf

下の画像が出力されるはず。

f:id:kazumaxneo:20170327101826j:plain

 

 

 

今日はこんなところで。

トレーニング2に続く。