circos染色体进阶技巧

2020-05-09 17:44:17 浏览数 (1)

通过指定一个染色体文件,就可以在circos中创建一个基本的圈图了。除了这种基本用法之外,还有很多的技巧。本章介绍染色体相关的进阶技巧,涉及到以下几个参数

  1. chromosomes_display_default
  2. chromosomes
  3. chromosomes_reverse
  4. chromosomes_order
  5. chromosomes_breaks
  6. chromosomes_colors
  7. 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中的r0r1是相对每条染色体的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-50hsa[b]:150-)将1号染色体分成了两个部分,1-50区域用字母a表示,150之后的区域用字母b表示,这样的后续设置染色体相关参数时,就可以了采用a和b来表征对应的区域了;ab相当于为染色体上的部分区域设置了name,方便了参数的赋值。

0 人点赞