大家好!我是国科东方绿豪克,我是生命科学方向的博士。
(接上一期)
单细胞转录组的批次效应校正
在分析流程(一)中,需要考虑技术因素,而技术因素中很重要的就是批次效应校正。
批次效应是高通量测序实验中常见的技术变异来源,在单细胞制备过程中一次可以产生大量的单细胞,但是scRNA-seq需要成千上万的高质量单细胞,要达到相应的数据量,就需要多批次的制备单细胞。
而这个批次效应会引入系统错误,混淆技术和生物变异,从而导致一个批次的基因表达谱与另一个批次的基因表达谱存在系统差异。
所以,为了避免不正确的数据整合和解释导致掩盖了本真的生物学特性,批次效应必须在下游分析之前纠正。
针对scRNA-seq的批次效应校正方法也有很多。
首先我介绍一下MutualNearestneighbors(MNNs),该方法不同于传统的RNA-seq的去批次效应,因为scRNA-seq的数据,维度更高,数据也更多,因此用广义线性模型去批次效应较差。
那么MNN算法定义了批次之间最相似的相同类型细胞,并根据这些不同批次之间最相似的细胞来消除生物学相关批次之间的差异。基本原理如下:
上图表示两个批次的数据,不同颜色代表不同的细胞类群。MNN算法首先对数据进行余弦归一化,然后对归一化后数据计算细胞间的欧氏距离。再进一步进行邻近处理,此时软件就可以在两个批次之间寻找最邻近的细胞类群,如下图中x和x’以及y和y’。
进一步对细胞类群进行批次校正,利用高斯核函数计算两个批次之间距离最近的两个细胞类群,x与x’或y和y’被认为是同一细胞类群,所以相对应两个批次之间的细胞类群距离就是批次效应带来的影响(如下图所示)。
进一步将第二批次的细胞统一减去这两批之间的距离,将第二批次的细胞类型投射于第一批次所在平面内,这样就去除了两批次之间的差异(如下图)。如果有更多的批次,则重复上述步骤。
MNN软件大家可以从Github上下载。
当然也可以直接利用R包:batchelor,调用batchelor后,result=mnnCorrect(A1,A2)。其中A1和A2为两批次的单细胞表达矩阵。
除了MNN算法外,还可以选用单细胞分析软件Seurat来进行批次效应处理。最新版本的Seurat对批次校正的算法进行了更新,主要通过multicanonicalcorrelationanalysis(CCA)的算法对数据进行降维,得到亚空间。然后进一步利用MNN算法在CCA亚空间的细胞进行计算,然后将两个数据集进行锚定(如下图)。
另外,除了以上两种方法,还有Harmony算法和LIGER算法。
Harmony算法利用PCA进行降维,在降维后的空间里通过迭代消除当前批次效应。每次迭代过程中对不同批次的相似细胞进行细胞聚类,最大化每个聚类批次的多样性,然后计算应用于每个细胞的批次校正因子。
LIGER是基于非负矩阵分解和聚类,使用共享因子邻域图搜索具有相似领域的细胞,然后一个细胞簇作为标准,将因子加载分位数归一化去匹配选定的参考数据集,从而完成校正。
当然,还存在很多批次校正的方法,也有很多资料对不同批次校正的方法进行了评估。