circos绘制彩色的links

对于links而言,默认情况下所有的links 都是同一种颜色,通过color属性指定。当我们想要构建出彩色的links 时,通常情况下有3种做法:

1. 拆分file

每一个link都有一个file指定的数据,我们可以人为的将原来的file根据条件拆分成多份,每一份对应一个link, 然后为每个link设置不同的颜色,就可以实现彩色的link了。

示例如下:

每个link定义一个文件,对应的color值不同,生成的图片如下

2. 定义rules

拆分数据比较繁琐,一种更加简便的方法是定义rules, 根据不同的规则指定不同的颜色。示例如下

需要理解的就是condition的写法。第一种就是var的用法,var获取指定字段的值,在links中,有以下几种字段

  1. CHRn
    表示link 对应的染色体的名字,一个link连接两个区域,第一个区域对应的染色体为chr1, 第二个区域对应的染色体为chr2, condition中对应的写法为var(chr1), var(chr2)

  2. STARTn
    表示区域的起始位置,第一个区域的起始位置为start1, 第二个区域对应的起始位置为start2, condition中对应的写法为var(start1), var(start2)

  3. ENDn
    表示区域的终止位置,第一个区域的终止位置为end1, 第二个区域对应的终止位置为end2, condition中对应的写法为var(end1), var(end2)

  4. POSn
    表示区域的中心点的位置,第一个区域的中心位置为position1, 第二个区域对应的中心位置为position2, condition中对应的写法为var(position1), var(position2)

  5. SIZEn
    表示区域的长度,第一个区域的长度为size1, 第二个区域对应的长度为size2, condition中对应的写法为var(size1), var(size2)

  6. REVn
    判断某个区域是否反向,如果起始位置大于终止位置,代表是反向的,返回值为1,否则返回值为0, condition中对应的写法为var(rev1),var(rev2)

  7. INV
    如果一个link连接的两个区域方向不同,一个正向,一个反向,返回值为1,其他情况返回值为0,condition中对应的写法为var(inv)

  8. INTERCHR
    如果一个link连接的两个区域位于两条染色体上,返回值为1,其他情况返回值为0,condition中对应的写法为var(interchr)

  9. INTRACHR
    如果一个link连接的两个区域位于同一条染色体上,返回值为1,其他情况返回值为0,condition中对应的写法为var(intrachr)

var会返回对应的值,从上面可以看出,返回值可以分成以下3类

  • 字符串

  • 数字

  • 逻辑值

对于字符串,采用perl当中的字符串操作符,示例

condition = var(chr1) eq “hs1”

对于数字,采用数字操作符, 示例

condition = var(size1) > 10mb

对于逻辑值, 可以直接使用,示例

condition = var(intrachr)

除了使用var 之外,还可以使用函数,condition中支持以下函数

  1. conf

  2. on

  3. within

  4. between

  5. fromto

  6. tofrom

  7. from

  8. to

  9. chrlen

links中,支持between的用法, 示例如下

condition = between(hs1, hs2)

rules的示例:

生成的图片如下:

3.在file中添加属性

file文件支持内置属性和自定义属性,所有的属性写在最后一列,多个属性用逗号分隔。

示例如下:

上面的文件中,最后一列包含了colorvalue两种属性,color是内置属性,value是自定义属性。通过在file中添加不同取值的color属性,可以方便的实现彩色的links。这里主要看下通过value属性的值映射到不用颜色上。

配置文件写法如下:

通过var(value)获取每个link的value 值作为数组的下标,数组由qw定义,数组中的元素为5个不同的颜色,value的取值范围为0-5,正好对应该数组的下标,通过这种方式,将value映射到颜色上;而且在原来颜色的基础上,还通过sprintf函数,为原来的颜色添加_a3后缀,这个后缀代表一定的透明度。

生成的图片如下


根据自己的数据,灵活运用以上3种方法,就可以随心所欲的构建多彩的 links了。



你可能感兴趣的:(circos绘制彩色的links)