基因組circos圖繪制流程記錄

一、Circos安裝

conda 安裝

conda create --name circos

conda install circos

二、circos輸入文件準(zhǔn)備

前提必須文件:參考基因組文件,基因組注釋文件(gff3), CDS文件

1、染色體信息文件

染色體信息文件格式:

前2列:固定為`chr -`,表明我們要畫染色體輪廓

第3列:染色體ID,像身份證號,`注意:如果ID中除了“_”有其他符號一律會報錯`

第4列:染色體Label,像人名,會顯示在圖上而ID不會

第5列:染色體起始位置第6列:染色體終止位置

第7列:染色體的顏色,chr1-4,chry代表的都是circos內(nèi)置顏色的名稱

chr-Chr1 C1030427671chr1

chr-Chr2 C2019698289chr2

chr-Chr3 C3023459830chr3

2、間隔區(qū)間基因密度文件

2.1 統(tǒng)計分隔區(qū)間,格式如下:

第1列:染色體ID第2列:起始分隔點(diǎn)第3列:終止分割點(diǎn)

-w: windowSize:要根據(jù)你基因組的大小,動態(tài)調(diào)整

bedtools sort:由于后面要使用bedtools做一些統(tǒng)計,因此需要排序,不過默認(rèn)也是排好的,以防萬一。

2.2 統(tǒng)計基因密度,格式如下:

第1列:染色體ID

第2列:在染色體上的起始位置

第3列:在染色體上的終止位置

第4列:區(qū)間內(nèi)基因的數(shù)目

Chr1? ? 0? 100000? 29

Chr1? ? 100000? 200000? 36

Chr1? ? 200000? 300000? 31

2.3 統(tǒng)計GC含量,格式如下:

2.4 統(tǒng)計重復(fù)序列密度,格式如下:

grep '[[:blank:]]similarity[[:blank:]]' zhujieshu.repeat.gff3 | awk '{print $1"\t"$4"\t"$5}'| bedtools coverage -a zhujieshu.chr.fasta.100kb -b - | cut -f 1-4 > zhujieshu.repeat.density.txt

2.5 共線性文件,格式如下:

第1列:染色體ID,指連線起始的染色體

第2列:連線起始的染色體的起始位置

第3列:連線起始的染色體的終止位置

第4列:染色體ID,指連線的終止染色體

第5列:連線終止的染色體的起始位置

第6列:連線終止的染色體的終止位置

Chr1? ? 6265416 6266937 Chr1? ? 27686992? ? 27688127

Chr1? ? 6331398 6333743 Chr1? ? 27759973? ? 27761588

三、物種間共線性分析

共線性分析可以很好地解釋進(jìn)化關(guān)系和多倍化事件。主要用的是Python版McScan(jcvi工具包),這個包很強(qiáng)大,是從MCScanx升級而來的基因組共線性分析軟件。

安裝流程(踩坑記錄):

使用conda安裝

conda create -y -c bioconda -n jcvi jcvi

pip install?jcvi

之后 運(yùn)行過程中會報錯,原因是缺少LAST

通過conda安裝LAST

conda install LAST

然后運(yùn)行之仍然會報錯,原因是缺少LaTex

通過conda安裝LaTex

conda install?texlive-core

恭喜你!安裝的問題就解決啦,感謝conda!

后面就是共線性流程:

python -m jcvi.formats.gff bed --type=mRNA --key=ID genome_file/zhujieshu.gene.gff3 -o zhujieshu.bed

如果沒有CDS文件,就自己提取

gffread in.gff3 -g ref.fa -x cds.fa

python -m jcvi.compara.catalog ortholog qiuqie zhujiashu?

python -m jcvi.compara.synteny screen --minspan=30 --simple qiuqie.zhujieshu.anchors qiuqie.zhujieshu.anchors.new

python simple2links.py qiuqie.zhujieshu.anchors.simple? ? ?生成qiuqie.zhujieshu.anchors.simple_link.txt文件就可因用來畫圈圖了

四、circos配置文件畫圖

有了前面的準(zhǔn)備文件以后,我們就可以配置文件,進(jìn)行畫圖了

#指定染色體文件(絕對/相對路徑+文件名)

karyotype = chr.info.txt

#↓↓↓###########################################################

