scJoint通过迁移学习整合图谱规模单细胞RNA和ATAC数据.

0. TL; DR

本文提出了 scJoint,一个基于迁移学习(Transfer Learning)和半监督学习(Semi-supervised Learning)的神经网络框架。scJoint将整合问题转化为一个从scRNA-seq(源域)到scATAC-seq(目标域)的领域自适应问题。它利用scRNA-seq的细胞类型标签作为强大的监督信号,同时训练带标签的RNA数据和无标签的ATAC数据,实现了高效的标签迁移(label transfer)

scJoint展现了惊人的计算效率和可扩展性,仅用2小时就能整合超过一百万个细胞,这是当时其他主流方法难以企及的。在多个大规模图谱数据集上,scJoint的细胞类型注释准确率平均比其他方法高出20%,并能生成质量更高的联合可视化图谱。

1. 背景介绍

scRNA-seqscATAC-seq的数据整合任务中,当数据规模达到图谱级别(Atlas-scale,即包含多种组织、多种细胞类型、数百万细胞)时,现有方法往往会遇到瓶颈:

现有方法的这些局限性,阻碍了我们充分利用日益增长的图谱数据。我们需要一个更强大、更稳定、可扩展性更强的解决方案。

scJoint指出,既然有大量带高质量标签的scRNA-seq数据。可以把它们作为知识源,通过迁移学习的方式将这些知识迁移到scATAC-seq数据上。

2. scJoint 方法

为了让一个神经网络能同时处理scRNA-seqscATAC-seq两种数据,首先需要将它们转换成同一种语言。作者采用一个简单而有效的方法:

通过这一步,两种模态的数据都可以在同一个基因空间中进行比较和处理。因此,scJoint可以采用一个共享权重(weight sharing)的编码器来同时处理它们,这大大简化了模型结构,并增强了训练的稳定性。

scJoint的核心是一个简单的双层全连接神经网络,整个流程分为三个关键步骤。

步骤一:联合降维与半监督学习

模型通过一个组合的损失函数,同时实现降维、对齐和分类三大目标。

给定一个mini-batch的数据,其中包含带标签的scRNA-seq细胞和无标签的scATAC-seq细胞,总损失函数 $L_1$ 由三部分组成:

⚪ NNDR损失 (Neural Network based Dimension Reduction Loss)

传统方法需要预先挑选高可变基因,而scJoint通过NNDR损失,将特征选择和降维的过程融入了神经网络的端到端学习中。

NNDR损失的目标与主成分分析(PCA)异曲同工:它鼓励模型学习到的低维嵌入(embedding)具有最大的方差和特征间的正交性。对于一个batch $B$ 的嵌入向量 ${f_{\theta, b}}$,其NNDR损失为:

\[\begin{aligned} L_{NNDR}(B, \theta) &= \left( \frac{1}{B \cdot D} \sum_{b \in B} \sum_{j=1}^D |f_{\theta, b}(j) - \bar{f}_{\theta, \cdot}(j)| \right)^{-1} \\ &+ \frac{1}{D^2} \sum_{i \neq j} |\Sigma_{\theta, \cdot}(i,j)| + \frac{1}{BD} \sum_{b \in B}\sum_{j=1}^D |\bar{f}_{\theta, \cdot}(j)| \end{aligned}\]

第一项最大化每个嵌入维度上的方差。第二项最小化不同嵌入维度之间的相关性,促使特征正交。通过优化这个损失,网络被引导去自动发现数据中最重要的、信息量最大的低维特征,从而无需手动筛选高可变基因。

⚪ 余弦相似度损失 (Cosine Similarity Loss)

用于实现两种模态的灵活对齐。对于scATAC-seq数据(目标域),希望它能与scRNA-seq数据(源域)对齐。但考虑到两种数据来源的细胞类型可能不完全重叠,因此不要求所有细胞都强制对齐。

具体做法是:对于每个ATAC细胞,在所有RNA细胞中找到与它余弦相似度最高的那个。然后只选择相似度得分排在前 $p$ 百分位的那些最佳匹配对,并最大化它们的余弦相似度。

\[L_{cos}(B^{(t)}, B_R, \theta) = - \frac{1}{\lfloor Bp \rfloor} \sum_{b \in I_p} \cos(f_{\theta, b}^{(t)}, f_{\theta, i(b)})\]

其中 $I_p$ 是相似度最高的 $p$ 比例的ATAC细胞集合。这种只对齐最好的策略,为处理细胞类型不完全匹配的异构数据提供了极大的灵活性。

⚪ 交叉熵损失 (Cross Entropy Loss)

