taoyan:R語言中文社區(qū)特約作家,偽碼農(nóng),R語言愛好者,愛開源。 個人博客: https://ytlogos./
這篇文章主要來自于Circos的安裝和簡單使用,可以說是十分詳細了。當然最好的文檔還是官方提供的文檔Circos。 Circos的配置文件準備Circos的使用主要通過輸入一個配置文件,改配置文件的主要內(nèi)容以各種區(qū)塊表示,大區(qū)塊中可以包含小區(qū)快。區(qū)塊中以”變量=值”的方式來進行參數(shù)的設(shè)定: 有些配置文件不需要改動,比如顏色、字體等,一般將這類信息保存到一個獨立的配置文件中。只需要在主配置文件中聲明包含這些獨立的配置文件名及其路徑,即表示使用這些配置信息。最常用的放置到主配置文件尾部的數(shù)行。 設(shè)置生成的圖片參數(shù)
設(shè)置顏色、字體、填充模式的配置信息、系統(tǒng)與debug參數(shù)Circos的使用參數(shù)-version查詢Circos版本-modules檢測perl模塊-conf 輸入主文件配置-outputdir 設(shè)置輸出文件名,該參數(shù)的值以.png為后綴-svg生成svg結(jié)果文件-nosvg不生成svg結(jié)果文件
Circos配置文件詳解ideogram block顯示染色體將染色體在圈圖上展示出來,代表每個染色體的圖形,稱為ideogram。將以下配置信息放入一個單獨的配置文件中,命名為ideogram.conf ##設(shè)定ideogram之間的間隙 #設(shè)置圈圖染色體之間的間隙大小,以下設(shè)置為每個間隙大小為周長的0.5% default = 0.005r#也可以設(shè)置指定的兩條染色體之間的間隙 # #以下設(shè)定為兩條染色體之間的間隙為圓的20度角 #spacing = 20r ###設(shè)定ideogram#設(shè)定ideogram的位置,一下設(shè)定為ideograms在圖離圓心的90%處radius = 0.90r#設(shè)定ideograms是否填充顏色。填充的顏色取決于karyotype指定的文件的最后一列fill = yes#設(shè)定ideograms輪廓的顏色及其厚度。如果沒有該參數(shù)或設(shè)定其厚度為0,則表示沒有輪廓stroke_color = dgreystroke_thickness = 2p## 設(shè)定label的顯示信息#設(shè)定是否顯示label,label對應(yīng)著karyotype文件的第四列,如果其值為yes,則必須要有l(wèi)abel_radius參數(shù)來設(shè)定label的位置,否則會報錯無法生成結(jié)果show_label = yes# 設(shè)定label的字體label_font = default# 設(shè)定label字體大小label_size = 40# 設(shè)定label的字體方向,yes是易于瀏覽的方向label_parallel = yes
ticks block以刻度形式顯示染色體大小將染色體的大小以刻度的形式在圈圖上展示出來,將以下配置信息放入到一個獨立的配置文件中,命名為ticks.conf Circos配置文件 發(fā)表于 2018-07-20 | 更新于 2018-08-02 | 分類于 可視化 | | 熱度 ℃ 字數(shù)統(tǒng)計 3,215 | 閱讀時長 13markCircos的配置文件準備Circos的使用主要通過輸入一個配置文件,改配置文件的主要內(nèi)容以各種區(qū)塊表示,大區(qū)塊中可以包含小區(qū)快。區(qū)塊中以”變量=值”的方式來進行參數(shù)的設(shè)定:有些配置文件不需要改動,比如顏色、字體等,一般將這類信息保存到一個獨立的配置文件中。只需要在主配置文件中聲明包含這些獨立的配置文件名及其路徑,即表示使用這些配置信息。最常用的放置到主配置文件尾部的數(shù)行設(shè)置生成的圖片參數(shù)>設(shè)置顏色、字體、填充模式的配置信息、>系統(tǒng)與debug參數(shù)>Circos的使用參數(shù)-version查詢Circos版本-modules檢測perl模塊-conf 輸入主文件配置-outputdir 設(shè)置輸出文件名,該參數(shù)的值以.png為后綴-svg生成svg結(jié)果文件-nosvg不生成svg結(jié)果文件Circos配置文件詳解ideogram block顯示染色體將染色體在圈圖上展示出來,代表每個染色體的圖形,稱為ideogram。將以下配置信息放入一個單獨的配置文件中,命名為ideogram.conf##設(shè)定ideogram之間的間隙 #設(shè)置圈圖染色體之間的間隙大小,以下設(shè)置為每個間隙大小為周長的0.5% default = 0.005r#也可以設(shè)置指定的兩條染色體之間的間隙 # #以下設(shè)定為兩條染色體之間的間隙為圓的20度角 #spacing = 20r ###設(shè)定ideogram#設(shè)定ideogram的位置,一下設(shè)定為ideograms在圖離圓心的90%處radius = 0.90r#設(shè)定ideograms是否填充顏色。填充的顏色取決于karyotype指定的文件的最后一列fill = yes#設(shè)定ideograms輪廓的顏色及其厚度。如果沒有該參數(shù)或設(shè)定其厚度為0,則表示沒有輪廓stroke_color = dgreystroke_thickness = 2p## 設(shè)定label的顯示信息#設(shè)定是否顯示label,label對應(yīng)著karyotype文件的第四列,如果其值為yes,則必須要有l(wèi)abel_radius參數(shù)來設(shè)定label的位置,否則會報錯無法生成結(jié)果show_label = yes# 設(shè)定label的字體label_font = default# 設(shè)定label字體大小label_size = 40# 設(shè)定label的字體方向,yes是易于瀏覽的方向label_parallel = yesticks block以刻度形式顯示染色體大小將染色體的大小以刻度的形式在圈圖上展示出來,將以下配置信息放入到一個獨立的配置文件中,命名為ticks.conf
links block以曲線連接顯示基因組內(nèi)部之間的聯(lián)系基因組內(nèi)部不同的序列區(qū)域之間有聯(lián)系,將之使用線條進行連接,從而展示到圈圖上,常見的是重復(fù)序列之間的連接,將以下配置信息放入到一個獨立的配置文件中,命名為links.conf Circos配置文件 發(fā)表于 2018-07-20 | 更新于 2018-08-02 | 分類于 可視化 | | 熱度 ℃ 字數(shù)統(tǒng)計 3,215 | 閱讀時長 13markCircos的配置文件準備Circos的使用主要通過輸入一個配置文件,改配置文件的主要內(nèi)容以各種區(qū)塊表示,大區(qū)塊中可以包含小區(qū)快。區(qū)塊中以”變量=值”的方式來進行參數(shù)的設(shè)定:有些配置文件不需要改動,比如顏色、字體等,一般將這類信息保存到一個獨立的配置文件中。只需要在主配置文件中聲明包含這些獨立的配置文件名及其路徑,即表示使用這些配置信息。最常用的放置到主配置文件尾部的數(shù)行設(shè)置生成的圖片參數(shù)>設(shè)置顏色、字體、填充模式的配置信息、>系統(tǒng)與debug參數(shù)>Circos的使用參數(shù)-version查詢Circos版本-modules檢測perl模塊-conf 輸入主文件配置-outputdir 設(shè)置輸出文件名,該參數(shù)的值以.png為后綴-svg生成svg結(jié)果文件-nosvg不生成svg結(jié)果文件Circos配置文件詳解ideogram block顯示染色體將染色體在圈圖上展示出來,代表每個染色體的圖形,稱為ideogram。將以下配置信息放入一個單獨的配置文件中,命名為ideogram.conf##設(shè)定ideogram之間的間隙 #設(shè)置圈圖染色體之間的間隙大小,以下設(shè)置為每個間隙大小為周長的0.5% default = 0.005r#也可以設(shè)置指定的兩條染色體之間的間隙 # #以下設(shè)定為兩條染色體之間的間隙為圓的20度角 #spacing = 20r ###設(shè)定ideogram#設(shè)定ideogram的位置,一下設(shè)定為ideograms在圖離圓心的90%處radius = 0.90r#設(shè)定ideograms是否填充顏色。填充的顏色取決于karyotype指定的文件的最后一列fill = yes#設(shè)定ideograms輪廓的顏色及其厚度。如果沒有該參數(shù)或設(shè)定其厚度為0,則表示沒有輪廓stroke_color = dgreystroke_thickness = 2p## 設(shè)定label的顯示信息#設(shè)定是否顯示label,label對應(yīng)著karyotype文件的第四列,如果其值為yes,則必須要有l(wèi)abel_radius參數(shù)來設(shè)定label的位置,否則會報錯無法生成結(jié)果show_label = yes# 設(shè)定label的字體label_font = default# 設(shè)定label字體大小label_size = 40# 設(shè)定label的字體方向,yes是易于瀏覽的方向label_parallel = yesticks block以刻度形式顯示染色體大小將染色體的大小以刻度的形式在圈圖上展示出來,將以下配置信息放入到一個獨立的配置文件中,命名為ticks.conf#是否顯示ticksshow_ticks = yes#是否顯示ticks的labelsshow_ticks_labels = yes#設(shè)定ticks##ticks的設(shè)置#設(shè)定ticks的位置radius = 1r#設(shè)置ticks的顏色color = black#設(shè)置ticks的厚度thickness = 2p#設(shè)置ticks'label的值的計算,將改刻度對應(yīng)的值*multiplier得到展示到圈圖上的label值multiplier = 1e-6#label值的格式化方法,%d表示結(jié)果為整數(shù);%f表示結(jié)果為浮點數(shù);%.nf表示結(jié)果保留小數(shù)點后n位format = %d## 以下設(shè)置了2個ticks,前者是小刻度,后者是大刻度#設(shè)置每個刻度代表的長度,若其單位為u,則必須要設(shè)置chromosome_units參數(shù),比如設(shè)置chromosome_units=1000000,則如下5u表示每個刻度代表5M長度的基因組序列spacing = 5u#設(shè)置tick的長度size = 10pspacing = 25usize = 15p#由于設(shè)置的是大刻度,以下用于設(shè)置展示ticks'labelshow_label = yes#設(shè)置ticks'label字體大小label_size= 20p#設(shè)置ticks'label離ticks的距離label_offset = 10pformat = %dlinks block以曲線連接顯示基因組內(nèi)部之間的聯(lián)系基因組內(nèi)部不同的序列區(qū)域之間有聯(lián)系,將之使用線條進行連接,從而展示到圈圖上,常見的是重復(fù)序列之間的連接,將以下配置信息放入到一個獨立的配置文件中,命名為links.conf
plots block以直方圖形式展示數(shù)據(jù)將基因組序列中的GC含量、表達量等以直方圖的形式在圈圖中展示出來,將以下配置信息放入到一個單獨的配置文件中,命名為plots_histogram.conf,下面繪制了兩個直方圖,并分別添加背景或網(wǎng)格線。 #設(shè)定直方圖type = histogram#數(shù)據(jù)文件路徑,4列#chromosome start end data# chrA01 0 2000000 155.0000file = data/Bna1234.hist.txt#設(shè)置直方圖的位置,r1要比r0大,直方圖的方向默許為向外r1 = 0.88rr0 = 0.81r#直方圖的填充顏色fill_color = vdgrey#默認下直方圖輪廓厚度為1px,若不需要輪廓,將其設(shè)置為9,或者直接在etc/tracks/histogram.conf中修改thickness = 0p#直方圖是由bins所構(gòu)成的,若bins在坐標軸上不相連,最好設(shè)置不要將其bins連接到一起,例如:# chrA01 10 20 0.5# chrA01 30 40 0.25#上述數(shù)據(jù)設(shè)置值為yes和no時,圖形是不一樣的extend_bin = no#以下添加rule,不在chrA01上添加直方圖>#設(shè)置直方圖的背景顏色show = datacolor = vvlgreycolor = vlgreyy0 = 0.2ry1 = 0.5rcolor = lgreyy0 = 0.5ry1 = 0.8rcolor = greyy0 = 0.8rtype = histogram#此處直方圖的數(shù)據(jù)文件第4列是由多個由逗號分隔的數(shù)值,需要制作疊加的直方圖file = data/Bna.stacked.txtr1 = 0.99rr0 = 0.92r#給4個值按順序填充不同的顏色fill_color = chrA01,chrA02,chrA03,chrA04thickness = 0porientation = inextend_bin = no>#在直方圖中添加坐標網(wǎng)格線show = datathickness = 1color = lgreyspacing = 0.1rspacing = 0.2rcolor = greyposition = 0.5rcolor = redposition = 0.85rcolor = greenthickness = 2
plots block以熱圖形式顯示數(shù)據(jù)基因組一個區(qū)域內(nèi)有多組數(shù)據(jù)時,適合以熱圖的形式顯示數(shù)據(jù),比如基因表達量,將以下配置信息放入一個單獨的配置文件中,命名為plots_heatmap.conf #繪制heatmaptype = haetmap#設(shè)置數(shù)據(jù)文件路徑,文件有5列# chrID start end data class# chrA01 0 1999999 113.0000 id=chrA01# chrA01 0 1999999 40.0000 id=chrA04# chrA01 0 1999999 20.0000 id=chrA02# chrA01 0 1999999 7.0000 id=chrA03file = data/Bna.heatmap.txt#設(shè)置圖形所處位置r1 = 0.89rr0 = 0.88r#設(shè)置熱圖的顏色,顏色為chrA01,以及相應(yīng)帶不同透明程度的5中顏色color = chrA01_a5,chrA01_a4,chrA01_a3,chrA01_a2,chrA01_a1,chrA01#設(shè)定scale_log_base參數(shù),計算顏色的方法如下:# f = (value - min)/(max - min)熱圖中每個方塊代表著一個值,并給予相應(yīng)的顏色標示,一系列的值[min,max]對應(yīng)一系列的顏色c[n],i=0..N#n=N*f**(1/scale_log_base)#若scale_log_base = 1,則數(shù)值與顏色的變化是線性的#若scale_log_base > 1,則顏色向小方向靠近#若scale_log_base < 1,則顏色向大方向靠近scale_log_base="">>#僅顯示id = chrA01的數(shù)據(jù)condition = var(id) ne 'chrA01'show = no type = heatmap file = data/Bna.heatmap.txt r1 = 0.90r r0 = 0.89r color = chrA02_a5,chrA02_a4,chrA02_a3,chrA02_a2,chrA02_a1,chrA02 scale_log_base = 5 > condition = var(id) ne 'chrA02' show = no type = heatmap file = data/Bna.heatmap.txt r1 = 0.91r r0 = 0.90r color = chrA03_a5,chrA03_a4,chrA03_a3,chrA03_a2,chrA03_a1,chrA03 scale_log_base = 5 > condition = var(id) ne 'chrA03' show = no type = heatmap file = data/Bna.heatmap.txt r1 = 0.92r r0 = 0.91r color = chrA04_a5,chrA04_a4,chrA04_a3,chrA04_a2,chrA04_a1,chrA04 scale_log_base = 5 > condition = var(id) ne 'chrA04' show = no
plots block以文本形式顯示數(shù)據(jù)若需要在圈圖上顯示基因名稱,需要以文本形式展示,將以下配置信息放入到一個單獨的配置文件中,命名為plots_text.conf #表示文字type = text#數(shù)據(jù)文件路徑file = data/Bnagene.labels.txt#顯示在圖形中的位置r1 = 0.8rr0 = 0.6r#標簽的字體label_font = light#標簽大小label_size = 12p #文字邊緣的大小,設(shè)置較小則不同單詞就可能會連在一塊#padding - text margin in angular direction#rpadding - text margin in radial directionrpadding = 5p#設(shè)置是否需要在label前加一條線用來指出label的位置show_links = nolink_dims = 0p,2p,5p,2p,2plink_thickness = 2plink_color = black>#設(shè)置rule,對label中含有字母a或b的特異性顯示condition = var(value) =~ /a/ilabel_font = boldflow = continuecondition = var(value) =~ /b/icolor = blue
rules block放置常用的規(guī)則配置上述配置文件中,很多track沒有在1號染色體上展示,需要設(shè)置如下規(guī)則信息,將之寫入到文件exclude.chrA01.rule中 condition = on(chrA01)show = no
主配置文件在主配置文件circos.conf中,包含以上所有需要的配置文件信息,則可以會出所需要的track,此外,可以設(shè)置一些全局設(shè)置。 #指定染色體組型的文件,該文件有7列:#chr - ID LABEL START END COLOR#chr - chrA01 1 0 2154635789 chr1#chr - chrA02 2 0 2451545665 chr2karyotype = data/karyotype/karyotype.Bna.txt#設(shè)置長度單位,以下設(shè)置表示1M長度的序列代表為1uchromosomes_units = 1000000#默認設(shè)置下是將karyotype文件中所有染色體都展示出來,當然也可以根據(jù)需要僅展示指定的染色體,使用如下的參數(shù)設(shè)置:chromosomes_display_default = no#以下參數(shù)設(shè)置指定的chromosome用于展示到圈圖中,//中是一個正則表達式,匹配的chromosomes用于展示到圈圖中,其匹配的對象是karyotype文件中的第3列,也可以直接列出需要展示的chromosomes,例如:chrA01;chrA02;chrA03;chrA04;chrA05chromosomes = /chrA0[1-5]$/#以下設(shè)置各個ideograms的大小,其總長度為1,chrA01的長度為0.5,chrA02,chrA03,chrA04這三條染色體的總長度為0.5,并且這三條染色體的長度是均勻分布的,注意前者的單位是r,后者使用了正則表達式匹配多條染色體,其單位于是為rnchromosomes_scale = chrA01=0.5r,/chrA0[234]/=0.5rn#使chrA02、chrA03和chrA04在圈圖上展示的方向是相反的chromosomes_reverse = /chrA0[234]/#設(shè)置各個ideograms的顏色chromosomes_color= chrA01=red,chrA02=orange,chrA03=green,chrA04=blue#默認下在ideogram block中統(tǒng)一shezhileideograms的位置,可以使用此參數(shù)調(diào)整指定ideograms的位置chromosomes_radius = chrA04:0.9r#chromosomes_radius = chrA02:0.9r;chrA03:0.8r;chrA04:0.7r#karyotype文件最后一行指定了各個chromosomes的顏色,而使用chromosomes_color參數(shù)也能修改顏色。使用如下方法進行顏色修改則更加直觀,以下方式是對顏色重新定義。chr1,chr2,chr3,chr4對應(yīng)著karyotype文件最后一行的值,代表著顏色的類型。此處使用color block來對其進行重新定義。注意重新定義的時候需要加符號*chr1* = redchr2* = orangechr3* = greenchr4* = blue###繪制plot圖,將上述設(shè)置好的配置文件添加進來>>>>>>##########################################################插入必須的但不常修改的標準參數(shù)>>>
使用Circos命令繪圖
先安裝 ##第一步先去官網(wǎng)下載最新版本$ cd circos$ tar zxf circos-tutorials-0.66.tgz$ mv data data.bak$ mv circos-tutorials-0.66/data/ ./
所有文件包括配置文件、數(shù)據(jù)文件等放置于當前目錄文件夾中,運行circos繪圖
$ ./bin/circos -conf circos.conf
|