批次效应概述
各位同学,今天我们开始《Seurat与Scanpy批次校正方法对比分析》的第一章。我做了多年单细胞数据分析,实话讲,最让我头疼的就是批次效应。你辛辛苦苦跑完上游,对着UMAP图一看,心里凉半截——咦?样品各自抱团,完全按实验批次分开,真实的生物学差异全被淹没了。嗯,今天咱们就来拆解一下:批次效应究竟是个啥?它怎么来的?长什么样?
一句话总结:批次效应是不同实验批次引入的、非生物学来源的系统性数据偏移,它会严重干扰聚类、差异分析和细胞类型鉴定。说白了就是“数据说谎器”。
什么是批次效应?
定义上很简单:来自同一个生物学样本(或同一组条件)的细胞,因为制备、测序、保存等步骤不在同一批次,导致测序数据产生结构性的差异,而这个差异跟生物学本身无关。
我个人的理解更直白:假如把实验条件看作“控制变量”,批次就是个你不想要却又甩不掉的“隐藏变量”。它让同一类细胞在不同批次里表现不同,甚至让不同类细胞在相同批次里看起来相似。你想想看,这多要命。
小提示:批次效应并不是单细胞数据的专利,bulk RNA-seq、蛋白组甚至图像数据都会碰到。单细胞数据因为稀疏性高、测序深度不均,批次效应往往更隐蔽、更顽固。
产生原因
原因可以列一长串,我归纳成三大类。为什么分三类?因为我当年第一个单细胞项目,三种原因撞了个遍,记忆犹新。
- 实验操作差异:不同时间点做实验,细胞分离、建库、PCR扩增……哪怕同一个人也不能保证手劲一样。试剂批次变化就更常见了,一瓶旧试剂和一瓶新试剂,酶活性可能差个20%。
- 测序平台/策略:同一个样本今天用Illumina NextSeq,明天换成NovaSeq,read length、bias模式都不一样。或者有人用3′端建库,有人用5′端,这差异比你想的大得多。
- 环境与人为因素:实验室温度、湿度、操作时间长短……我记得有一次,夏天空调坏了,QC结果直接飙起来。还有,如果你用冻存样本和新鲜样本,批次效应几乎无可避免。
我曾经在一篇文章的review里被审稿人质疑:“你的donor间差异怎么比细胞类型差异还大?” 那就是典型的批次效应泄漏到生物学解释里。没办法,后来只能用Harmony重新跑一遍,才把结论圆回来。
注意:并不是所有不同批次的数据都需要校正。如果批次分组与生物学分组完全confounded(比如病例组在批次1,对照组在批次2),批次校正反而会消除真实信号。这种情况,我建议你重新设计实验,或者至少用混合模型保留生物学变异。
典型表现
怎么一眼看出你的数据有批次效应?几个常见画像:
- PCA/UMAP 按批次分开:降维图上,每个批次一个“云团”,而非按细胞类型混合。这是最直观的表现。
- 聚类结果与批次强相关:你把聚类结果标上批次,几乎每个cluster里只有同一批次的细胞。聚类实际上是在聚批次。
- 差异表达基因多为批次相关基因:比如线粒体基因、核糖体基因比例异常,或者某些低表达基因在批次间出现/消失。
- 批次间基因表达分布偏移:比如某个管家基因,在批次1平均表达2.0 logCPM,批次2却变成2.5,这不对劲。
下面是三种典型场景的对比表格,你看一眼就明白:
| 表现类型 | 无批次效应(理想) | 轻度批次效应 | 严重批次效应 |
|---|---|---|---|
| PCA主成分分布 | 各批次细胞均匀混合 | 有轻微分离趋势 | 批次间完全分离,无明显重叠 |
| UMAP/tsne结构 | 细胞类型紧致簇,各批次点缀其中 | 簇内按批次形成亚簇 | 同一类型细胞分成多个块,每块对应一个批次 |
| 差异基因分析结果 | 主要富集在细胞特异性通路 | 出现若干批次标记基因(如线粒体、核糖体) | 差异基因列表被批次信号淹没 |
个人经验:判断批次效应最简单的方法,是在PCA上按批次上色。如果看到“批次大饼”而不是“细胞类型糖葫芦”,基本可以断定需要校正。别问我怎么知道的,我第一次画PCA时,两个批次就是两个独立的球,完全没重叠,当时以为发现了新细胞类型……(捂脸)
本章知识结构
下面的SVG图帮你梳理了批次效应的核心逻辑:来源、原因、表现、影响以及后续的解决方向。你可以先看一眼,再回看前面的内容,会更清晰。