任何人!十分鐘掌握Circos圖繪制

寫在寫在前面的前面

我不喜歡調用外部程序,如果是簡單的事情。我覺得應該用最簡單的方式來實現。如果你只是想畫一個簡單的Circos圖,perl?不用的。R?不用的。網頁?不用的。復雜的配置文件?一樣不用的。
你只需要一個體積為 4,000KB+ 的 TBtools。

寫在前面

當矩形無法滿足你的時候,那么就掰彎他。
為了在一個中午的時間內寫一個所有人都可以秒速掌握的Circos圖繪制工具,事實上,我早已做好準備。詳細可見公眾號的歷史消息。
前期的準備,大體包括:

  1. JIGplot中SubPanel的掰彎
  2. 文本在笛卡爾坐標系中的重疊以及在極坐標系中的重疊處理(用了很長時間,想明白一個簡答的處理方式)
  3. 一個繪制Circos的需求

三者兼備,于是在前兩天學院每周一停電的中午,我就寫出了這個工具。工具是寫完了,然而能讓這個工具實現價值的數據,目前還在難產。我更新到社區,嗯。。。大體收獲了幾個圖,但目前似乎并沒有讓我驚艷的。
索性,就寫上一貼。我想試試看,

是否有可能讓Circos圖,正如基因家族分析一樣,變得任何人都輕易掌握和完成?。

進入主題

TBtools的所有工具,面向的都是絕對的生物學背景,所以每一個輸入格式的考量,都會盡可能地考慮到容易獲得或者容易整理。接下來逐點說明輸入文件格式,同時,給出一個所有人必然能直接重復出來的結果。

TBtools的Circos工具主界面如下


接下來逐點說明輸入
1.必須骨架文件,比如染色體長度文件,格式為,注意文本文件,制表符分隔

  1. 可選文件,比如基因展示在染色體的圈圖上,格式為,最后一列的顏色R,G,B值是可選的

    3.可選文件,比如展示一些區域之間的關聯關系,如共線性基因或者大片段區域,如,顏色是可選的,開始是#號的行,會被忽略

    點擊Add就可以增加Track,Track你是可以隨意增加,任何數目,直到你開心。點擊一次,出現一個Track的配置信息,

4.一個Track要對應一個文件(一個文件可以用多次,在不同的Track)
Track的類型有四種

  • Line 線圖
  • Bar 柱形圖
  • Heatmap 熱圖
  • Tile 畫矩形(在極坐標系下就變成Ring),主要是做注釋

前三種Track的輸入數據很簡單,區域帶上一個值



Tile的輸入數據有所不同,最后一列不是值,而是一個RGB字符串,如


  1. 多選框,設置Track的類型

  2. 主要是針對Tile以外的Track,設置無重疊滑窗之后匯總信息的模式,比如Sum,就是將一個區域的所有值加和,Mean就是取平均

  3. 設置滑窗的寬度,一般是10 000

其他四個摁鈕,點擊就是設置一些顏色
注意One Color Two Color Three Color 中
而One Color 對于除Tile外的所有Track的顏色生效
另外兩個Color 只對熱圖生效,用于生成熱階

寫的太多,不如一個示例操作

示例

下面的示例只以擬南芥的基因組展開,而我并沒有說,只能是一個基因組,或者只能是基因組信息。工具如何使用,是看個人,不是看開發者。

1.打開TBtools
2. 準備一個染色體長度文件

這是一個骨架,事實上,你可以自己編一個。這里我們假設,手上只有擬南芥的基因組序列,使用TBtools的Fasta Stater



拖進來基因組序列,設置輸出文件,點擊開始



用Excel打開,整理得到對應的每條染色體的長度信息
3. 準備一些track文件

假設我們手上也有擬南芥的基因注釋結果(.gff3)文件,那么我們可以看下擬南芥的基因密度
用TBtools的表格操作工具(或者Excel也可以)




使用Excel打開輸出文件,只保留著四列

增加一列,全部標記為 1


有了以上兩個信息,其實我們就可以做很多東西了,比如展示基因密度,首先是打開TBtools的Super Circos

設置輸入文件

然后點擊“Show My Circos Plot”,得到一個結果

