在数据分析的时候,我们的目标是一般都是找到样本之间真实的生物学差异。但是这种真实的生物学因素往往会受到各种因素影响,举几个场景:
-
不同样本
-
同一样本的生物学重复
-
同一样本的技术重复
-
同一样本在同一个实验室由同一团队在不同时间点处理
-
同一细胞系/植物组织在不同实验室
-
不同建库策略,10X平台,Drop-seq,SMART2-seq
-
不同测序平台,BGI/Illumina
-
不同分析流程(甚至一个工具的多个版本,如salmon,CellRanger)
这些因素之间有些是生物学真实的差异,有些是抽样时的随机波动。有些是系统性因素,统称为批次效应(batch effect),顾名思义,不同批次带来的效应。如果效应比较小还可以接受,如果批次效应很严重,就可能会和真实的生物学差异相混淆,让结果难以捉摸。我们需要辨别到底存在多大程度的批次效应,对我们真实的生物学样本会不会产生影响。
如下所示,这两个数据是不同时期做的同一个细胞,几乎没有交集,因此,我们分析的时候需要去除批次效应。
去除批次效应之前:
去除批次效应之后:
从直觉上讲,最好是分析的过程中过滤掉这种批次效应。但是即便是同一个人对同一个样本做的相同实验,也有可能因为时间差异导致批次效应,我们需要对这种数据集进行批次效应校正吗?我们对批次效应进行校正的同时也会引入新的问题,它很有可能将生物学本身的差异视为批次效应,然后将其去除。校正批次效应的目的就是:减少batch之间的差异,尽量让多个batch的数据相一致,这样下游分析就可以只考虑生物学差异因素。
我们更希望去除的批次效应,其实是不同实验室,不同建库手段,不同测序平台所引起的批次效应。当我们希望通过合并同一组织数据挖掘出更有意义的信息时,就不可避免的会发现,明明是同个组织的数据,表达量就是存在明显的差异(PCA, t-SNE降维可视化)。
之前有人用bulk RNA-seq的方法(limma, ComBat,RUVseq, svaseq)对单细胞数据进行校正,但是这些工具的基本假设都是"bulk RNA-seq数据中的细胞组成相似",可能适用于一些数据集,但是可推广性不强(Haghverdi et al., 2018)。于是就有一些专门用于单细胞转录组批次校正的工具,例如:
-
Seurat/Integration
-
batchelor/FastMNN
-
scran/mnnCorrect
-
Python/BBKNN
-
BBER
-
Conos
-
LIGER
-
Harmony
最后对于不同的实验设计,我看帖子上大牛们推荐的批次矫正方法:
技术重复: ComBat
细胞系,生物学重复:ComBat
同一个人的癌症和癌旁组织:不校正/Harmony
不同实验室的同一组织:Harmony
同一个实验室做的不同人的样本: 不校正/Harmony
学习:https://blog.csdn.net/u012110870/article/details/115511818
本文使用 文章同步助手 同步
网友评论