课程导论:单细胞RNA-seq技术简介、批次效应的来源与影响、批次校正方法的分类与选型
各位同学好,我是老张。做了六七年单细胞数据分析,踩坑无数。今天开始讲批次校正,这是实战中最头疼、也最绕不开的一关。你想想看,同一套实验,分两批上机,结果跑出来UMAP图居然分成了两坨——这到底是谁的锅?
这节课我们先打好地基。搞明白单细胞RNA-seq的基本流程,批次效应从哪来,以及市面上那么多校正方法该怎么选。
1.1 单细胞RNA-seq技术:一张细胞“食谱”
单细胞RNA测序,说白了就是把每一个细胞里的基因表达量都测出来。传统bulk RNA-seq测的是组织平均值,就像你炒了一锅菜,然后说“嗯,这锅菜有辣味”,但你分不清是哪根辣椒贡献的辣。单细胞就不一样了,它能把每根辣椒的辣度都列出来。
我习惯把单细胞数据看成一张巨大的表格:
| 细胞ID | 基因1 | 基因2 | … | 基因20000 |
|---|---|---|---|---|
| Cell_001 | 12 | 0 | … | 5 |
| Cell_002 | 0 | 8 | … | 0 |
| … | … | … | … | … |
行是细胞,列是基因。数值代表该基因在这个细胞中检测到的UMI(Unique Molecular Identifier)计数。数字越大,表示该基因越活跃。
常见的平台有10x Genomics、Smart-seq2、Drop-seq等。10x是目前最主流的,一次能跑几千到几万个细胞。我遇到过不少新人,拿了10x的原始数据就急着跑Scanpy,结果连filter_genes和filter_cells都没做——嗯,那次我帮改代码改到凌晨两点。
单细胞分析的标准流程大概是:
- 质控过滤(基因、细胞、线粒体比例)
- 标准化与对数化
- 高变基因选择
- 降维(PCA)
- 聚类与可视化(UMAP/t-SNE)
- 批次校正——这是今天的重头戏
- 差异表达分析与注释
你看,批次校正嵌在降维和聚类之间。它直接影响你能不能看到真实的细胞亚群。
1.2 批次效应:它的“身世”与危害
什么叫批次效应?简单说:不同批次实验带来的系统性偏差,掩盖了真实的生物学差异。
“批次”可以从哪些地方来?
- 不同日期制备的文库
- 不同操作员的手艺差异
- 不同试剂盒、不同chip、不同测序lane
- 甚至同一个人上午做和下午做,环境温度变了,结果都可能不一样
我曾经接过一个项目,同一个研究所有两个实验员,一人做了一批鼠脑样本。合并后一看,UMAP图上细胞分成左右两团,正好对应两个实验员——可这两批样本明明来自同品系、同周龄的小鼠啊!这就是典型的批次效应,而且强度大到完全掩盖了生物学差异。
怎么识别批次效应?
- 绘制UMAP/t-SNE图,用批次编号着色:如果相同批次的细胞聚在一起,不同批次明显分开,八成有批次效应。
- PCA散点图上,前几个主成分能被批次变量解释。
- 或者用简单的相关性检验——不同批次间同一细胞类型的表达谱相关性应该很高,如果很低,有问题。
但我也要提醒两点:第一,轻微批次效应有时不影响下游注释;第二,某些情况下批次效应和真实生物学效应可能混杂在一起(比如批次对应不同的疾病组),这时候校正要格外小心,不能把生物学差异一起抹掉。
1.3 批次校正“武器库”:分类与选型
市面上校正方法几十种,我按自己的经验把它们分成三类。你可以照着这个表快速选型:
| 类别 | 代表方法 | 核心思路 | 适用场景 | 我的建议 |
|---|---|---|---|---|
| 对齐型 | BBKNN, MNN, Seurat CCA | 在低维空间找到相互匹配的细胞对,然后拉近 | 数据量较大,细胞类型已知部分重叠,快速探索 | 新手首选BBKNN,参数少,跑得快 |
| 回归型 | ComBat, limma, regress_out | 用线性/广义线性模型拟合批次变量,直接减掉 | 批次变量已知,样本量均衡,无明显非线性的情况 | 适合芯片数据,单细胞数据慎用 |
| 深度生成型 | scVI, scANVI, SAUCIE | 用变分自编码器学习潜在表示,同时估计批次变量 | 数据量大、批次多、有复杂非线性结构 | scVI是目前最稳的,我大多数项目都用它 |
选型的关键是搞清楚你的数据规模、批次数量、以及你更关注“保留原始表达值”还是“只对齐低维空间”。
另外,校正之后一定要做质量评估。我的习惯是:
- 看UMAP是否按批次混杂(理想状态是各个批次均匀分布在每个细胞群中)
- 计算批次间的批次熵(batch entropy)
- 计算生物学差异保留度(如ARI)
只图好看不行,还得保真。
下面这张图总结了批次校正的核心流程和三种方法的关系:
好了,这章就是打底。后面两章我们分别手把手教你跑BBKNN和scVI。学完这章,你应该能回答:单细胞数据长什么样、批次效应是什么、什么时候该校正、三大类方法各自适合什么场景。如果你现在脑子里能浮现出那张流程图,那就对了。