circos軟件使用初探

花了不到一個月的時間践磅,斷斷續(xù)續(xù)的把小駱駝的90%內(nèi)容過了一遍。在學習perl之前字管,知道了circos這個軟件亥至,可以幫助我們畫一些非常高大上的圈圈圖~但是這個軟件是基于perl的,現(xiàn)在大體了解一些perl后,決定還是學習一下circos的使用。畢竟畫出來的圖真的很漂亮抽活。。帆赢。比如:


圖片來源于官網(wǎng)

(一)什么是circos?

Circos是一個可視化數(shù)據(jù)和信息的軟件包。它以圓形layout可視化數(shù)據(jù)砰左,這使得Circos非常適合探索objects或位置之間的關系匿醒。Circos是創(chuàng)建高質(zhì)量信息圖形和插圖的理想選擇〔迹可以很好地控制圖形中的每個元素。
Circos很靈活溉痢。雖然最初設計用于基因組數(shù)據(jù)可視化僻造,但它可以從任何領域的數(shù)據(jù)創(chuàng)建圖形,從基因組學到可視化遷移到數(shù)學藝術孩饼。如果你有需要描述一個或多個尺度的關系或多層注釋的數(shù)據(jù)髓削,那么Circos就非常適合進行可視化。
Circos可以自動化镀娶。它由純文本配置文件控制立膛,這使得它很容易集成到數(shù)據(jù)采集、分析和報告的pipeline中(數(shù)據(jù)pipeline是一個多步驟的過程,其中數(shù)據(jù)由多個獨立的工具分析宝泵,每個工具將其輸出作為下一個步驟的輸入傳遞)好啰。

(二)circos的安裝

這里我只在ubuntu里進行安裝,更多操作系統(tǒng)平臺的安裝方法可以看官方教程:here

下載circos:http://circos.ca/software/download/
這里我下載的是0.69版的:

$ wget http://circos.ca/distribution/circos-0.69.tgz
$ tar xvfz circos-0.69.tgz
$ ln -s circos-0.69 current
$ ll
total 30848
drwxr-xr-x 1 yanfang yanfang     4096 Nov 10 14:24 ./
drwxr-xr-x 1 yanfang yanfang     4096 Nov 10 14:20 ../
drwxr-xr-x 1 yanfang yanfang     4096 Nov 10 14:24 circos-0.69/
-rw-r--r-- 1 yanfang yanfang 31574696 Feb 24  2016 circos-0.69.tgz
lrwxrwxrwx 1 yanfang yanfang       11 Nov 10 14:24 current -> circos-0.69/

我使用的是ubuntu20.04儿奶,還需要安裝:

$ sudo apt-get install libgd-dev #這個軟件包的名字在不同的ubuntu版本里對應的名字不一樣框往,安裝前要看一下,不然會報錯
#加入環(huán)境變量
$ export PATH=/home/yanfang/circos/circos-0.69/bin:$PATH
$ . ~/.bashrc
$ which circos
/home/yanfang/circos/circos-0.69/bin/circos
$ echo $PATH #檢查PATH里是否已經(jīng)成功添加了circos
/home/yanfang/circos/circos_0.69/circos-0.69/bin:.........

檢查module:

$ cd current
$ pwd
/home/yanfang/circos/current
$ bin/circos -modules
ok       1.38 Carp
ok       0.42 Clone
ok       2.63 Config::General
ok       3.75 Cwd
ok      2.167 Data::Dumper
ok       2.55 Digest::MD5
ok       2.85 File::Basename
ok       3.75 File::Spec::Functions
ok     0.2304 File::Temp
ok       1.51 FindBin
ok       0.39 Font::TTF::Font
ok       2.71 GD
ok        0.2 GD::Polyline
ok       2.49 Getopt::Long
ok       1.16 IO::File
ok      0.428 List::MoreUtils
ok       1.52 List::Util
ok       0.01 Math::Bezier
ok   1.999806 Math::BigFloat
ok       0.07 Math::Round
ok       0.08 Math::VecStat
ok    1.03_01 Memoize
ok       1.76 POSIX
ok       1.29 Params::Validate
ok       1.69 Pod::Usage
ok       2.05 Readonly
ok 2017060201 Regexp::Common
ok       2.84 SVG
ok       1.19 Set::IntSpan
ok     1.6611 Statistics::Basic
ok       2.62 Storable
ok       1.20 Sys::Hostname
ok       2.03 Text::Balanced
ok       0.59 Text::Format
ok      1.976 Time::HiRes

(三)下載示例數(shù)據(jù)以及腳本

下載示例數(shù)據(jù)闯捎,還是在上面下載頁面里:

解壓后有這些文件:

其中data文件夾里包含了各種的示例數(shù)據(jù)椰弊,tutorials文件夾里包含了各種的腳本。(因為circos是基于perl的軟件瓤鼻,而perl是基于腳本的編程語言秉版,所以不同于其他軟件,circos是需要腳本的茬祷,不是光有數(shù)據(jù)就可以的清焕。)

(四)畫一個最最基本的圈圈

可以先用tutorial里的1文件夾里的1子文件夾的腳本作為例子,體會一下牲迫。

首先看一下腳本里都有什么:

# 需要繪制的數(shù)據(jù)耐朴,這里是人類基因組,這個數(shù)據(jù)可以在我們前面下載好的data文件夾里查看
karyotype = data/karyotype/karyotype.human.txt

