Circos

2015 年 9 月 17 日 改訂

Circos は染色体上のオーソログ配置図 (右図) などを作る perl スクリプトです.初心者でも使えるように丁寧な解説がウェブサイトにあります.セットアップは,CPAN や Homebrew を使ってモジュールをインストールする必要があり,少し難しいです (Mac の場合).

インストール

いろいろ試した結果,私は以下に従ってインストールを行いました.
CircosAPI | Installing Circos on OS X (2013 年作成?)

上記のインストラクションは,以下 4 ステップからなります.

1. Xcode のインストールと Command Line Tool のダウンロード
2. Homebrew を用いた各種モジュールのインストール
3. GD のマニュアルインストール
4. circos のダウンロード

ここでは,問題のある箇所だけを説明しています.他は上記サイトに従ってインストールを行ってください.ください.


1. Xcode のインストール

上記サイトに従ってください.


2. Homebrew を用いた各種モジュールのインストール
homebrew をインストールします. その後各種モジュールを Homebrew を使ってインストールします. 使い方は「Homebrew の導入と使い方」を参照しました.

 Homebrew は親切なので,エラーメッセージをよく読んで,表示されている対応案を試してみると良いです.例えば,インストールの後に「brew doctor」をやるように指示が出ます.

Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.
You should probably `chown` them:
/usr/local/share/man/mann

この場合は,オーナーを変更します

[inouejun:~]$ echo $USER
inouejun
[inouejun:~]$ sudo chown inouejun /usr/local/share/man/mann

もう一度 brew doctor で問題点を確認します.

[JunINOUE:~]$ brew doctor
Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
/usr/local/lib/libfreetype.6.dylib
/usr/local/lib/libjpeg.8.dylib
/usr/local/lib/libpng16.16.dylib

この場合は,libfreetype.6.dylib など 3 ファイルを,sudo rm で削除します.

[JunINOUE:~]$ brew doctor
Warning: Broken symlinks were found. Remove them with `brew prune`:
/usr/local/lib/pkgconfig/libpng.pc
/usr/local/lib/libpng16.dylib
/usr/local/lib/libpng.la
/usr/local/lib/libpng.dylib
/usr/local/lib/libpng.a
/usr/local/lib/libjpeg.dylib
/usr/local/lib/libfreetype.dylib

この場合は,brew prune を入力します.

[JunINOUE:~]$ brew prune
Pruned 0 dead formula
Pruned 7 symbolic links and 1 directories from /usr/local
[JunINOUE:~]$ brew doctor
Your system is ready to brew.

パーミッションの変更
chmod を使ってパーミッションを変更します. chmod については,こちらなどを参考にしてください.

[JunINOUE:~]$ brew link freetype
Linking /usr/local/Cellar/freetype/2.5.2... Warning: Could not link freetype. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/freetype/2.5.2/include/freetype2/ttunpat.h
/usr/local/include/freetype2 is not writable. You should change its permissions.
[JunINOUE:~]$ sudo chmod -R a+w /usr/local/include/freetype2
[JunINOUE:~]$ brew link freetype
Linking /usr/local/Cellar/freetype/2.5.2... 53 symlinks created

 


Homebrew をつかって freetype などをインストールします.エラーがたくさん出るので,一つ一つ対応する必要があります.以下のように,エラーが出なくなるまで,指示に従ってエラー対策をやってください.

freetype や Perl modules (CPAN を使う) のインストールは割と時間がかかりました.

[JunINOUE:~]$ brew install freetype
Warning: freetype-2.5.2 already installed

[JunINOUE:~]$ brew install gd --with-freetype
Warning: gd-2.1.0 already installed

free type のインストール

[JunINOUE:~]$ brew install freetype
==> Installing freetype dependency: libpng
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libpng-1.5.17.moun
Already downloaded: /Library/Caches/Homebrew/libpng-1.5.17.mountain_lion.bottle.1.tar.gz
==> Pouring libpng-1.5.17.mountain_lion.bottle.1.tar.gz
Warning: Could not link libpng. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link libpng'
Possible conflicting files are:
/usr/local/bin/libpng-config -> /usr/local/bin/libpng16-config
/usr/local/include/pnglibconf.h ->
.....

この場合は,brew link libpng しても,以下のように conflicting file を消すように言われるだけです.

