1.简介
复杂的热图可以有效地可视化不同数据源之间的关联,并揭示潜在的模式。ComplexHeatmap包提供了一种高度灵活的方式来安排多个热图,并支持自定义的注释图形。
1.1 总体设计
单个热图由热图体和热图组件组成。可以按行和列分割热图主体。热图组件包括标题、树状图、矩阵名称和热图注释,它们被放置在heatmap主体的四边。热图组件根据热图主体重新排序或拆分。
General design
ComplexHeatmap包是以面向对象的方式实现的。为了描述热图列表,有以下类:
Heatmap class: 单个热图,包含热图主体、行/列名称、标题、树状图和行/列注释。
HeatmapList class: 热图和热图注释的列表。
HeatmapAnnotation class: 定义行注释和列注释的列表。热图标注可以是热图的组成部分,也可以像热图一样独立存在。
还有几个内部类:
SingleAnnotation class: 定义单行注释或单列注释。 HeatmapAnnotation 对象包含一个 SingleAnnotation 对象列.
ColorMapping class: 从值映射到颜色。主矩阵和注释的颜色映射由ColorMapping类控制。
AnnotationFunction class: 构造用户定义的注释。这是创建用户定义注释图形的基础。
1.2 接下来的章节简介
A Single Heatmap
介绍单个热图的配置
Heatmap Annotations
介绍了热图标注的概念,并演示了如何进行简单标注和复杂标注。此外,本章还解释了列注释和行注释之间的区别。
A List of Heatmaps
介绍如何连接热图列表和注释,以及如何应用调整来保持热图的对应关系。
Legends
介绍如何配置热图图例和标注图例,以及如何创建自定义图例。
Heatmap Decoration
介绍在热图生成后,在热图中添加更多自定义图形的方法。
OncoPrint
介绍如何制作oncoPrints以及如何集成从ComplexHeatmap到oncoPrints的其他功能。
UpSet plot
介绍述如何制作增强的 Upset plots.
Other High-level Plots
介绍在ComplexHeatmap中实现的用于特定用途的函数,例如可视化分发版。
Integrate with other packages
介绍其他包是如何与ComplexHeatmap集成的。目前,作者演示了gridtext和pheatmap这两个包。
Interactive heatmap
介绍述如何使热图具有交互性。
More Examples
演示更多模拟和真实世界的例子。
参考资料
https://github.com/jokergoo/ComplexHeatmap
https://jokergoo.github.io/ComplexHeatmap-reference/book/index.html