不论是heatmap, 还是scatter, histogram, 反映的都是基因组上某段区域对应的value值的分布,这里的value都是数值。对于value是字符串的情况,专门定义了text这种图表类型,用于展示。
看一个text图片的实例
text在图上就是一圈的字符串标记,字符串可以添加连线,表明对应的染色体位置。
配置文件的写法如下:
首先看下file文件中的内容, 示例如下
和scatter等图表的内容完全一致,只不过第4列是字符串,不是数值。
对于text而言,由于value不是数值,所以没有max和min参数,其位置完全由r0和r1两个参数的值决定。
其他的属性可以分成以下两个部分
1. 文字的属性
对于文字,常用的属性包括以下几个
- 颜色
- 大小
-
字体
label_font定义字体;label_size定义大小;color定义文字颜色
为了清楚的展示每个laebl, 所有的label之间是不会重叠的,如果两个label距离过近,会出现重叠时,会自动堆积在一起。
有两个参数label_snuggle和max_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的示意图如下
将连续分成了d1到d5共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定义。