通过指定一个染色体文件,就可以在circos
中创建一个基本的圈图了。除了这种基本用法之外,还有很多的技巧。本章介绍染色体相关的进阶技巧,涉及到以下几个参数
- chromosomes_display_default
- chromosomes
- chromosomes_reverse
- chromosomes_order
- chromosomes_breaks
- chromosomes_colors
- chromosomes_radius
chromosomes_display_default
用于控制显示的染色体的个数,默认情况下,这个参数的值为yes
, 会展示染色体文件中所有的染色体。当我们想要对染色体进行过滤时,比如只展示其中的一部分染色体,就需要将这个参数和chromosomes
这个参数结合使用。示例如下:
chromosomes_display_default = no
chromosomes = hs1;hs2;hs3;hs4;hs5
chromosomes
参数指定需要显示的染色体的name
, 多条染色体之间用分号分隔, 上面的示例中,在圈图上只会显示1-5共5条染色体。
chromosomes_reverse
参数将指定染色体倒置,默认情况下,所有染色体会沿着同一个方向(顺时针或者逆时针,这个取决于angle_orientation
参数的值)排列,当想要将指定的染色体反向时,可以使用这个参数,示例如下
chromosomes_reverse = hs2;hs3
看下面的示意图,图中所有染色体沿着逆时针方向排列,从chr1到chr5, 对应的刻度也是沿逆时针方向从小到大,设置了chromosomes_reverse
参数之后,2号和3号染色体的进行了倒置,变成了相反方向,对应的刻度在逆时针方向上,变成了由大到小。
chromosomes_order
指定染色体排列的顺序,有两种使用方式:
1. 绝对定位法
示例如下
chromosomes = hs1;hs2;hs3;hs4;hs5
chromosomes_order = hs2,hs3,hs1,hs5,hs4
在绝对定位法中,需要将所有的染色体都指定出来,chromosomes_order
中染色体的顺序就是图中染色体的顺序。
2. 相对定位法
示例如下
chromosomes_order = hs3,hs5,hs4
在相对定位法中,只需要指定部分染色体的顺序就可以了,示例用法中,将3-5号染色体的顺序指定为hs3,hs5,hs4, 只调整了这三条染色体的顺序,1号染色体和2号染色体的顺序不变,所以最终的顺序为hs1, hs2, hs3, hs5, hs4。
chromosomes_breaks
字面意思是将染色体打断,其值是一个区域,这部分染色体区域在图中不会显示,而且会用|
符号代表隔断,示意图如下:
上图中对应的break
部分的写法如下:
chromosomes_display_default = no
chromosomes = hs1:0-100;hs2:0-100;hs3:0-100;hs4:0-100;hs5;hs6;hs7;hs8
chromosomes_breaks = -hs1:25-75;-hs2:25-75;-hs3:25-75;-hs4:25-75;-hs5:75-);-hs6:0-10,75-);-hs7:75-);-hs8:75-)
chromosomes
中,hs1:0-100
表示只画1号染色体上0-100这段区域;chromosomes_breaks
中,-hs1:25-75
表示1号染色体上25-75这段区域作为一个breaks
不显示,-hs8:75-)
表示8号染色体上75之后的整段区域作为一个break
。
这里负号表示不想要显示的区域,假设有1到5号染色体,如果只想要显示1到3号染色体,有以下两种写法:
chromosomes_display_default = yes
chromosomes = -hs4;-hs5;chromosomes_display_default = no
chromosomes = hs1;hs2;hs3
chromosomes_colors
代表染色体的颜色,默认情况下染色体文件中最后一列代表每条染色体的颜色,当想要改变文件中指定的颜色时,就可以使用这个参数,示例如下
chromosomes_color = hs1:red;hs2:green
为指定的染色体设定颜色,染色体和颜色之间用冒号分隔,多条染色体之间用分号分隔。除了指定染色体name
, 还可以使用正则表达式的写法,示例如下
chromosomes_color = /hs/:red;/mm/:green
/hs/
表示染色体名字中包含hs
字符的所有染色体,上述写法将名字包含hs
的所有染色体指定为红色,包含mm
的所有染色体指定为绿色。
chromosomes_radius
指定染色体的半径, 示例如下
chromosomes_radius = hs1:0.40r;hs2:0.43r
为每条染色体指定的radius
,可以形成如下的效果:
这个参数在我们想要突出某几条染色体时特别有用,比如下图
将4号染色体对应的radius
调整的比其他染色体小一点,就造成了一个凹进去的效果。这部分凹进去的区域相比其他区域,就比较突出了。做法也很简单,只需要调整chromosomes_radius
参数的值,后续的plots
中的设置所有染色体都相同,因为plots
中的r0
和r1
是相对每条染色体的radius
而言的。其实为了突出某条染色体,可以将其radius
设置的更大一点,制造一个凸出来的效果,会更加的博人眼球。
最后介绍一种特别的写法,示例如下
chromosomes_display_default = no
chromosomes = hs1[a]:1-50;hs1[b]:150-)
chromosomes_radius = a:0.9r;b:0.8
hs1[a]:1-50
和hsa[b]:150-)
将1号染色体分成了两个部分,1-50区域用字母a
表示,150之后的区域用字母b表示,这样的后续设置染色体相关参数时,就可以了采用a和b来表征对应的区域了;a
和b
相当于为染色体上的部分区域设置了name
,方便了参数的赋值。