circos 可视化手册- text 篇

2020-05-10 10:27:14 浏览数 (1)

不论是heatmap, 还是scatter, histogram, 反映的都是基因组上某段区域对应的value值的分布,这里的value都是数值。对于value是字符串的情况,专门定义了text这种图表类型,用于展示。

看一个text图片的实例

text在图上就是一圈的字符串标记,字符串可以添加连线,表明对应的染色体位置。

配置文件的写法如下:

首先看下file文件中的内容, 示例如下

scatter等图表的内容完全一致,只不过第4列是字符串,不是数值。

对于text而言,由于value不是数值,所以没有maxmin参数,其位置完全由r0r1两个参数的值决定。

其他的属性可以分成以下两个部分

1. 文字的属性

对于文字,常用的属性包括以下几个

  • 颜色
  • 大小
  • 字体

label_font定义字体;label_size定义大小;color定义文字颜色 为了清楚的展示每个laebl, 所有的label之间是不会重叠的,如果两个label距离过近,会出现重叠时,会自动堆积在一起。

有两个参数label_snugglemax_snuggle_distance控制具体的堆积情况。示意图如下:

假设在基因组上62,000,000的位置上,有100个label。默认情况下label_snuggle = no,所有的label会依次堆积在一起,超出范围的不会显示。为了多显示label, 可以设置label_snuggle = yes, 此时可以和max_snuggle_distance参数结合使用,这个参数的值越大,可以显示的label就越多。

2. 连线的属性

默认情况下是不显示连线的,需要添加下列参数才能显示连线

show_links = yes

对于连线,常用的属性包括以下几个

  • 颜色
  • 粗细

link_color定义颜色,link_thickness定义粗细。除了上述常见属性外,还有一个links_dims属性控制连线的形状。

lnks_dims的示意图如下

将连续分成了d1d5共5个部分,决定的连线的形状,用法如下

link_dims = 0p,0p,70p,0p,10p

最后需要注意的一点,就是rules的用法, 示例如下

由于value的值是一个字符串,所以使用的是perl中的字符串操作符,eq用于判断两个字符串相等,perl中的其他的字符串操作符也可以使用。

还可以使用正则表达式,示例如下

perl中的语法是完全一样的。

对于label的字体,有一个很特殊的取值

label_font = glyph

这种情况下,可以结合rules设置对应的value,此时不再显示字符串,而是显示对应的形状,不同value 和 形状之间的对应关系如下

取值范围为a-o,区分大小写,大写表示实心的点,小写表示空心的点。

示例如下:

生成的图片如下:

虽然图表类型type = text, 但是图上确没有文字标识的label, 而是由不同形状的点构成,点的形状由rules定义。

0 人点赞