[JunINOUE:~]$ brew link libpng
Linking /usr/local/Cellar/libpng/1.5.17... Warning: Could not link libpng. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/libpng/1.5.17/bin/libpng-config
Target /usr/local/bin/libpng-config already exists. You may need to delete it.

このため,「brew install freetype」で表示された conflicting file をスクリプト (sudo rm FILENAME を羅列) を書いて除去します.問題がクリアされたら,以下のような表示がでます.

[JunINOUE:~]$ brew install gd --with-freetype
Warning: gd-2.1.0 already installed



3.GD のマニュアルインストール:
found gd.h header file in /usr/local/includegd.h

症状:GD-2.50 をダウンロードして「perl Makefile.PL」と入力したところ,以下のようなメッセージを得ました.

** WARNING: found gd.h header file in /usr/local/includegd.h, but it is expected at /usr/local/Cellar/gd/2.1.0/include/gd.h. This may cause compile errors! **
** Possible problems found **

こちらを参考に,libgd を一度アンインストールして, freetype とlibtiff 付きでもう一度インストールしました.

brew uninstall libgd
brew install libgd --with-freetype --with-libtiff --with-libvpx
brew info libgd

しかし,GD-2.50 「perl Makefile.PL」をやっても,gd.h header file のエラーメッセージが出ました.先ほどのサイトにあるように,以下の手順を行うと,Circos のインストールを完了することができました.

sudo cpan App::pmuninstall
sudo pm-uninstall GD
# アンインストールできない,と出ましたが,無視しました.
cpanm -f GD
# cpanm をインストールする必要があります.こちらに従ってください.



*Yosemite や Marvericks は以下に従って一気にインストールした方が楽かもしれません.
http://wangqinhu.com/install-gd-on-mavericks/


4. Circos のダウンロード
こちらから circos-0.67-7.tgz (2015 年 9 月の最新版) をダウンロードしてください.circos は perl script なのでコンパイル不要です.私は bin/circos ファイルの最初の行を以下のように変更してしまいました.

[inouejun:bin]$ which perl
/usr/bin/perl
[inouejun:bin]$ vi circos

#!/usr/bin/perl

=pod

=head1 NAME

....


確認操作

確認操作をやってみましょう.こちらを参考にしています.

example ディレクトリに入って以下を入力してください.

perl ../bin/circos -conf etc/circos.conf -outputfile mycircos.png

上のコマンドは,example に入っている run ファイル内部に書いてあります. このため,run ファイルの最初の行に perl の PATH を書き込めば,「./run」でも解析が始まるはずです.


より操作を快適に行う設定の説明です.circos-x.xx の README を参考にしています.
実行権限を与えます.

> chmod +x bin/circos

env にシムリンクを加えます.

> sudo su
> cd /bin
> ln -s /usr/bin/env env

パスを設定します.以下の行を .bashrc ファイルに追加してください.xxxx はディレクトリのアドレスです.

export PATH=/xxxx/circos-0.67-7/bin:$PATH

以下のようにより操作が簡便になります.

> cd circos-x.xx
> cd example
> ../bin/circos -conf etc/circos.conf

以下で動けば完璧です.

> circos


チュートリアル

Course

すべての hadout と silides,および例題ファイルは SESSION FILES の下にある files (circos-course-x.xx.tgz: 310MB) をダウンロードすると入手できます.
 各 Session はそれぞれ hadout と slide からなり,演習自体は Session 2 (session-2-preamble.pdf) から始まります.

すべてを理解するのは大変なので,私が作成した以下のコラム「簡単な例題: 2 種間でオーソログの位置を比較」を理解するには,
・Session 2 / Preamble – Practical Sessions
・Session 2 / Displaying and Formatting Ideograms
・Session 3 / Data Tracks の Lesson 4 - Links
あたりを一通りやってみれば良いと思います.

Tutorials

私の場合は,基本的な使い方を覚えた後で,他のオプションを調べるのに使っています.こちらの例題使ったチュートリアルです.章番号とディレクトリが対応しています.トップページは表示されるのが遅いかもしれませんが,内部はそれほど遅くないです.
 Lesson, Images, Configulation タブが対応しているので,Image を見て何ができるか把握しましょう.


簡単な例題: 2 種間でオーソログの位置を比較

