【算法详解】R包Seurat v3单细胞数据的综合整合(集成)算法解析

目录

0 参考文献

1 背景概述

2 Seurat数据整合算法

2.1 数据预处理和特征选择

2.2 降维和在不同数据集之间识别anchor

2.3 对anchors过滤(filtering)、评分(scoring)并赋权(weighting)

2.4 数据整合

2.5 多数据集整合

2.6 标签传输

2.7 特征推断


0 参考文献

原论文:Comprehensive Integration of Single-Cell Data

1 背景概述

近年来,分子生物学、微流控技术和计算方法的快速发展已经使得单细胞测序领域不再局限于基于单细胞RNA测序(scRNA-seq)的常规的转录组学分析。一些新方法涵盖对单细胞多方面特征的不同表征,例如免疫表型、基因组序列、谱系起源、DNA甲基化谱、染色质可及性、空间定位等。每种技术都具有其独特的优势和局限性,并且只能测量细胞特性的特定方面。

随着测量不同的细胞模态的新方法的出现,一个关键的问题是如何将这些数据集整合起来,以更好地理解细胞的特性和功能。

将不同单细胞测量数据进行整合主要有以下两方面的挑战:

1)如何使跨个体、技术和模态产生的不同单细胞数据集相互协调,构建成一个统一的参考数据集。

2)当构建了参考数据集后,如何利用其数据和元数据(描述数据的数据)来增进对新实验的分析。

文章提出了一种参考数据整合和迁移学习的统一策略,用于转录组、表观基因组、蛋白质组和空间分辨的单细胞数据。通过在数据集之间识别单细胞之间的细胞成对对应关系(这种细胞对应关系被称为anchor,后面我将直接使用这个词),可以将存在技术差异或生物个体差异的数据集转换到一个共享空间。这使得可以在组织或生物体尺度上构建协调一致的图谱,并有效地将离散或连续数据从参考(reference)数据集对应到查询(query)数据集。

这种方法已经在Seurat v3及以上版本的R包中实现。

2 Seurat数据整合算法

这个算法作用于来自不同技术、不同模态的多个单细胞数据集,将这些单细胞数据整合为一个集成的参考数据集。Seurat返回每个数据集的一个修正后的数据矩阵(corrected data matrix),从而可以在单个workflow中进行联合分析。

该方法由四个主要步骤组成:

1)数据预处理和特征选择

2)降维和在不同数据集之间识别anchor

3)对anchors过滤(filtering)、评分(scoring)和赋权(weighting)

4)数据矩阵修正/跨实验数据转移

以上四步将在下面详细介绍。

2.1 数据预处理和特征选择

首先对所有数据集进行了对数归一化,使用每个细胞的分子数量的尺度因子为10,000。然后对每个基因在所有细胞中的表达值进行了标准化处理(z-score转换),这是在运行主成分分析等降维工具之前的标准步骤。

单个数据集的特征选择:

对于每个数据集,我们希望能够选取一组特征(如基因),使得这组特征在不同细胞之间表现出高度的差异性,即通过这组特征能够较好地区分不同细胞,这通常体现为这些细胞在这组特征上数据的方差较大。

然而,仅根据对数归一化后的方差选择基因是不可靠的,因为这种方法忽略了单细胞RNA序列的固有均值-方差关系,因此首先使用了一个方差稳定变换(variance-stabilizing transformation)来进行校正。

为了从数据中学习均值-方差关系,显示用原始数据(未归一化的数据)计算每个feature的均值和方差,并对二者进行对数变换(以10位底数)。随后以方差为均值的函数拟合曲线,以此我们可以根据给定均值预测方差。

在计算出预期方差后,可以根据下面公式进行变换:

其中z_{ij}是第j个细胞第i个特征标准化后的对应值,x_{ij }是第j个细胞第i个特征的原始值,\overline{x}_{i}是所有细胞第i个特征原始值的平均值,\sigma _i是根据\overline{x}_{i}和拟合的曲线计算出的预期标准差。

为了减少技术异常值的影响,我们将标准化值截断到最大值为\sqrt{N}的范围内,其中N是总细胞数。

这之后再对每个feature计算在所有细胞中对应的标准化值的方差,选取方差最大的前(自定义数量)个作为选取出来的特征。

用于整合分析的多数据集特征选择:

在执行跨数据集的整合时,我们的目标是优先考虑那些在多个实验中被确定为高差异性的特征。因此,我们首先对每个数据集单独执行上述特征选择。根据某个feature在不同数据集中表现出高方差的次数来进行排名和选择。并列的情况下,选择在所有数据集的单独排名中中位数高的特征。

2.2 降维和在不同数据集之间识别anchor

