引言Introduction

层次聚类是生信分析里最常用的无监督方法之一。很多人会做热图,却不清楚它为什么能把样本分成不同分支,也不知道结果能否解释疾病亚型、通路差异或样本异质性。如果你想把“看图”变成“读图”,就必须先理解层次聚类。
生物信息学分析场景下的层次聚类树状图和热图组合示意,突出样本分组与相似性关系

1. 层次聚类是什么,为什么在生信里重要

1.1 从“相似性分组”理解层次聚类

层次聚类的核心思想很简单。先计算样本之间的距离,再按相似程度逐步合并。组内样本越相似,组间差异越大,聚类结果就越有生物学意义。

在生信分析中,这种方法特别适合处理表达矩阵、甲基化数据、蛋白组数据和临床分型数据。因为这类数据通常维度高、变量多,且不一定有明确标签。层次聚类可以先把数据结构“显出来”。

1.2 它为什么常和热图一起出现

热图本身只显示数值高低,但加入层次聚类后,就能同时看到“数值模式”和“分组结构”。这也是为什么很多转录组文章都会把热图作为第一轮探索分析。

常见用途包括。

  • 识别不同样本是否存在亚型。
  • 判断某批基因是否有一致表达趋势。
  • 观察病例组和对照组是否天然分离。
  • 为后续差异分析、富集分析和建模提供线索。

在生信里,层次聚类不是终点,而是探索数据结构的起点。

2. 层次聚类的基本流程与常用方法

2.1 三个步骤构成完整流程

层次聚类的标准流程通常分为三步。

  1. 计算距离,常用欧氏距离、曼哈顿距离或相关性距离。
  2. 执行聚类,常用 hclust。
  3. 绘制树状图或热图,观察分支结构。

这里最关键的是距离定义。距离不同,聚类结果可能明显不同。对于表达数据,相关性距离往往更能反映“趋势相似”,而不是绝对数值相近。

2.2 常见联动方式

层次聚类的合并策略不同,结果也会不同。生信中最常见的是以下几种。

  • single linkage,单联动。 计算两个簇之间最近样本的距离。
  • complete linkage,全联动。 计算两个簇之间最远样本的距离。
  • average linkage,平均联动。 计算簇间所有样本距离的平均值。
  • Ward法。 更强调簇内方差最小化,常用于热图和样本分群。

从实践角度看,Ward法和average linkage在组学数据中更常见,也更稳定。

2.3 结果好坏怎么看

一个好的层次聚类结果,通常满足以下特征。

  • 同组样本聚在一起。
  • 分支结构清晰。
  • 热图颜色块具有连续性。
  • 与临床表型或生物学分组有一定一致性。

但要注意,聚类图“好看”不等于“有意义”。 还要结合样本来源、批次效应、特征选择方式一起判断。

3. 生信中做层次聚类时最容易出错的地方

3.1 输入数据没有标准化

这是最常见的问题之一。不同基因的表达量尺度差异很大,如果不做标准化,高表达基因可能会主导距离计算,掩盖真实模式。

常见处理包括。

  • 对表达矩阵做 Z-score 标准化。
  • 对偏态数据进行 log 转换。
  • 过滤低表达、低方差特征。

如果不先处理数据,层次聚类结果往往反映的是“量纲差异”,而不是“生物差异”。

3.2 批次效应干扰分组

样本来自不同平台、不同中心或不同测序批次时,层次聚类可能优先按批次分,而不是按疾病状态分。此时看到的“分群”,可能只是技术偏差。

因此在正式分析前,建议先检查。

  • 批次信息是否明确。
  • 是否需要做批次校正。
  • 聚类结果是否与批次高度一致。

3.3 特征太多,噪音太大

全量基因直接聚类,常常会被噪音淹没。更合理的做法是先筛选差异基因、变异较大的基因,或目标通路相关基因,再进入聚类分析。

这也是生信分析里常见的思路。先降噪,再分群。这样结果更稳定,也更容易解释。

4. 层次聚类在论文中的典型应用场景

4.1 样本分型

在肿瘤研究中,层次聚类经常用于识别分子亚型。比如同一种肿瘤内部,不同样本的免疫浸润、代谢状态或基因表达程序可能不同。聚类后可以看到是否形成多个稳定亚群。

这类结果常用于回答。

  • 是否存在新的疾病亚型。
  • 亚型之间是否有预后差异。
  • 亚型是否对应不同治疗反应。

4.2 功能模块识别

当研究的是一组基因时,层次聚类能帮助识别共表达模块。表达模式相近的基因,往往可能参与相似功能或通路。

这在以下分析中很常见。

  • 差异基因聚类。
  • 通路基因集聚类。
  • 免疫相关基因分群。
  • 代谢相关基因模块识别。

4.3 临床分层探索

如果将临床指标、评分或风险值放入热图,层次聚类可以帮助观察高危与低危人群是否自然分离。这一步不是建模,而是验证数据中是否存在清晰结构。

例如,在一个预后相关研究中,可以观察高风险样本是否在树状图中聚成一簇。如果能形成相对稳定的分支,就说明该特征具有一定区分能力。

5. 一个可复用的生信分析思路

5.1 建议的实操顺序

如果你要在自己的项目中使用层次聚类,可以按这个顺序做。

  1. 准备表达矩阵,确认样本和特征维度。
  2. 去除缺失值或低质量样本。
  3. 对数据做标准化。
  4. 选择距离方法和联动方法。
  5. 先画树状图,再看热图。
  6. 结合临床分组和表型做解释。

这个流程的重点,不是“把图画出来”,而是“让图支持研究问题”。

5.2 如何判断是否值得继续深入

如果层次聚类结果能和某个临床结局、分子分型或免疫状态对应起来,就值得进一步分析。可以继续做。

  • 差异分析。
  • 富集分析。
  • 预后分析。
  • 机器学习筛选。
  • 外部队列验证。

如果聚类结果没有稳定结构,也不要急着下结论。可以回头检查数据预处理、距离设置和特征筛选是否合理。

6. 层次聚类与其他生信方法的衔接

层次聚类最有价值的地方,是它能和很多分析模块自然衔接。比如在机器学习建模之前,可以先用聚类看样本异质性。在LASSO回归、Cox回归或无监督分型之前,层次聚类常常是一个高效的探索入口。

它还能和以下方法联动。

  • PCA,用于初步降维和可视化。
  • 差异分析,用于寻找分组相关基因。
  • GO/KEGG富集,用于解释分群背后的功能。
  • WGCNA,用于寻找共表达模块。
  • 风险模型,用于验证分层效果。

对于科研人员来说,这种方法的价值不只是“分类”,而是帮助你从复杂数据中找到可解释的生物学信号。

总结Conclusion

层次聚类是生信分析中最基础,也最实用的无监督方法之一。它的核心不是复杂算法,而是通过距离和合并规则,把相似样本组织成清晰结构。理解层次聚类,就能更准确地读懂热图、分型图和样本异质性。
在实际项目中,关键是做好标准化、控制批次效应、选择合适距离和联动方法,并结合临床或分子背景解释结果。对于需要系统学习和快速上手生信分析的医学生、医生和科研人员,建议借助解螺旋的实操资源,把方法和案例一起掌握,提升项目推进效率。

解螺旋科研助手企业微信二维码,扫码添加免费领取科研资料礼包,包含AI科研提效、SCI投稿技巧、国自然基金、医学科研绘图、科研软件工具等实用资料