這個沒啥用,因為根本沒顯示任何東西,我們剛才是對每一個基因寫了1,所以最終binning的結果,是Mean,并沒有意義
修改一下

于是基因密度的線圖就出來了

線圖不夠炫酷,我們畫個柱形圖
這個BInSize也放大一些


恩,柱形圖也不好看,要不就畫熱圖

看起來就像模像樣的,當然顏色可以隨便調

事實上,很多Track是可以組合的,比如

也可以是堆疊在一起

正負鏈放在一起還是比較丑的,事實上,你可以按照正負鏈分開,然后畫成兩個Track,這里就不展示了。

4. 展示一些有關聯的區域

比如共線性的一些基因,你通過各種方式得到基因對


那么可以在TBtools的幫助下,獲得LinkedRegion信息,
首先是獲取所有基因的位置信息

設置輸入的gff3文件,并設置兩個輸出文件


隨后只保留部分的列,

整理成Chr GeneID StartPos EndPos 格式

另存為文本制表符分隔
打開TBtools一個不錯的工具,將基因對信息,直接轉換為LinkedRegion信息


終于,我們得到這個文件

于是可以導入TBtools作為linkedInfo

于是Linked信息就展示出來了,雖然似乎沒什么用

一般你準備這些數據的過程中,有些linkedRegion是需要高亮的,比如一些基因對,那么可以在對應的lInkedInfo后面加顏色信息

保存文本文件,重新點擊Show My Circos Plot就可以了

配色是一個重要的問題....
這里只展示功能就不調了,有時候,你想要展示的是一個大的region

5.展示一些文本標簽上去

比如擬南芥的ARF基因家族....



然后我們保存一個文本文件,丟給TBtools就可以了



恩,都是黑色的,不太好看,所以我們在后面加一些顏色
比如我們順便改一下ID的標簽

于是顏色也修改了,。。配色看個人,不糾結



你以為這樣就完了,肯定不是!
看到

點擊這個彈出一些控制參數

這么多參數,你自己體會,這里就大概操作一下,搞的這張圖好像還可以看一樣,比如文本要移動出去

5.展示一些區域的注釋

你真的以為這樣就結束了嗎?當然不是!
你還可以配置一個文件,對region進行注釋,假設有QTL的區間對嗎?我來偽裝一個給你



也就是最后一列不再是數值,直接是顏色,然后...導入啊




然后你用面板的參數調整,按照參數,你應該會得到這么一張圖
6.似乎完了

你不會真的以為這樣就結束了?!當然不是啊。
還有JIGplot啊,不要忘了,這個圖是交互的啊
我鼠標拖以下,標簽就出來了


我右鍵一下,還可以改顏色啊

7.當然還有,但是我不想寫了....

事實上,基因密度什么的,你可以換成表達量?,GC含量等等,這些需要自己折騰了。

可能有人最關心的問題是,圖片導出



寫在最后

很多時候,看起來簡單的,或許很復雜;反之亦然。
Circos是一個Perl軟件,可以畫出極其復雜而炫酷的圖片。這個我可能暫時不會去追求(如果真的去追求那個,那么我肯定是要發CNS了吧...)
很多時候,很多生信分析,或者說圖形繪制,大多數人的需求是比較簡單的。正如perl的哲學一樣,可以很快速而方便地完成簡單的事情,而復雜的事情,努力一下,也不是不可以。
做生物學問題的朋友,其實并不可能有足夠的時間掌握各種工具,尤其是跟命令行操作相關的。即使使用Perl Circos繪制了一個圖,那下次呢?復雜的配置文件邏輯,不得不說太過麻煩。
Anyway,以上都是胡扯。
我只是想說,
畫一個圖,可能比較簡單,寫一個工具會比較麻煩,打一個GUI很 痛苦,而做一個所有人都能上手用的工具,。。。。

正如Horticulture Research主編程老師所說,既然你做了,那么就發表出來。
Done!

祝你們科研順利,這個工具的使用,暫時不會回復任何使用問題,因為我已經寫得很穩健了,按照這篇推文操作,不會有問題!
如果有問題,確實需要得到回復。歡迎大額支持我們課題組成員的戶外擴展活動。
詳細請訪問課題組網站 http://xialab.scau.edu.cn/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374