pythonic生物人

挤成“马赛克”了,一招分组术让数据美如Nature顶刊!

本期主角-分组Cluster Heatmap。

Cluster Heatmap实际运用中,经常会把实验组和对照组样本数据放置在一起,以体现实验条件变化带来的差异。

Image

上面这个分组Cluster Heatmap中:

  • 行方向对Gene1~Gene30的表达量分High、Medium和Low三个组;
  • 列方向对Sample1~Sample10样本分Normal和Cancer两个组。

这里是测试数据,效果不明显,仅供参考!


实现分组Cluster Heatmap

这里介绍使用R pheatmap为Cluster Heatmap的行列方向上添加分组信息,

## 17.3_01
# 未经过允许禁止转载!
# @Author  :  公众号:pythonic生物人
# @Desc    :  17.3 分组Cluster heatmap

# 🔸绘制热图
pheatmap(
  gene_data, # 数据矩阵
  scale = "row", # 按行标准化
  cluster_rows = TRUE, # 对基因(行)进行聚类
  cluster_cols = TRUE, # 对样本(列)进行聚类
  clustering_distance_rows = "euclidean", # 行聚类距离:欧几里得距离
  clustering_distance_cols = "euclidean", # 列聚类距离:欧几里得距离
  clustering_method = "ward.D2", # 聚类算法:Ward's minimum variance
  treeheight_row = 50, # 行聚类树高度
  treeheight_col = 30, # 列聚类树高度
  cutree_rows = 3, # 将行聚类树切割为3组
  cutree_cols = 3, # 将列聚类树切割为3组
  annotation_col = sample_groups, # 🔸列注释:Normal 和 Cancer
  annotation_row = row_groups, # 🔸行注释:High、Medium、Low
  annotation_colors = annotation_colors, # 设置注释颜色
  number_format = "%.2f", # 数值格式:两位小数
  fontsize_number = 10, # 数值字体大小
  number_color = "black"# 数值颜色
)

效果如下,

Image

数据

使用“1.4.9 gene数据集”,

Image

用cor方法简单计算一下相关性。


绘图代码+数据+数据处理方法,

👇(请备注:625)

图片