对于带标签的scRNA-seq数据,直接使用其细胞类型标签进行监督训练,优化标准的分类交叉熵损失。

\[L_{entropy}(B^{(s)}, \theta) = - \frac{1}{B} \sum_{b \in B^{(s)}} \sum_{k=1}^K \mathbb{I}(y_b^{(s)}=k) \log g_{\theta, b}^{(s)}(k)\]

这个监督信号引导整个共享嵌入空间的构建,使得具有相同细胞类型的细胞(无论来自RNA还是ATAC)都能被映射到相近的位置。

步骤二:细胞类型标签迁移 (Label Transfer)

经过步骤一的训练,得到了一个初步对齐的共享嵌入空间。现在可以进行标签迁移:

  1. 对于每一个scATAC-seq细胞,在嵌入空间中找到其k个最近邻(KNN)scRNA-seq细胞。
  2. 通过对这k个RNA邻居的细胞类型标签进行多数投票(majority vote),来预测该ATAC细胞的类型。
  3. 同时还可以计算一个概率分数,来评估这个预测的可信度。

步骤三:利用迁移标签进行联合训练

为了进一步优化嵌入空间,提高两种模态的混合程度,可以进行第二轮训练。

  1. 将步骤二中为scATAC-seq细胞预测的“伪标签”视为真实标签。
  2. 现在,所有细胞(RNAATAC)都有了标签。在步骤一的损失函数基础上,额外加入一个中心损失(Center Loss)
\[L_{center}(B_0, \theta) = \frac{1}{|B_0|K} \sum_{b \in B_0} \sum_{k=1}^K \|f_{\theta, b} - c'_k\|^2 \cdot \mathbb{I}(y_b = k)\]

中心损失的目标是拉近同类细胞的嵌入向量与该类中心的距离。通过引入这个度量学习的损失,可以使得嵌入空间中的类簇更加紧凑,不同模态的同类细胞混合得更好。

最终,scJoint输出一个高质量的联合嵌入空间,可用于下游的可视化和分析,并为所有scATAC-seq细胞提供精准的细胞类型注释。

3. 实验分析

作者在多个复杂、大规模的数据集上,将scJointSeurat v3, Conos, Liger等主流方法进行了全方位对比。

3.1 实验一:整合百万细胞级别的人类胎儿图谱

作者构建了从1万到超过100万个细胞的不同规模的数据集。在这些数据集上, scJoint的运行时间几乎是线性增长的,整合超过100万个细胞仅需2小时。相比之下,SeuratLiger在处理50万细胞时就因内存溢出而崩溃,Conos在处理100万细胞时也失败了。scJoint是唯一能处理如此大规模数据的方法。在所有数据规模下,scJoint的标签迁移准确率都远高于其他方法。在10万细胞以上的数据集上,其准确率平均比其他方法高出20%。

3.2 实验二:整合异构的小鼠细胞图谱

这个数据集的scRNA-seq图谱和scATAC-seq图谱的细胞类型不完全重叠。t-SNE图显示,scJoint能更好地将三种不同的技术平台(FACS, Droplet, ATAC)的数据混合在一起,同时保持细胞类型的清晰分离。量化指标也证实了这一点:scJoint在细胞类型轮廓系数和F1-score上均取得最高分,实现了在去除技术差异和保留生物信号之间的最佳平衡。即便只用20%的scRNA-seq数据作为训练集,scJoint依然能保持很高的注释准确率,证明其对部分标注的数据也同样适用。

scJoint的准确率达到了84%,显著高于Seurat的70%和Conos的71%。

scJoint不仅能为scATAC-seq数据中的未知细胞群进行精准注释,还能发现并修正原始ATAC图谱中可能错误的注释。例如,它将原始数据中被标为“内皮细胞”的一部分细胞,更准确地修正为“基质细胞”和“成纤维细胞”,并得到了marker基因表达的有力支持。

3.3 实验三:整合跨生物学条件的多模态数据(CITE-seq & ASAP-seq)

作者分析了一个包含T细胞刺激和对照两种条件的数据,以检验scJoint在更复杂生物学背景下的表现。

无论是单独处理对照/刺激组,还是将两者混合处理,scJoint在联合可视化、批次校正与生物信号保留的平衡(最高的F1-score)、以及标签迁移准确率(87%)上,都全面碾压了Seurat, ConosLiger

scJoint的联合嵌入空间具有更高的分辨率。它成功地分离出了一个在其他方法中与CD8+ T细胞混淆的、罕见的自然杀伤T细胞(NKT细胞)亚群,并得到了marker基因和蛋白表达的证实。这充分展示了scJoint通过有效整合发现新生物学洞见的潜力。