使用Circos画图,需要有大量的配置信息。将全部信息写进一个文件会使得文件过于复杂,修改起来也不方便,Circos可以将配置信息写入不同的文件中,使用<<include xxx.conf>>进行调用。今天和大家分享下如何利用该模块设置图形的刻度。
上一步做了一个最基本的circos,后面在此基础上美化。
一:配色
1.打开karyotype.txt文件修改最后一列
2.直接在circos.conf中的karyotype.txt后面加上如下:
chromosomes_color =chr1=rdylbu-11-div-1,chr2=rdylbu-11-div-3,chr3=rdylbu-11-div-5,chr4=rdylbu-11-div-7,chr5=rdylbu-11-div-9
Circos官方教程总结了他们已经定义的颜色,http://circos.ca/documentation/tutorials/configuration/colors/images。如果对颜色不满意,还可以自己定义颜色,http://colorbrewer2.org
二:显示标签
默认输出图片是没有染色体名字的标签,需要在 <ideogram>里添加和 label有关的参数
1 karyotype=karyotype.txt
2 chromosomes_units = 100000
3 chromosomes_display_default = yes
4 <ideogram>
5 <spacing>
6 default = 0.005r
7 </spacing>
8 radius = 0.80r
9 thickness = 6p
10 fill = yes
11 stroke_color = dgrey
12 stroke_thickness = 2p
13 show_label = yes
14 label_font = default
15 label_radius = dims(ideogram,radius) + 0.05r
16 label_size = 46
17 label_parallel = yes
18 label_fromat = eval(sprintf("%s",var(chr)))
19 </ideogram>
20
21 <image>
22 <<include etc/image.conf>>
23 </image>
24
25 <<include etc/colors_fonts_patterns.conf>>
26 <<include etc/housekeeping.conf>>
标签
三:输出设置
默认情况下,输出图片的 半径是1500p, 所以设置的 label_size=16就会显得特别小。我们可以在配置文件中调整图片的半径,以及其他设置。
1 karyotype=karyotype.txt
2 chromosomes_units = 100000
3 chromosomes_display_default = yes
4 <ideogram>
5 <spacing>
6 default = 0.005r
7 </spacing>
8 radius = 0.80r
9 thickness = 6p
10 fill = yes
11 stroke_color = dgrey
12 stroke_thickness = 2p
13 show_label = yes
14 label_font = default
15 label_radius = dims(ideogram,radius) + 0.05r
16 label_size = 46
17 label_parallel = yes
18 label_fromat = eval(sprintf("%s",var(chr)))
19 </ideogram>
20
21 <image>
22 dir* = .
23 radius* = 500p
24 <<include etc/image.conf>>
25 </image>
26
27 <<include etc/colors_fonts_patterns.conf>>
28 <<include etc/housekeeping.conf>>
注: 在参数后加一个 表示覆盖已有的设置,比如说 svg=no就是覆盖已有的 svg=yes。
四:刻度(ticks)
大部分的circos还会有刻度来展示染色体的大小。由于ticks的定制比较复杂,所以一般会单独搞一个配置文件, 可以将该部分写入ticks.conf ,在主conf文件中使用<<include ticks.conf>>调用。
show_tick_labels=yes #是否显示刻度标签
show_ticks=yes #是否显示刻度
<ticks>
color=black #刻度线颜色
multiplier=1e-6 #刻度标签显示值的计算,显示刻度的位置对应该值的大小
radius=1r #显示位置
thickness=2p #刻度线厚度
##设置每5u的刻度并进行细节设置
<tick>
size=10p #刻度线大小
spacing=5u #每5个单元长度出现一个刻度
</tick>
##设置每10u的刻度并进行细节设置
<tick>
color=black #刻度线颜色
format=%d #标签数字格式,%d表示整数,%f浮点数
label_offset=10p #标签和刻度之间的距离
label_size=25p #标签大小
show_label=yes #显示标签,标签值需按照multiplier计算
size=15p
spacing=10u #每10u出现一个刻度
thickness=4p
</tick>
</ticks>
实在不行就加载circos.conf中,如下:
karyotype=karyotype.txt
chromosomes_units = 100000
chromosomes_display_default = yes
<ideogram>
<spacing>
default = 0.005r
</spacing>
radius = 0.80r
thickness = 6p
fill = yes
stroke_color = dgrey
stroke_thickness = 2p
show_label = yes
label_font = default
label_radius = dims(ideogram,radius) + 0.05r
label_size = 46
label_parallel = yes
label_fromat = eval(sprintf("%s",var(chr)))
</ideogram>
show_ticks_labels = yes
show_ticks = yes
<ticks>
color = black
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 = 10u
thickness = 4p
</tick>
</ticks>
<image>
dir* = .
radius* = 500p
<<include etc/image.conf>>
</image>
<<include etc/colors_fonts_patterns.conf>>
<<include etc/housekeeping.conf>>
刻度
网友评论