chromosomes_units = 1000000? #定義最小單位,即100萬bp為一個units,即1u = 100w,后面刻度線都是基于此的操作,如果染色體長度都在5kw以上,推薦用100w,否則推薦用10w

<colors>? #原來的顏色太丑了,重新定義顏色,注意重新定義顏色都需要加上*號

chr1* = red

chr2* = orange

chr3* = green

chr4* = blue

</colors>

#↑↑↑###########################################################

<links>

<link>

file? ? ? ? ? = zhujieshu_qiuqie/qiuqie.zhujieshu.anchors.simple_link.txt? #指定存放內(nèi)部連線數(shù)據(jù)的文件

radius? ? ? ? = 0.7r? ? ? ? ? ? ? ? #radius定義內(nèi)部連線區(qū)域的大小,表示從0-0.7r均為連線區(qū)域,預(yù)留出位置為了給其他圖形留出空間

bezier_radius = 0r? ? ? ? ? ? #控制連線的彎曲程度,數(shù)值越大越彎曲,范圍為0r-1.5r

crest = 1? #簡單理解為彎曲點(diǎn)的位置,越大彎曲點(diǎn)越向中中靠攏。由外到內(nèi)數(shù)值依次減小,范圍為0-1.25

thickness? ? = 2? #連線的粗細(xì)

#以下為開啟絲帶模式,其寬度與坐標(biāo)差值相同,當(dāng)然為了繪制出明顯的絲帶效果,你要人為的去夸大坐標(biāo)差值才能明顯顯示出來

ribbon = yes

flat = yes

##stroke_thickness = 2

<rules>? #用來做條件判斷的標(biāo)簽,圈圖各式各樣就在于rule的不同使用

<rule>

condition? ? = var(intrachr)? ? ? ? #condition表示條件,=后面為具體的動作。此為獲取在同一條染色體間的連線

show? ? ? ? ? = no? ? ? ? ? ? ? ? ? #規(guī)定在同一條染色體間的連線不展示

</rule>

<rule>

condition? ? = 1? ? ? ? ? ? ? ? ? #condition = 1表示永遠(yuǎn)成立

color? ? ? ? = eval(var(chr1))? ? #連線的顏色與對應(yīng)的染色體的顏色相同

flow? ? ? ? ? = continue? ? ? ? ? #當(dāng)上面的rule執(zhí)行完之后繼續(xù)執(zhí)行下面的rule,可以改為stop

</rule>

<rule>

condition? = max(var(size1),var(size2)) < 50kb? # 如果連線端點(diǎn)的值小于50kb則不顯示,這個我不是特別確定。

show? ? ? = no

</rule>

</rules>

</link>

</links>

<plots>

#GC content

<plot>

type = line

stroke_thickness = 1

file = genome_file/qiuqie_zhujieshu.GC.density.txt

fill_color = green

stroke_color = black

glyph = circle

glyph_size = 5

#max = 100

min = 30000

r1 = 0.82r

r0 = 0.72r

</plot>

#gene density

<plot>

type = histogram

#stroke_thickness = 1

file = genome_file/qiuqie_zhujieshu.gene.density.txt

fill_color = blue

#stroke_color = black

glyph = circle

glyph_size = 5

#max = 100

#min = 0

r1 = 0.92r

r0 = 0.82r

</plot>

<plot>

type = heatmap

#stroke_thickness = 1

file = genome_file/qiuqie_zhujieshu.repeat.density.txt

fill_color = blue

#stroke_color = black

glyph = circle

glyph_size = 5

#max = 100

#min = 0

r1 = 0.97r

r0 = 0.92r

</plot>

</plots>

#-----------------------------------------------------------------------------------

<ideogram>? ? ? ? ? ? ? ? #這是定義染色體相關(guān)參數(shù)的標(biāo)簽,以</ideogram>結(jié)尾,其中包括要設(shè)置的參數(shù)

<spacing>? ? ? ? ? ? ? ? #定義染色體間隙寬度的標(biāo)簽,以</spacing>,其中包括要設(shè)置的參數(shù)

default = 0.005r? ? ? ? ? #r指的是圓的周長,設(shè)置0.5%圓的周長為間隙

#<pairwise hsY;hs1>? ? ? #可以用<pairwise>標(biāo)簽特別指定某些染色體的間隙(用的是ID),因?yàn)樵诖蠖鄶?shù)文章中,都會留一個大間隙,來放label