通过降维可以将数据集放置在一个共享的低维空间中。

对于参考数据整合,使用典型相关分析(canonical correlation analysis, CCA)作为初始降维方法。CCA描述的典型相关向量可以有效地捕获同时存在于两个数据集中的相关基因模块,如下图A到B所示。

X_{f,c}表示一个单细胞数据,包含特征f_1,f_2,...,f_n,细胞c_1,c_2,...,c_mY_{f,d}为另一个单细胞数据集,包含特征f_1,f_2,...,f_n,细胞d_1,d_2,...,d_p

由于通常情况下细胞数量m和p远大于特征数量n,因此选择在相关高维应用中表现出良好性能的对角化CCA实现

我们的目标是找到投影向量u和v,使得Xu和Yv之间的相关性最大化,如下所示:

通过SVD方法可以计算出典型相关向量(canonical correlation vector, CCV)u和v,并进行L2正则化。

典型相关向量(CCV)将两个数据集投影到相关的低维空间。对于一个数据集的每个细胞,我们在另一个数据集中找到它的k近邻。最后我们找到它的共同最近邻(mutual nearest neighbors, MNN)作为anchor。

2.3 对anchors过滤(filtering)、评分(scoring)并赋权(weighting)

稳健地识别anchor对于有效的下游整合至关重要。代表来自不同生物状态的细胞的不正确的anchor可能导致不正确的下游结论。然而通过上述过程得到的anchor并不能保证完全正确,也会存在对应错误的概率,如下图所示,黑线为对应正确,红线为对应错误。

因此通过过滤和评分来减轻不正确的anchor造成的影响。

过滤(filtering):

我们希望低维空间中识别的anchor受到高维空间数据的支持。因此我们使用与之前CCV最强相关的(自定义数量)个特征的原始数据,对query数据集中的细胞在reference数据集中搜索最近邻,如果anchor对应的细胞在前(自定义数量)个近邻中,则保留该anchor,否则过滤掉。

评分(scoring):

为了进一步减小不正确识别的anchor的影响,文章实施了一种评分的方法,类似于图聚类算法中使用的共享最近邻(SNN)图的方法。对于每个anchor中属于reference的细胞,确定其k个reference数据集内最近邻和其kquery数据集最近邻。这可以让我们得到四个邻居矩阵,将它们合并成一个总体邻域图。对于每个anchor,计算共享邻居重叠数量,并将这个值作为anchor分数。

为了减小离群分数的潜在影响,使用0.01和0.90分位数将anchor的分数重新缩放到0到1的范围内。

赋权(weighting):

文章构建了一个权重矩阵W,用于定义每个query细胞c与每个anchor i之间的关联强度。这些权重基于两个组成部分:query细胞与anchor之间的距离以及先前计算的anchor得分。通过这种方式,处于不同生物状态的query细胞(例如 alpha 细胞和 gamma 细胞)将受到不同的anchor集合的影响。

对于query数据集中的每个细胞c,在PCA空间中找到最近的k:weight个anchor细胞。然后这些anchor根据它们与细胞c距离和与第k:weight个锚点细胞的距离进行加权,并乘以anchor得分Si。对于每个细胞c和anchor i,我们首先计算加权距离,如下所示:

随后使用高斯核(sd是高斯核带宽):

最后进行标准化:

2.4 数据整合

在识别了anchors并构建了权重矩阵W之后,先根据下面公式计算矩阵B,其中每一列代表一对anchor细胞表达向量之间的差异:

随后根据下面公式计算出变换矩阵C:

随后使用原始数据矩阵Y减去C计算出整合的表达矩阵:

校正后的表达矩阵可以被视为一个经过标准化的单细胞RNA测序矩阵,可以通过任何单细胞分析工具包进行后续处理。

2.5 多数据集整合

文章在多个数据集整合方面的方法受到了多序列比对方法的启发。许多多序列比对算法都是从构建所有成对比对开始,然后继续合并这些成对比对,逐步形成最终的多序列比对。

文章采用了类似的方法,首先识别和评分所有数据集对之间的anchor,然后逐步构建最终的整合数据集。

2.6 标签传输

对于细胞元数据的传输,创建一个包含reference数据集中每个anchor细胞的分类信息的二进制分类矩阵L。L中的每一行对应于一个可能的类别,每一列对应于一个reference数据集中的anchor细胞。如果一个reference数据集anchor细胞属于某一类别,则对应位置为1,否则为0.

通过下面公式计算出query数据集中细胞的类型预测分数矩阵:

2.7 特征推断

用于传输连续数据的过程与离散标签传输密切相关。通过将要传输的anchor的特征矩阵F与权重矩阵W的转置相乘来计算query数据集中细胞的特征表达预测矩阵:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值