在这一节,我们将学习如何调整染色体绘画条数,以及改变它们的比例、颜色以及方向。
正确的ideogram的布局是非常重要的。比如说,使所有的染色体都是相同的大小可以强调模式中相对位置之间的比较。
(一)Ideogram的选择
To select a subset of chromosomes, set chromosomes_display_default=no
默认情况下,染色体是按出现顺序显示核型文件中(karyotype文件中)定义的所有染色体。如果你不想画所有的染色体,只想画其中的几条,设置chromosomes_display_default=no:
chromosomes_display_default = no
然后用染色体参数指定要画哪几条:
chromosomes = hs1;hs2;hs3;h4
#或者用正则表达式来指定:
chromosomes = /hs[1-4]$/
#也可以同时结合这两种方法指定染色体:
chromosomes = /hs[1-4]$/;hs10;hs11
#用-前缀来表示哪条染色体你不想画
chromosomes = /hs[1-4]$/;-hs3 #画1-4号染色体,除了第三条
#画某一条染色体上的一个片段
chromosomes = hs1:(-100,120-);hs2;hs3;h4
(二)Ideogram比例
ideogram的大小可以使用绝对或相对放大来进行调整。绝对比例对ideogram应用固定的放大倍数:
# hs1 0.25x zoom
# hs2 2.00x zoom
chromosomes_scale = hs1=0.25,hs2=2.0
相对比例定义了ideogram相对于图像周长的大小:
# hs1 25% of figure
# hs2 50% of figure
chromosomes_scale = hs1=0.25r,hs2=0.50r
归一化相对比例,将几个ideograms均匀地分布在图的一个部分里:
# 第1号,2号染色体占总图片的50%
chromosomes_scale = /hs[12]/=0.5rn
一个有用的习惯用法是选择所有ideogram并将它们分布在整个图形中:
# all ideograms distributed evenly within entire figure
chromosomes_scale = /./=1rn
(三)ideogram方向
默认情况下,ideogram方向是顺时针的。你可以在 <image> block里使用angle_orientation设置全局角度:
<image>
# *后缀用来覆盖参数。在这个例子中,从etc/image中angle_orientation导入的参数被新的值覆盖
angle_orientation* = counterclockwise
<<include etc/image>>
</image>
如果要将其中几条染色体逆时针,使用chromosomes-reverse设置:
chromosomes_reverse = /hs[234]/
(四)ideogram颜色
ideogram的颜色是在karyotype文件里的,如果要更改,用chromosomes_color设置:
chromosomes_color = hs1=red,hs2=orange,hs3=green,hs4=blue
(五)ideogram的径向位置
默认情况下,所有ideogram被放置在相同的径向位置,正如<ideogram>块中的半径参数所定义的那样。通过使用chromosomes_radius定义一个新的径向位置,您可以有选择地向径向移动一个或多个ideogram。
最方便的方法是使用相对坐标(r后缀),这是相对于默认的ideogram半径而言的。例如:
chromosomes_radius = hs4:0.9r #将第4号染色体放在更靠近中心的位置
下面是tutorial里的1/3/的例子:
conf文件:
karyotype = data/karyotype/karyotype.human.txt
chromosomes_units = 1000000
chromosomes_display_default = no
chromosomes = /hs[1-4]$/ #只画1-4条染色体,美元符号是必须的,否则第10,11,12等染色体也会被画出来
# 将1号染色体设置为相对于圆圈周长的0.5,也就是说1号染色体占一半的图片
# 将其他3条染色体分布在另外一半的图里,用//在perl里是匹配的意思
# /hs[234]/=0.5rn
chromosomes_scale = hs1=0.5r,/hs[234]/=0.5rn
chromosomes_reverse = /hs[234]/#将2,3,4号染色体画成逆时针
chromosomes_color = hs1=red,hs2=orange,hs3=green,hs4=blue #给每条染色体重新分配颜色
chromosomes_radius = hs4:0.9r #把4号染色体放在靠近圆圈中心的位置
<<include ideogram.conf>>
<<include ticks.conf>>
<image>
<<include etc/image.conf>>
</image>
<<include etc/colors_fonts_patterns.conf>>
<<include etc/housekeeping.conf>>
ideogram.conf文件(和上一篇笔记里的差不多):
<ideogram>
<spacing>
default = 0.005r
</spacing>
# Ideogram position, fill and outline
radius = 0.90r
thickness = 20p
fill = yes
stroke_color = dgrey
stroke_thickness = 2p
# Minimum definition for ideogram labels.
show_label = yes
# see etc/fonts.conf for list of font names
label_font = default
label_radius = 1.075r # if ideogram radius is constant, and you'd like labels close to image edge,
# use the dims() function to access the size of the image
# label_radius = dims(image,radius) - 60p
label_size = 30
label_parallel = yes
</ideogram>
ticks.conf文件(基本上和上一篇笔记的差不多):
show_ticks = yes
show_tick_labels = yes
<ticks>
radius = 1r
color = black
thickness = 2p
multiplier = 1e-6
format = %d
<tick>
spacing = 5u
size = 10p
</tick>
<tick>
spacing = 25u
size = 15p
show_label = yes
label_size = 20p
label_offset = 10p
format = %d
</tick>
</ticks>
运行脚本:
$ circos -conf ./circos.conf -outputdir ./ -outputfile tutorial_1_3_practice.png
得到的图像:
图中可以看到,第2,3,4条染色体的刻度是逆时针顺序排列
网友评论