2、理解批次效应:技术批次与生物批次、常见混淆因素、如何可视化批次效应
做单细胞数据分析,第一关其实就是和「批次效应」打交道。我刚入行那会儿,总觉得数据整合就是丢进一个函数跑完就完事了。结果有一次,我明明加了个 Harmony 整合,UMAP 图上还是能看到不同实验日期的小聚类,特别扎眼。那会儿才意识到,如果不理解批次效应是什么,你连参数都调不对。
这节我们就把这件事聊透。说白了,批次效应就是你的数据里「不应该存在的结构」。但它有时候又很难和真实的生物学差异区分开,所以理解它才是校正的第一步。
2.1 批次效应的本质:它从哪里来?
批次效应,简单来说就是:同一批样本中,技术操作带来的系统性差异。你想想看,同一份组织,分开两次做单细胞捕获、建库、测序,最后数据可能长得像两个完全不同的样本。
为什么会这样?因为实验流程中的每一步都有噪声。
技术批次 vs 生物批次,这两个概念必须先分清。
| 类型 | 来源 | 举例 | 是否需要校正? |
|---|---|---|---|
| 技术批次 | 实验操作、试剂、仪器、日期 | 同一患者样本分两次上机;不同操作员做的实验 | 必须校正 |
| 生物批次 | 个体间差异、疾病状态、组织来源 | 患者A vs 患者B;用药前 vs 用药后 | 保留,这是你的生物学信号 |
2.2 常见混淆因素:陷阱在哪里?
现实数据里,技术批次和生物批次经常纠缠在一起。这就是所谓的「混淆因素」。举个例子:
- 你在第1天处理了所有健康对照样本,第2天处理了所有疾病样本。
- 那么,「疾病 vs 健康」这个生物因素,和「第1天 vs 第2天」这个技术因素,完美重合了。
- 这时候你根本分不清 UMAP 上的分离是因为生物学差异,还是因为试剂批次不同。
我个人的经验是:实验设计时就要考虑批次平衡。如果做不到(很多回顾性数据没法控制),那整合算法的选择和参数调整就需要格外小心。Seurat CCA 和 Harmony 在这种情况下表现会不一样,后几节我们会讲。
常见的混淆因素,我列个清单:
- 实验日期 — 最容易出问题,也最容易忽略。
- 操作员 — 不同人手速、操作习惯真的会影响细胞捕获效率。
- 试剂批次 — 10x 试剂盒批次之间的差异,我之前见过明显的 UMI 计数差异。
- 测序批次 — 不同 flow cell、不同测序仪,GC bias 都不一样。
- 冻存 vs 新鲜样本 — 这个差异有时候比不同个体还大。
2.3 如何可视化批次效应?
看过很多数据,我认为可视化批次效应这件事,比任何统计检验都直观。你的眼睛就是最好的检测器。
常用的可视化方法就三种:PCA、t-SNE、UMAP。
具体怎么做?在整合之前,先用每个样本或每个批次标签给细胞着色,看它们在降维图上是否按批次聚类。
# R 语言示例:用 Seurat 可视化整合前的批次效应
# 假设你已经有一个合并后的 Seurat 对象 seurat_obj
# 先归一化 + PCA
seurat_obj <- NormalizeData(seurat_obj)
seurat_obj <- FindVariableFeatures(seurat_obj, selection.method = "vst", nfeatures = 2000)
seurat_obj <- ScaleData(seurat_obj)
seurat_obj <- RunPCA(seurat_obj)
# 用批次标签着色 PCA
DimPlot(seurat_obj, reduction = "pca", group.by = "batch_id")
# 也可以用 UMAP
seurat_obj <- RunUMAP(seurat_obj, dims = 1:30)
DimPlot(seurat_obj, reduction = "umap", group.by = "batch_id")
你会在图上看到什么?
- 如果不同批次混在一起,没有明显的分离 → 批次效应很微弱,可能不需要复杂整合。
- 如果不同批次完全分开,形成各自独立的聚类 → 明显的批次效应,需要校正。
- 如果批次分离的同时,生物学条件也完美对应同一聚类 → 严重混淆,这时候需要非常小心。
我以前处理过一个数据,PCA 上前三个主成分都是 batch 驱动的,生物学信号被压制到 PC4 以后了。那种情况,不校正根本没法往下走。
除了降维图,还有一种更量化的方式:批次内相关系数。但说句实话,这玩意儿做起来有点绕。我通常只看 PCA/UMAP 图上样本间是否有明显分离。如果目测看不出,我还会用下面这个指标辅助判断:
LISI(Local Inverse Simpson Index)。这个值衡量的是局部邻域内批次的混合程度。1 表示纯 batch,越大表示混合越好。这件事我们到讲到 Harmony 的那一节再展开,因为 Harmony 的原理跟这个指标密切相关。
好了,总结一下这一节的核心:
- 技术批次必须校正,生物批次必须保留。
- 混淆因素是最大的杀手,实验设计阶段就要尽量避免。
- 可视化是判断批次效应的第一手工具,PCA + 批次标签着色是最快的检查方式。
理解完批次效应长什么样,下一步就可以看不同的整合算法是怎么解决这个问题的了。