1. 多组学整合工程导论
多组学整合分析工程,是把基因组、转录组、蛋白质组、代谢组等不同层次的高通量数据,组织成一条可重复、可追溯、可交付的分析流水线。它既不是单纯的数据分析,也不是单纯的软件开发,而是两者的交叉:一端是生物学问题与实验设计,另一端是数据工程、统计建模与结果解释。理解这一交叉属性,是后续所有章节的基础。
一、多组学数据类型:同一批样本的不同"观测层"
多组学数据最本质的特征是"同源异层"——同一批生物样本,被不同技术平台从不同层面观测。常见类型包括:
- 基因组(DNA):关注变异,如SNP、InDel、CNV、结构变异,输出VCF/BAM,回答"遗传基础是什么"。
- 转录组(RNA):关注表达,如基因/转录本丰度、可变剪接,输出表达矩阵与counts,回答"哪些基因被转录"。
- 蛋白质组:关注蛋白丰度与修饰,输出蛋白定量表,回答"实际有多少蛋白"。
- 代谢组:关注小分子代谢物,输出峰表与代谢物丰度,回答"代谢状态如何"。
- 表观组:如DNA甲基化、染色质可及性(ATAC-seq),回答"表达调控的开关状态"。
这些数据在维度、尺度、噪声结构上差异极大:基因组是离散变异,转录组是计数型,蛋白质组和代谢组常为连续强度且缺失值多。整合的第一道门槛,就是让不同"语言"的数据能够对齐到同一坐标系——通常是样本 × 特征的矩阵,并以样本ID作为主键。
二、整合分析的目标与挑战
整合分析的目标可以概括为三层:描述(刻画样本在多组学上的整体结构)、关联(找出跨组学的协同变化,如mRNA与蛋白的相关性、变异与表达的cis/trans关联)、因果与预测(推断调控关系、构建分型模型或生物标志物)。
挑战同样明确。第一是样本对齐:不同平台可能来自不同批次,样本命名、缺失、重复必须严格核对,否则后续全部失效。第二是批次效应:技术批次常与生物学分组混杂,需要用ComBat、limma removeBatchEffect等方法校正,但校正过度会抹掉真实信号。第三是维度灾难:特征数常达数万,样本数却只有几十到几百,必须做特征筛选、正则化或降维。第四是缺失与噪声:蛋白质组缺失值可能高达30%以上,需区分随机缺失与低丰度缺失。第五是可重复性:同一分析在不同人、不同时间执行,结果应一致,这要求工程化约束。
三、工程化视角:技术栈与项目生命周期
把多组学分析当作工程项目,意味着要有明确的技术栈分层与生命周期管理。典型技术栈自下而上为:
- 数据层:原始FASTQ/BAM、表达矩阵、临床表型表,统一存放并版本化。
- 处理层:比对、定量、注释工具链(如STAR、Salmon、MaxQuant),以容器或conda环境固化。
- 整合层:MOFA、iCluster、相似性网络融合(SNF)、多组学关联分析等。
- 解释层:富集分析、通路映射、可视化与报告。
- 工程支撑:工作流引擎(Nextflow/Snakemake)、版本控制(Git)、环境锁定、日志与元数据管理。
项目生命周期通常经历:问题定义 → 实验与数据获取 → 数据质控与预处理 → 多组学整合建模 → 结果验证与解释 → 交付与复现。工程化的关键不是工具多,而是每一步都有输入、输出、参数和判断标准,且能被他人重跑。
四、一个可执行的最小示例:从两张表到一次整合
假设有一批20个肿瘤样本,同时测得转录组表达矩阵(20000基因 × 20样本)和蛋白质组丰度表(5000蛋白 × 20样本)。一个最小可跑的整合流程如下:
# 1. 读入并核对样本ID
expr <- read.csv("expr_matrix.csv", row.names=1) # 基因 × 样本
prot <- read.csv("prot_abundance.csv", row.names=1) # 蛋白 × 样本
stopifnot(identical(sort(colnames(expr)), sort(colnames(prot))))
# 2. 缺失过滤与标准化
prot <- prot[rowSums(is.na(prot)) <= 4, ] # 缺失≤20%保留
expr_log <- log2(expr + 1)
prot_log <- log2(prot + 1)
# 3. 批次校正(假设batch向量已知)
library(sva)
expr_corr <- ComBat(expr_log, batch = batch)
# 4. 取两组学共同高变特征,做MOFA
library(MOFA2)
mofa_data <- list(RNA = expr_corr, PROT = prot_log)
model <- run_mofa(create_mofa(mofa_data), save_data = TRUE)
# 5. 查看因子解释方差
plot_variance_explained(model)
运行后重点观察三件事:各因子对每个组学的解释方差是否均衡(若某组学几乎无贡献,说明该层信息未被利用);样本在因子空间是否按已知分组分离;因子载荷中是否出现跨组学一致的基因-蛋白对。这些观察结果,就是判断整合是否"有效"的第一手依据。示例中的样本数、特征数和缺失阈值均为教学假设,实际项目需按数据规模调整。
五、工程化落地的几条硬约束
- 样本主键唯一且不可变:所有表以同一套sample_id连接,禁止中途改名。
- 参数与随机种子显式记录:降维、聚类、交叉验证的种子必须写入配置,否则结果不可复现。
- 中间产物落盘:每步输出独立文件,便于断点续跑与排障。
- 版本可追溯:数据版本、代码版本、环境版本三者绑定,缺一不可。
- 结果有判断标准:如因子解释方差阈值、聚类稳定性(轮廓系数)、关联显著性(FDR<0.05),而非"看起来还行"。