批次效应概述

各位同学,今天我们开始《Seurat与Scanpy批次校正方法对比分析》的第一章。我做了多年单细胞数据分析,实话讲,最让我头疼的就是批次效应。你辛辛苦苦跑完上游,对着UMAP图一看,心里凉半截——咦?样品各自抱团,完全按实验批次分开,真实的生物学差异全被淹没了。嗯,今天咱们就来拆解一下:批次效应究竟是个啥?它怎么来的?长什么样?

一句话总结:批次效应是不同实验批次引入的、非生物学来源的系统性数据偏移,它会严重干扰聚类、差异分析和细胞类型鉴定。说白了就是“数据说谎器”。

什么是批次效应?

定义上很简单:来自同一个生物学样本(或同一组条件)的细胞,因为制备、测序、保存等步骤不在同一批次,导致测序数据产生结构性的差异,而这个差异跟生物学本身无关。

我个人的理解更直白:假如把实验条件看作“控制变量”,批次就是个你不想要却又甩不掉的“隐藏变量”。它让同一类细胞在不同批次里表现不同,甚至让不同类细胞在相同批次里看起来相似。你想想看,这多要命。

小提示:批次效应并不是单细胞数据的专利,bulk RNA-seq、蛋白组甚至图像数据都会碰到。单细胞数据因为稀疏性高、测序深度不均,批次效应往往更隐蔽、更顽固。

产生原因

原因可以列一长串,我归纳成三大类。为什么分三类?因为我当年第一个单细胞项目,三种原因撞了个遍,记忆犹新。

  • 实验操作差异:不同时间点做实验,细胞分离、建库、PCR扩增……哪怕同一个人也不能保证手劲一样。试剂批次变化就更常见了,一瓶旧试剂和一瓶新试剂,酶活性可能差个20%。
  • 测序平台/策略:同一个样本今天用Illumina NextSeq,明天换成NovaSeq,read length、bias模式都不一样。或者有人用3′端建库,有人用5′端,这差异比你想的大得多。
  • 环境与人为因素:实验室温度、湿度、操作时间长短……我记得有一次,夏天空调坏了,QC结果直接飙起来。还有,如果你用冻存样本和新鲜样本,批次效应几乎无可避免。

我曾经在一篇文章的review里被审稿人质疑:“你的donor间差异怎么比细胞类型差异还大?” 那就是典型的批次效应泄漏到生物学解释里。没办法,后来只能用Harmony重新跑一遍,才把结论圆回来。

注意:并不是所有不同批次的数据都需要校正。如果批次分组与生物学分组完全confounded(比如病例组在批次1,对照组在批次2),批次校正反而会消除真实信号。这种情况,我建议你重新设计实验,或者至少用混合模型保留生物学变异。

典型表现

怎么一眼看出你的数据有批次效应?几个常见画像:

  1. PCA/UMAP 按批次分开:降维图上,每个批次一个“云团”,而非按细胞类型混合。这是最直观的表现。
  2. 聚类结果与批次强相关:你把聚类结果标上批次,几乎每个cluster里只有同一批次的细胞。聚类实际上是在聚批次。
  3. 差异表达基因多为批次相关基因:比如线粒体基因、核糖体基因比例异常,或者某些低表达基因在批次间出现/消失。
  4. 批次间基因表达分布偏移:比如某个管家基因,在批次1平均表达2.0 logCPM,批次2却变成2.5,这不对劲。

下面是三种典型场景的对比表格,你看一眼就明白:

表现类型 无批次效应(理想) 轻度批次效应 严重批次效应
PCA主成分分布 各批次细胞均匀混合 有轻微分离趋势 批次间完全分离,无明显重叠
UMAP/tsne结构 细胞类型紧致簇,各批次点缀其中 簇内按批次形成亚簇 同一类型细胞分成多个块,每块对应一个批次
差异基因分析结果 主要富集在细胞特异性通路 出现若干批次标记基因(如线粒体、核糖体) 差异基因列表被批次信号淹没

个人经验:判断批次效应最简单的方法,是在PCA上按批次上色。如果看到“批次大饼”而不是“细胞类型糖葫芦”,基本可以断定需要校正。别问我怎么知道的,我第一次画PCA时,两个批次就是两个独立的球,完全没重叠,当时以为发现了新细胞类型……(捂脸)

本章知识结构

下面的SVG图帮你梳理了批次效应的核心逻辑:来源、原因、表现、影响以及后续的解决方向。你可以先看一眼,再回看前面的内容,会更清晰。

批次效应核心知识框架 批次效应:来源 · 原因 · 表现 · 影响 批次差异源头 实验操作/试剂不同 测序平台/方案差异 环境/操作者/时间 典型表现:PCA偏移·聚类混杂·表达偏移 影响:错误聚类·差异基因假阳性·生物学混淆 校正方法:Seurat CCA/CanonicalCorrection · Scanpy Harmony/BBKNN/Scanorama 说明:批次效应并非数据本身有问题,而是实验非平衡引入的噪声。校正前必须评估其与生物学变量的混杂程度。