#spacing = 20r? ? ? ? ? ? #這里20r表示是相對default = 0.005r的20倍,也就是10%的圓的周長

#</pairwise>? ? ? ? ? ? ? #標(biāo)簽都要以</>結(jié)尾,

</spacing>? ? ? ? ? ? ? ? #間隙定義結(jié)束,下面是對染色體樣式的調(diào)整

radius? ? ? ? ? = 0.90r? #輪廓的位置,這里的r指的是半徑,由圓心到圓周上范圍依次是0-1r,,超出部分將不再顯示。

thickness? ? ? ? = 20p? ? #染色體整體的寬度,這里p指的是像素大小,也可以用r表示,1r=1500p

fill? ? ? ? ? ? = yes? ? #是否為染色體填充顏色,如果為yes,自動用第七列定義的顏色著色

stroke_color? ? = dgrey? #染色體邊框的顏色,支持多種格式的輸入,如:red或255,182,106

stroke_thickness = 2p? ? #染色體邊框的粗細(xì)

#↓↓↓##########################染色體標(biāo)簽###############################

show_label? ? ? = yes? ? ? ? #選擇yes表示要顯示label

label_font? ? ? = default? ? # 字體可以再 etc/fonts.conf 查看所有,默認(rèn)為CMUBright-Roman

label_radius? ? = dims(image,radius)-60p? #使用dims()獲取圖像半徑的大小,從而定位染色體標(biāo)簽的位置,也可以直接定義1.075r

label_size? ? ? = 30? ? ? ? #字體的大小

label_parallel? = yes? ? ? ? #將Label的方向設(shè)置為與染色體平行

#↑↑↑###########################################################

</ideogram>? ? ? ? ? ? ? #定義染色體屬性的標(biāo)簽結(jié)束

#↓↓↓#########################刻度線###############################

show_ticks? ? ? ? ? = yes? #選擇yes表示要顯示刻度線

show_tick_labels? ? = yes? #選擇yes表示要顯示刻度線的數(shù)值

#定義刻度線的整體位置與形狀

<ticks>? ? ? ? ? ? ? ? ? ? #刻度線的轉(zhuǎn)用標(biāo)簽,但凡是復(fù)數(shù)出現(xiàn)的,其下面的參數(shù)都表示全局參數(shù),像下面的<tick>單數(shù)形式,都表示局部參數(shù)

radius? ? ? ? ? = 1r? ? ? #刻度線的位置,1r為最遠(yuǎn)距離,超過1r不再顯示

color? ? ? ? ? ? = black

thickness? ? ? ? = 2p

multiplier? ? ? = 1e-6? ? #把刻度線標(biāo)簽(bp)縮小10萬倍顯示

format? ? ? ? ? = %d? ? ? #然后以整數(shù)的形式標(biāo)記在刻度線上

#定義小的刻度線,且不顯示數(shù)值

<tick>

spacing? ? ? ? = 5u? ? ? ? #最開始我們定義1u = 1000000,表示每500w bp顯示一個小刻度線

size? ? ? ? ? = 10p

show_label? ? = no? ? ? ? #由于小的刻度線展示出來太密集,因此我們no不展示,默認(rèn)不展示

</tick>

#定義大的刻度線,顯示數(shù)值

<tick>

spacing? ? ? ? = 25u

size? ? ? ? ? = 15p

show_label? ? = yes

label_size? ? = 20p

label_offset? = 10p? ? ? #設(shè)置數(shù)值和刻度線之間的間隔

format? ? ? ? = %d

</tick>

</ticks>

#↑↑↑###########################################################

#-----------------------------------------------------------------------------------

#下面是每次都要復(fù)制粘貼上去的,他們屬于circos自帶的配置文件,用于調(diào)用顏色,距離,報錯等信息

<image>? ? ? ? ? ? ? ? ? ? #注意路徑

<<include etc/image.conf>> #注意引用外部配置文件需要使用<<#>>

</image>

<<include etc/colors_fonts_patterns.conf>>

#官方?jīng)]有提到下面的文件,但是沒有這個文件會報錯,所以還是加上去

五、畫圖

配置文件準(zhǔn)備好以后,運(yùn)行:

circos -conf circos.conf

生成circos.png、circos.svg兩個文件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容