不论是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
中的语法是完全一样的。
对于labe
l的字体,有一个很特殊的取值
label_font = glyph
这种情况下,可以结合rules
设置对应的value
,此时不再显示字符串,而是显示对应的形状,不同value 和 形状之间的对应关系如下
取值范围为a-o,区分大小写,大写表示实心的点,小写表示空心的点。
示例如下:
生成的图片如下:
虽然图表类型type = text
, 但是图上确没有文字标识的label
, 而是由不同形状的点构成,点的形状由rules
定义。