多组学数据整合分析入门
做完单组学分析,很多项目下一步的自然问题就是:"这个结果在另一层组学上成立吗?"单组学给出的是一个切面:基因组变异能解释一部分表型,但不直接告诉你表达是否真的发生变化;转录组能看到 mRNA 差异,但不直接对应蛋白层的改变;甲基化和染色质状态的差异也要经由表达才能解释到表型。多组学整合的目的就是把不同层面的证据放到一个框架里,相互印证,或相互约束。
本文讲多组学整合的三种常见策略(早期/中期/晚期整合),和几种主流工具的适用边界。完整可运行的代码示例在 多组学整合实践教程 里,用 MOFA2 自带的 CLL 数据集就能跑起来。
为什么单组学不够
不同组学测的是不同阶段的分子事件:
| 组学 | 测量 | 回答什么问题 | 单独的局限 |
|---|---|---|---|
| 基因组 | DNA 序列变异、CNV | 遗传层面的差异 | 没法直接告诉你这些变异起效没有 |
| 转录组 | mRNA 丰度 | 基因在表达水平的差异 | 不反映蛋白层面 |
| 表观组 | 染色质开放、甲基化 | 调控层的状态 | 不直接对应表达高低 |
| 蛋白质组 | 蛋白丰度 | 功能分子的实际量 | 不追溯上游原因 |
| 代谢组 | 代谢物浓度 | 下游表型的状态 | 不能说明是哪些蛋白驱动 |
把 两三层数据放在一起分析,往往能拿到更可靠的生物学结论:转录变化有甲基化变化支持、蛋白变化有 mRNA 变化支持、这两类一致的时候说服力比单独一层高得多。
三种整合策略
多组学整合通常按"什么时候把数据放到一起"分三类。
早期整合(early integration)
在特征层就把各组学拼成一个大矩阵,后续按单组学思路走。
- 优点:实现简单,任何标准机器学习工具都能直接用
- 缺点:特征数量大的那一层会主导,不同组学的数值尺度需要先标准化
适合数据层数少、特征维度可比的项目(例如转录组 + 甲基化两层)。
中期整合(intermediate integration)
在模型层同时考虑多组学,每层数据有自己的归一化方式、但共享一组潜在变量。典型代表是:
- MOFA2:概率矩阵分解,能处理缺失值和层之间方差差异,教学和科研都常用
- mixOmics(DIABLO / PLS-DA): 带监督信号的整合,适合有明确分组的项目
- 深度学习整合(MultiVI、scArches 等):样本量大时更灵活
晚期整合(late integration)
每层独立分析后在结果层合并,常见做法:
- 合并 p 值(Fisher's combined probability)
- 共识聚类(从每层得到一组 cluster 再投票)
- 相似性网络融合(SNF)
适合各组学已经有成熟分析流程、只在结论层做交叉验证的场景。
选工具的几个常见判断
多组学工具多到让人发蒙,但实际选型没那么复杂:
- 样本量小(< 50)+ 缺失值多 → MOFA2。它对数据不完整非常宽容,是大多数小队列项目的默认选择。
- 有明确的分组/表型 → mixOmics 的 DIABLO。监督整合,结果可直接按组解读。
- 要做亚型发现 / 患者分层 → SNF。融合不同组学的相似性网络再聚类。
- 要跑多组学机器学习预测 → Random Forest / XGBoost / 深度学习(PyTorch)。通常配合早期整合。
- 转录组 + 表观 + 蛋白的关联分析 → WGCNA 跨组学,或者用 MOFA2 因子关联各层特征。
典型坑
真实项目里最常见的几件事:
- 样本 ID 对不齐。不同组学的"同一个样本"在文件里可能写法不同。分析前第一步应该是跨层检查 ID。
- 各层的尺度差异巨大。早期整合时每层必须各自先标准化,否则高维的 RNA 层会把其他层的信号压掉。
- 批次效应跨层不一致。各层可能有独立的批次结构,要分别校正而不是全局一起校正。
- 解释不出来。MOFA 能给你 15 个潜在因子,但回到生物学意义,往往只有少数因子能跟已知通路或表型对上。整合不是"因子越多越好"。
最小可运行例子
最短的入门路径是 MOFA2 包自带的 CLL(慢性淋巴细胞白血病)数据集:200 个样本 × 4 层(表达、甲基化、突变、药物响应)。完整代码在 多组学整合实践教程,核心就是三句话:加载预训练的模型、画方差解释热图、看某个因子在哪层权重最高。
跑完一次 MOFA demo 对 "多组学整合到底在做什么" 的直觉帮助极大。
常见误解
-
"多组学整合一 定比单组学结论更可靠"。整合的前提是各层数据质量都过关。如果某一层数据本身噪声很大(比如样本量极小的蛋白质组),把它强行整合进来不会"增加信息",反而会引入噪声、拉低整体结果的可信度。整合之前先确认每层单独分析的结果是合理的。
-
"MOFA 因子数越多越好"。MOFA2 默认会拟合 15 个因子,但大多数真实数据集里只有 3-5 个因子能解释 >1% 的方差。剩下的因子往往是噪声或技术变异。盲目保留所有因子做下游分析会引入假阳性。正确做法是看方差解释图,只保留有生物学意义的因子。
-
"早期整合最简单所以应该优先用"。早期整合(拼大矩阵)看起来代码最少,但它对数据预处理的要求最高:各层必须严格标准化到可比尺度,否则高维的那一层会主导结果。对于初学者来说,中期整合(如 MOFA2)反而更"安全",因为它在模型内部处理了尺度差异。