绘制circos图一般需要上图中的三个文件。
一:染色体配置文件
主要是染色体的位置,名称,颜色的设置。
其中第三列你可以改成想在图上显示的名字,例如aly1你可以改成aly_chr1等。
四到五列为染色体起始终止位置。
最后一列为染色体配色,下面是官网给出的配色:
以上是一个染色体的配置文件,要是有两个物种的话可以反着排序,这样就会形成一个对称的关系:
chr - aly1 aly1 0 33132539 rdylbu-11-div-1
chr - aly2 aly2 0 19320864 rdylbu-11-div-2
chr - aly3 aly3 0 24464547 rdylbu-11-div-3
chr - aly4 aly4 0 23328337 rdylbu-11-div-4
chr - aly5 aly5 0 21221946 rdylbu-11-div-5
chr - aly6 aly6 0 25113588 rdylbu-11-div-6
chr - aly7 aly7 0 24649197 rdylbu-11-div-7
chr - aly8 aly8 0 22951293 rdylbu-11-div-8
chr - alt5 alt5 0 26975502 rdylbu-11-div-5
chr - alt4 alt4 0 18585056 rdylbu-11-div-4
chr - alt3 alt3 0 23459830 rdylbu-11-div-3
chr - alt2 alt2 0 19698289 rdylbu-11-div-2
chr - alt1 alt1 0 30427671 rdylbu-11-div-1
二:展示共线性基因及区块的文件
1.1 link.txt
我们需要展示的有联系的基因(图1红色线条)
如果不是基因家族文件,而是某类基因的文件,也可以做成如下了格式,前三列和后三列形成一个对应关系:
1.2 genome.txt
染色体区块之间的关系信息,图1中的灰色部分,下图中的alignment代表一个区块。
三: plots文本文件
text.txt
这个文件是为了显示共线性基因的名称等信息,文件内容就是你想展示的gene名称和位置信息。
四:circos主配置文件circos.conf
下面就是主配置文件,自己可以稍作修改
chromosomes_units=1000000 #刻度单位Mb
#chromosomes_reverse=/chr[01]/ ##染染上体上的刻度逆向排列,染色体格式要是是chr1这种你就改成/chr[1]/
karyotype=./chr.info #染色体信息配置文件
show_tick_labels=yes
show_ticks=yes
spacing=10u
<ticks> #设置染色体刻度
color=black
format=%d
multiplier=1e-6
radius=1r
thickness=2p
<tick>
size=10p
spacing=5u
</tick>
<tick>
color=black
format=%d
label_offset=10p
label_size=25p
show_label=yes
size=15p
spacing=25u
thickness=4p
</tick>
</ticks>
<ideogram> #染色体绘制设置
fill=yes #是否填充颜色
label_font=default
label_parallel=yes
label_radius=dims(image,radius)-60p
label_size=45 ##以上这四行为染色体标签
radius=0.8r #设置半径,以免基因名称过长超出显示范围
show_label=yes
<spacing>
default=0.005r ##两个染色体之间的间隙
</spacing>
stroke_color=dgrey
stroke_thickness=2p
thickness=0.03r ##以上3列是对染色体轮廓设置,包括颜色,清晰度,宽度;注意颜色要在chr.info中修改
</ideogram>
<links> #设置连线
bezier_radius=0r
bezier_radius_purity=0.75
color=black
crest=0.5 ##以上几列为links的全局的设置,包括连线的弯曲度,颜色
<link> #基因家族共线性
bezier_radius=0r
bezier_radius_purity=0.75
color=set2-8-qual-1
crest=0.5 ##这几列也是连线的设置,会覆盖掉之前的全局设置
file=./WRKY.link.txt #输入文件,为你想在图片中的高亮文件
radius=0.98r ##连线的位置
<rules>
<rule>
color=green
condition=var(intrachr)
</rule>
<rule>
color=red
condition=var(interchr)
</rule>
</rules> ##以上几列是links连线的规则,比如染色体之内(intrachr)为绿色,染色体之间(interchr)为红色
thickness=8 ##连线的厚度
z=20 #层数
</link>
<link> #整个染色体上大的区块之间的共线性
bezier_radius=0r
bezier_radius_purity=0.75
color=230,230,230,0.2 ##230,230,230表示灰色,0.2表示透明化(数字越小越透明)
crest=0.5
ribbon=yes ##大区块之间连接为条带状,而不是连线
file=./genome.blocklink.txt #输入大区块之间共线性文件
radius=0.98r ##与前一个link的位置要保持一致
thickness=1
z=15 ##图层位置要设置得比高亮的要厚一点,不要太靠前
</link>
radius=0.40r
thickness=1
</links>
<plots> ##显示在染色体上重点标明的基因与基因之间的关系做一个注释
<plot>
color=black
label_snuggle=yes #如多个文本文字距离过近,避免重叠 参考:https://www.omicsclass.com/article/678
file=./WRKY.text.txt #输入文件
label_font=condensed
label_size=24p
link_color=red
link_dims=0p,2p,5p,2p,1p ##links的位置
link_thickness=2p ##厚度
r0=1r ##links起始
r1=1r+500p ##links终止
rpadding=0p ##文字边缘大小
padding=0p
show_links=yes
type=text
</plot>
type=histogram
</plots>
<colors>
<<include etc/colors.conf>>
<<include etc/brewer.conf>>
#<<include etc/colors_fonts_patterns.conf>>
#<<include colors.ucsc.conf>>
#<<include colors.hsv.conf>>
</colors>
<fonts>
<<include etc/fonts.conf>>
</fonts>
<image>
<<include etc/image.conf>>
</image>
<<include etc/housekeeping.conf>>
二:准备文件
1. 核型文件chr.info
自己取gff把前两列下下来改成需要的格式
2.其他三个文件借助perl完成,需要的输入文件再mcscanx中讲到过:
AT.collinearity
AT.gff
NBS_collinear.pairs ##基因家族的pair文件
再用一个perl脚本colline_v2.pl完成。
$perl ~/project/yuantao/script/perl.pl/colline_v2.pl -gff AT.gff -list NBS_collinear.pairs -colline AT.collinearity -od . -name NBS
最终生成5个文件
NBS.link.txt 基因家族links文件
genome.blocklink.txt 染色体内大的区块之间的联系
NBS.text.txt 文本注释文件
NBS.txt 为了方便查看基因家族内存在对于关系的基因。
这里需要用于画图的就是NBS.link.txt ,NBS.text.txt ,genome.blocklink.txt 三个文件,把这三个配置文件拷贝到主配置文件内。
最后运行circos绘图即可。