<ideogram>
# <ideogram>定義繪制數(shù)據(jù)的片段的位置盹憎、大小筛峭、標簽和其他屬性。這些片段通常是染色體陪每,但可以是任意的整軸(整數(shù)的軸)影晓。

<spacing>
#ideograms里的間距。后綴“r”表示相對值檩禾。它相對于圓周長而言的(例如間距是圓周長的0.5%)挂签。
default = 0.005r
#你可以增加某兩個片段的間距,比如用下面的代碼:
#<pairwise hsY;hs1>
#spacing = 20r
#</pairwise>
</spacing>#一般block都是成對的名字盼产,結尾用斜杠+名字代表這個block的結尾

# ideograms內(nèi)的徑向位置饵婆。這個值通常是相對的(“r”后綴)。
radius           = 0.90r
# ideograms的厚度, 它可以是絕對的(如像素戏售,“p”后綴)或相對的(“r”后綴)侨核。相對而言,它是圖像半徑的一部分灌灾。
thickness        = 20p
# Ideograms可以按 filled, outlined, 或both繪制搓译。填充時,顏色將取自核型文件中(karyotype file)的最后一個字段锋喜,或者由chroomes_colors設置些己。顏色名稱在http://www.circos.ca/documentation/tutorials/configuration/configuration_files里討論
# 當stroke_thickness=0p 或參數(shù)丟失, the ideogram是沒有輪廓的
fill             = yes  
stroke_color     = dgrey
stroke_thickness = 2p   

</ideogram>

################################################################
#剩余的內(nèi)容是標準的和必需的。它是從Circos中的默認文件中導入的。
#下面這些應該出現(xiàn)在每個Circos的conf文件中段标,并根據(jù)需要被覆蓋涯冠。最好使用相對路徑來設置這些文件。這樣怀樟,如果在當前目錄下沒有找到文件功偿,就會從Circos distribution中提取。

<image>
# Included from Circos distribution.
<<include etc/image.conf>>                
</image>

# RGB/HSV/LCH顏色定義往堡,顏色列表械荷,字體位置,填充模式虑灰。包含在 Circos distribution里.
#在舊版本的Circos中吨瞎,顏色、字體和圖案都是單獨包含的∧赂溃現(xiàn)在颤诀,這是通過一個中心文件完成的。確保沒有重復導入這些值对湃。

# *** DO NOT DO THIS ***
# <colors>
# <<include etc/colors.conf>>
# <colors>
# **********************
<<include etc/colors_fonts_patterns.conf>> 

# Debugging, I/O an dother system parameters崖叫,Included from Circos distribution.
<<include etc/housekeeping.conf>> 

上面的腳本是最最基本的一個circos繪制基因組的腳本(conf文件),它繪制了基因組的骨架(就是一個圈)拍柒。那么有了腳本心傀,如何運行?

一般的格式是:

$ perl circos的PATH路徑 -conf conf文件所在的位置 -outputfile 輸出文件名 -outputdir 輸出在哪個文件夾

比如我運行的代碼拆讯,我設置的是輸出圖在當前文件夾脂男,輸出的文件名是practice1_1.png:

$ perl /home/yanfang/circos/circos_0.69/circos-0.69/bin/circos -conf ./circos.conf -outputfile practice1_1.png -outputdir ./

然后會彈出很多行信息,最后會告訴你圖存在哪個文件夾里的:

......這里省略很多行
debuggroup output 2.30s created PNG image ./practice1_1.png (75 kb)
debuggroup output 2.31s created SVG image ./practice1_1.svg (13 kb)

打開你的當前文件夾种呐,會發(fā)現(xiàn)多出兩個圖(兩種不同格式的):

打開看一下宰翅,就可以看到我們剛才使用示例腳本畫出的染色體骨架了:

circos的軟件官網(wǎng)還有很多詳細的教程,后續(xù)會繼續(xù)學習并分享~

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
禁止轉載爽室,如需轉載請通過簡信或評論聯(lián)系作者汁讼。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阔墩,隨后出現(xiàn)的幾起案子掉缺,更是在濱河造成了極大的恐慌,老刑警劉巖戈擒,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異艰毒,居然都是意外死亡筐高,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柑土,“玉大人蜀肘,你說我怎么就攤上這事』粒” “怎么了扮宠?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狐榔。 經(jīng)常有香客問我坛增,道長,這世上最難降的妖魔是什么薄腻? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任收捣,我火速辦了婚禮,結果婚禮上庵楷,老公的妹妹穿的比我還像新娘罢艾。我一直安慰自己,他們只是感情好尽纽,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布咐蚯。 她就那樣靜靜地躺著,像睡著了一般弄贿。 火紅的嫁衣襯著肌膚如雪春锋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天挎春,我揣著相機與錄音看疙,去河邊找鬼。 笑死直奋,一個胖子當著我的面吹牛能庆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脚线,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼搁胆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了邮绿?” 一聲冷哼從身側響起渠旁,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎船逮,沒想到半個月后顾腊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡挖胃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年杂靶,在試婚紗的時候發(fā)現(xiàn)自己被綠了梆惯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡吗垮,死狀恐怖垛吗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烁登,我是刑警寧澤怯屉,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站饵沧,受9級特大地震影響锨络,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捷泞,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一足删、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锁右,春花似錦失受、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至码泞,卻和暖如春兄旬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背余寥。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工领铐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宋舷。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓绪撵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親祝蝠。 傳聞我的和親對象是個殘疾皇子音诈,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容