这篇文章主要介绍circos中heatmap有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
heatmap
将一系列的数值映射到一个颜色梯度中,是最常用的图表之一。在circos
中,通过plot
这个block进行设置。
用法如下:
heatmap
的数据和scatter plot
, histogram
是一样的,最少有4列内容。前3列定义染色体上的区域,第4列指定每个区域的value
值,其他列可以是配置文件中的属性,示例如下
heatmap
中color
属性比较特殊,在热图中,需要的是一个颜色梯度,将不同的value
映射到这个颜色梯度中。所以这里的color
对应的是一个list
, 有两种设置方式
1. 采用内置的list
在etc
目录下,有很多内置的颜色配置,其中就有很多内置的颜色梯度, 示例如下
etc/colors,brewer.conf
blues-3-seq
和blues-3-seq-rev
就是两个颜色提取的名字,对应有3种颜色
-
blues-3-seq-1
-
blues-3-seq-2
-
blues-3-seq-3
配置文件的写法如下
还可以将多个颜色梯度结合起来使用
2. 采用自定义的颜色
写法如下
在热图中,最重要的是理解value
和color
之间的对应关系。在heatmap
中,共有两种映射关系
1.线性映射
默认情况下,value
和color
之间就是线性映射关系。color
的值是一个list
, 对于每个value
, 通过计算对应的下标color_index
,就可以得到具体的颜色。
下标的计算公式如下:
从公式可以看出,二者之间是一个线性映射关系。当我们没有在配置文件中指定max
和min
的值时,circos
会自动根据file
文件的第4列计算这两个值。当然,我们也可以手动在配置文件中指定。
当我们指定的min
和max
与数据不符合, 比如数据的范围是[2, 6], 配置文件中指定的是[1,5], 通过以上公式计算时,会出现下标越界的情况,此时,对于小于min
的值,其颜色定义为list中的第一个颜色值;对于大于max
的值,其颜色定义为list中的最后一个颜色值。
具体的是通过color_mapping
参数控制线性映射的属性,共有3种取值
-
color_mapping = 0
-
color_mapping = 1
-
color_mapping = 2
默认情况下,color_mapping = 0
。color_mapping
的值设置的是一个偏移量,对于color
设置的n种颜色,每种颜色均分成两份,从0开始计数,00..nn
。color_mapping = 1
时,向后偏移一位,变成011..nn
; color_mapping = 2
时,向后偏移两位,变成112233
反应到颜色上,具体的示意图如下:
2. 非线性映射
在配置文件中添加下面的参数,开启log
映射
当数据分布不均匀时,采用log
映射更加合适。
以上是“circos中heatmap有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/220279.html