macでインフォマティクス

macでインフォマティクス

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

CIRCOS トレーニング

circosは多様な機能を備えたゲノムのビジュアル化ツールである。類似ソフトにDNA plotter、genome diagram、snap geneなどがあるが、機能の豊富さではcircosが抜きん出てる。circos独自の機能として、遺伝子の相関や相同性を線で表現してlinkageを表す機能がある。この表現を使い、染色体間の相同性や転移、発現調節などを表現した様々な図が作成されている。例えばキーワード"circos"で画像検索するとわかる (search)。

circosは環状表現でなんでも描けるが、 難点として、機能が豊富な分使いこなすにはかなり勉強が必要であることが挙げられる。

 

インストール(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に続く。

 

 

web上でcircosのほぼ全機能を利用できるツールもあります。数時間で目的の絵を出せるよいツールです。

 

2021 7/23


 

http://tools.bat.infspire.org/circoletto/

f:id:kazumaxneo:20210809193215p:plain