接下来会花时间认真学习和理解热图,这篇文章以后会成为导航,有兴趣的朋友可以收藏下。
Author: Zuguang Gu ( z.gu@dkfz.de )
翻译:诗翔
Date: 2018-10-30
复杂的热图可以有效地显示不同数据集来源的关联并揭示其可能的模式。这里ComplexHeatmap包提供了高度灵活的方式用来排列多个热图并支持自定义的注释图形。
通用设计
通常,一个热图列表包含多个单一的热图和行注释。
热图设计模式图在热图列表周围有热图和注释的图例和标题。对于每一个热图,在热图主体周围也有很多不同的元件。
ComplexHeatmap包是用面向对象的方式实现的。为了描述一个热图列表,有不同的类:
-
Heatmap
: 一个单一热图,包含热图主体、行/列明、标题、树状图和列注释 -
HeatmapList
:一个包含热图和行注释的列表 -
HeatmapAnnotation
:定义行/列注释的列表
也存在一些内部类:
-
SingleAnnotation
:定义单一的行/列注释 -
ColorMapping
:将值映射为颜色
ComplexHeatmap是在grid系统下实现的,所以如果用户想要充分利用该包需要知道基本的grid功能特性。
小册子
该包有一些小册子。每一个小册子都聚焦一个特定的主题。下面列出了这些小册子里面讨论的主题:
-
介绍用户创建一个单一热图的基本配置。跟其他包类似,基本的用法都是非常相似的,不过ComplexHeamtap包里面有一些独特的特性。
-
可以同时处理数值数值矩阵和字符串矩阵
-
对于包含连续值得数值矩阵,该包允许创建设定更准确颜色的颜色映射函数,对异常点有鲁棒性
-
高度灵活的聚类。你可以通过以下方式定义距离方法:
- 预定义的方法,如 “euclidean” 或 “pearson”
- 一个从矩阵中计算距离的自定义函数
- 一个从两个向量中计算距离的自定义函数
你可以使用以下方式指定聚类方法:
- 一个聚类函数,如cluster包中的
diana()
函数 - 一个
hclust
或dendrogram
对象
-
NA
也被允许用户聚类和热图可视化 -
树状图和维度名称可以放到热图的任何边角
-
热图的行可以通过
cutree
、kmeans
或一个包含热图不同水平的数据框进行切分 -
热图主题也可以完全自定义
-
-
介绍如何联结热图列表以及如何对热图进行调整
-
介绍热图注释的概念和阐述如何创建简单与复杂的注释。同样,该册子介绍列注释和行注释的差异。
-
介绍如何配置热图和注释的图例以及自定义图例
-
介绍热图生成后添加更多自定义图形到热图的方法
-
如何选择一个热图区域获取子矩阵
-
如何创建一个Oncoprint
-
该手册包含更多模拟或真实的例子
在ComplexHeatmap文章的附件中有4个应用于现实世界高通量数据集的完整实例, 它们可以在这里找到。
另外我的博客 有一些创建更好复杂热图的例子和技巧。
网友评论