Course の workstation/6/3 を参考にして,2 種のゲノム間で対応するオーソログを link で結ぶスクリプトを作成しました.
circosTEST.tar.gz

ダウンロードして得られるファイル類の他に,circos が正常にインストールされている必要があります (circos-0.xx ディレクトリにある etc ディレクトリ内部のファイルも使用します).

ダウンロードして得られたディレクトリ corcosTEST にターミナルから入って,

circos

と入力すると作図が開始します.circos はカレントディレクトリにあらかじめ作成したおいた etc/circos.conf をまず読み取ります.このため,いろいろセッティングは,主に circos.conf の記述を変更して行います.

私の場合,CMUBright-Roman フォントがないために,.svg ファイルが Illustrator で開きません (ページ下のコラム参照).このため,cirocs の実行と .svg ファイル内のフォント変換 (ArialMT に) する perl スクリプトを作成しました.以下をタイプすると,circos1.svg ファイルが得られます.

perl com.pl


DUPLICATION/link_.txt
種間で対応するオーソログ遺伝子と,それらの染色体上の位置を書いたファイルです.オーソログ対応関係は,遺伝子系統樹などによって判定するのが良いと思います.染色体上の位置は,私の場合は,"ENSP00000365770" のような Ensembl ID をもとにして Ensembl の Biomart を使って必要な情報を得ました (こちらを参照してください).

karyotype/karyotype.human.txt
Ensembl の Chromosome summary から Length の値を参照しました.ヒトや Drosophila などごく一部のファイルは,circos-0.xx/data/karyotype として配布されています.操作に慣れてきたら,直接このディレクトリを circos.conf で指定すれば良いでしょう.色の指定は以下の図を参照してください.

その他
HS_1 など染色体のフォントの大きさを調節するには,otherEtc/ideogram.conf ファイルにある,label_size を変更してください.


[i2:3_medakaTEST]$ circos
debuggroup summary 0.07s welcome to circos v0.64 2 May 2013
....
debuggroup summary,output 1.23s created SVG image ./circos.svg (32 kb)
[i2:3_medakaTEST]$


エラー対策

インストール
(とくに GD モジュール) はトラブルが多いようです.こちらにまとめられています.

Installing Circos on OS X - Zientzilaria (2012 年 1 月作成)

モジュールのマニュアルインストール.

Alternative way of installing Circos on OS X (2013 年 8 月作成)

Homebrew を使ったモジュールのインストール.

A Guide to Installing Modules (2001 年 11 月作成)

Perl モジュールのインストール.


Mavericks へのインストール
Mac 10.9.2 (Mavericks) にアップデートしたら,モジュール CD がインストールされていない,など理由でCircos が動かなくなっていました.brew doctor (以下の記事を参照) の指示に従った問題解決,およびこちらで紹介している一括インストール (gd.tar のダウンロードと ./install) を行ったら,無事動きました (2014 年 5 月).

[i2:bin]$ ./test.modules
ok Carp
ok Clone
..
fail GD is not usable (it or a sub-module is missing)
fail GD::Image is not usable (it or a sub-module is missing)
ok Getopt::Long
..
[i2:bin]$

Yosemite へのインストール
http://wangqinhu.com/install-gd-on-mavericks/




.svc ファイルが Illustrator で開けない
Circos は .svg と .png ファイルを出力しますが,Mavericks に update してから, .svg ファイルが Illusrator で開けなくなりました.以下のように Editor で .svg ファイルを開いてフォントを検索置換したら,開けるようになりました (2014 年 5 月).


なお,Adobe のサポートに聞いたところ,1. 新規ファイルから ファイル>配置 で開いてみる,2. .svg を .ai や .pdf などに変更して開いてみる,3. 以下のサイトに従って改訂を試みる,などの対応を紹介されました.しかし,うまく改善できませんでした.

http://helpx.adobe.com/jp/illustrator/kb/cpsid_91289.html
http://helpx.adobe.com/jp/illustrator/kb/cq12182357.html


リンク

Circos Google Group

頻繁に答えが返っているようです (2013 年 12 月).

Circos を使ってみよう

Linux へのインストール方法が紹介されています.

Homebrew 公式ホームページ

Homebrew の導入と使い方

GD with FreeType 2.x

場所を指定した configure のやり方.

RCircos

R を介した Circos の操作.パッケージ.日本語の紹介はこちら