社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

Nat. Commun.| 基于多模态深度学习方法的单细胞多组学数据聚类

DrugAI • 2 年前 • 336 次点击  

编译 | 程昭龙

审稿 | 林荣鑫,王静


本文介绍由新泽西理工学院计算机科学系的韦智通讯发表在 Nature Communications 的研究成果:单细胞多模态测序技术的发展是为了在同一细胞中同时分析不同模态的数据,它为在单细胞水平上联合分析多模态数据从而识别不同细胞类型提供了一个独特的机会。正确的聚类结果对于下游复杂生物功能研究至关重要。然而,结合不同数据源对单细胞多模态数据进行聚类分析仍然是一个统计学和计算上的挑战。为此,作者提出了一种新的多模态深度学习方法scMDC,用于单细胞多组学数据聚类分析。scMDC是一种端到端的深度模型,它可以明确地表征不同的数据源,并联合学习深度嵌入的潜在特征以进行聚类分析。大量的模拟数据和真实数据实验表明,scMDC在不同的单细胞多模态数据集上均优于现有的单细胞单模态和多模态聚类方法。此外,运行时间的线性可扩展性使scMDC成为分析大型多模态数据集的有效方法。

简介

单细胞RNA测序(scRNA-seq)可获取单个细胞内的高分辨率图像。基于scRNA-seq技术,近年来开发了多种多模态测序技术,以联合分析单个细胞中的多种模态数据。例如,CITE-seq (通过对转录组和表位进行细胞测序)和REAP-seq (RNA表达和蛋白质测序分析)已经被开发用于在细胞水平上分析mRNA表达和定量表面蛋白。除了研究单细胞转录组和表面蛋白外,单细胞方法scATAC-seq (染色质转座酶可及性测序)的发展提供了测量单细胞染色质可及性的机会。此外,已经开发的一些多组学单细胞技术,以联合分析单细胞内的染色质可及性和基因表达,例如SNARE-seq和10X单细胞多组ATAC +基因表达(SMAGE-seq)。总之,这些多模态测序技术提供了更全面和复杂的单细胞图谱。


在多模态数据中,不同模态提供的生物学信息是互补的,每种模态一般都有其优缺点。以CITE-seq为例,其ADT模式聚焦于表面蛋白。ADT数据显示了较低的丢失率,因此可以可靠地量化细胞活性。对于本研究分析的五个CITE-seq数据集,其ADT数据的丢失率高达12%。相比之下,其相应的mRNA数据中有超过80%甚至90%的条目为零。对于大多数基因来说,蛋白质是实现其功能的最终产物,信使RNA是其直接产物。因此,ADT数据似乎是表征细胞功能和类型的理想方法。然而,由于目前技术的限制,ADT只能分析数百种蛋白质。由于这一限制,研究者通常首先在ADT模式中纳入已知的细胞类型标志物。因此,ADT数据善于识别常见的细胞类型。然而,由于ADT数据的维度有限,它可能不能很好地检测罕见或次要细胞类型。相比之下,mRNA数据的全转录组可以捕获全面的细胞类型。然而,基于scRNA-seq的细胞聚类可能会受到高丢失率和高维稀疏性的影响。此外,在考虑转录和翻译后的调控时,同一基因产生的ADT和mRNA来源的数量可能不相同。在这种情况下,ADT和mRNA数据为细胞类型识别提供了互补信息。SNARE-seq、SMAGE-seq以及scATAC-seq数据提供的染色质可及性信息也是mRNA数据的补充。因此,通过整合来自多模态的信息,能够获得更高分辨率的细胞分型。


聚类分析是大多数单细胞研究中必不可少的步骤,并且已经得到了广泛的研究。基于聚类结果,研究人员可以探索细胞类型或亚型水平的生物活性,而对bulk数据的研究是无法做到这一点的。目前已经设计了许多聚类方法来分析scRNA-seq数据,例如Tscan、 Seurat和SC3。然而,这些传统的单细胞聚类方法不能充分利用多组学数据的优势来提高聚类性能,因此不适用于多模态数据。


过去几年中,出现了几种用于CITE-seq数据的聚类分析方法。作者也在最近提出了一种单细胞深度约束聚类框架scDCC,该框架可以通过手动定义的约束将ADT信息集成到scRNA-seq数据的聚类分析中。BREM-SC是一种分层贝叶斯混合模型,采用两个多项式模型联合表征scRNA-seq和ADT数据。它假设多项式模型中的比例(基因或蛋白质的相对表达水平)遵循狄利克雷分布,并引入细胞特异性随机效应来模拟两个数据源之间的相关性。虽然BREM-SC是最早提出的用于CITE-seq数据聚类分析的模型之一,但它有几个局限性。首先,它假设数据遵循特定的分布,但这种参数假设可能并不适用于所有的实际应用。其次,BREM-SC并不能表征dropout事件,这是scRNA-seq数据聚类的主要问题。最后,BREM-SC存在可扩展性问题。当分析数千个细胞时,BREM-SC的运行时间大大增加。


同时,CiteFuse、Seurat V4和Specter可以使用基于距离的图来聚类CITE-seq数据。CiteFuse分别计算ADT和mRNA的细胞间相似性矩阵,再通过相似性网络融合算法将两者合并,之后采用spectral和Louvain算法等基于图的聚类算法对合并后的相似性矩阵进行聚类。然而,基于相似性矩阵的聚类不能明确考虑scRNA-seq数据中的dropout事件。Seurat V4开发了一种用于多组学数据聚类的加权最近邻(WNN)程序。WNN程序学习多模态数据的权重,并通过mRNA和蛋白质视图的加权组合生成细胞的相似性图。Spector是一种基于界标的谱聚类(LSC)方法,用于聚类具有线性时间可扩展性的单细胞数据。与BREM-SC和CiteFuse算法相比,WNN算法和Specter算法运行速度更快,占用内存更少。但是,这两种方法也没有考虑到计数数据中的dropout事件。


另一项相关的研究方向是学习不同模态的联合嵌入,这种联合嵌入有望改进包括聚类在内的各种下游分析。TotalVI是一种深度变分自编码器,可以捕获不同数据类型的相同潜在空间。通过这种设计,TotalVI可以从CITE-seq数据中学习配对ADT和mRNA测量的联合概率表示,这些数据解释了每种模态的不同信息。同样,对于SNARE-seq或SMAGE-seq数据,Cobolt和scMM采用多模态变分自编码器对多种模态进行联合建模,并学习单细胞mRNA-seq和ATAC-seq数据的联合嵌入。然而,这些专注于联合嵌入的方法并不是为聚类而设计和优化的,其划分策略对于聚类来说不是最优的。


综上可知,在学习嵌入或聚类的过程中,现有的很多方法都没有考虑到单细胞数据中的dropout事件。然而,普遍存在的dropout事件使得单细胞计数数据存在零膨胀和过度分散的问题。为了更好地表征单细胞mRNA计数数据,零膨胀负二项(ZINB)模型被广泛用于解释大离散和dropout事件。许多基于ZINB模型的方法(包括深度学习方法)已被开发用于分析scRNA-seq计数数据,其中包括ZINB- WaVE、DCA、scVI和scDeepCluster。这些研究表明,ZINB模型可以有效地表征scRNA-seq数据,并提高表征学习和聚类结果。


在本文中,作者提出了一种用于多模态单细胞数据聚类分析的多模态深度学习模型scMDC,scMDC的网络架构如图1所示。scMDC采用多模态自动编码器,对不同模态的连接数据采用一个编码器,对每个模态的数据分别采用两个解码器解码。在scDeepCluster之后,使用ZINB损失作为重建损失,并将瓶颈层用于深度k均值聚类。为了进一步改进潜在特征学习,作者引入了一种基于Kullback-Leibler散度的损失(KL损失),该损失吸引相似的细胞,分离不同的细胞。同时对整个模型进行优化,包括自动编码器、KL-loss和深度k均值聚类。scMDC是一种端到端的多模态深度学习聚类方法,用于建模不同的多组学数据。利用图形处理单元(GPU)的优势,scMDC在大型数据集的分析中非常高效。此外,通过使用条件自动编码器框架,scMDC可以在分析多批数据时校正批次效应。scMDC是第一个端到端的深度聚类方法,既可以集成多模态数据,又可以消除不同类型多模态数据的批次效应。从对CITE-seq和SMAGE-seq数据的大量实验中可以观察到scMDC的优越性能。聚类后,对于给定的集群,作者还通过将ACE模型移植到scMDC中来检测标记物(基因或蛋白质),并根据从ACE学习到的基因排序进行基因集富集分析。这些下游分析的结果又进一步证明了scMDC聚类性能的优越性。

图1 scMDC模型架构


结果

真实CITE-seq数据评估

作者首先评估了scMDC在CITE-seq数据集上的聚类性能,并与10种竞争方法进行了比较。竞争方法包括用于多模态数据聚类的模型(BREM-SC, CiteFuse, Specter和SeuratV4),用于学习单模态或多模态数据嵌入的模型(SCVIS和TotalVI),用于单细胞数据的两种聚类工具(SC3和Tscan),以及两种通用的聚类方法(IDEC和K-means)。作者在七个单批次CITE-seq数据集和两个多批次CITE-seq数据集上测试了这些方法。在这10种比较方法中,只有scMDC、Seurat和TotalVI可以在聚类前校正批次效应。假设scMDC可以提高所有CITE-seq真实数据集的聚类性能。图2显示了不同数据集上所有方法的性能(AMI、NMI和ARI)。总体而言,多模态方法比单模态方法显示出明显的优势。如图2a所示,对于大多数单批次数据集,scMDC在两个指标上的表现都优于竞争方法。对于两个多批次数据集,scMDC优于所有竞争方法(图2b);TotalVI和Seurat虽然不如scMDC,但由于它们能够校正批次效应,因此性能优于其他竞争方法。图2c总结了scMDC和竞争方法之间的性能差异,正差异意味着scMDC的性能高于竞争方法。实验发现,在多个数据集中,scMDC比所有的竞争方法都具有稳定的优势。图2d显示了九个数据集中每种方法的平均排名。可以看到,scMDC的三个指标在所有数据集中都排名第一。综上所述,在多个真实数据集上的结果表明,scMDC在CITE-seq数据集上的聚类性能具有稳定性和鲁棒性。

图2  scMDC及其竞争方法在不同CITE-seq数据集上的聚类性能


真实SMAGE-seq数据评估

作者在SMAGE-seq数据上测试了scMDC的聚类性能,并将scMDC与四种竞争方法进行了比较:Cobolt、scMM、SeuratV4和K-means + PCA。Cobolt和scMM用于多组学数据嵌入学习,SeuratV4是为CITE-seq数据开发的,此处将WNN算法应用于SMAGE-seq数据。作者在来自10X基因组学的三个真实SMAGE-seq数据集上测试了这些方法,包括两个PBMC数据集和一个胚胎小鼠大脑数据集。同时还通过合并两个PMBC数据集(记为PBMC13K)进行了多批次实验。对于scATAC-seq数据,作者使用细胞到基因的矩阵作为scMDC、scMM、Seurat和Kmeans的输入,该矩阵是通过将ATAC读长映射到基因区域来建立的。Cobolt使用峰值计数矩阵作为输入。图3显示了scMDC和竞争方法在单批次数据集(a)和多批次数据集(b)中的聚类性能。结果发现scMDC在单批次数据集和多批次数据集中都具有优越性能。图3c总结了scMDC和其他竞争方法在聚类性能上的差异。实验发现,对于所有竞争方法,AMI和NMI的中位数差异约为0.1,ARI约为0.3,这说明了scMDC的优越性。然后,作者根据性能指标对每个数据集的所有竞争方法进行排名。图3d显示了四个数据集中每种方法的平均排名。实验可知scMDC在三个指标中都是最好的。

图3 scMDC及其竞争方法在不同SMAGE-seq数据集上的聚类性能


综合CITE-seq和SMAGE-seq的实验结果,可以得出结论,scMDC是一种适用于各种单细胞多模态数据的通用且有前景的聚类模型。


模拟实验

为了测试scMDC在不同场景下的鲁棒性,作者对不同的聚类信号和丢失率进行了两次模拟实验。其中模拟数据集是由R中的SymSim包(v0.0.0.9)生成。图4a-c分别展示了在低、中、高聚类信号的模拟CITE-seq数据上,scMDC和竞争方法的性能。scMDC在所有级别的聚类信号中表现出了卓越的性能,尤其是在AMI和NMI方面。此外,当聚类信号较低时,scMDC比其他方法表现出更大的优势,显示出其处理低信噪比数据集的能力。图4d-f分别显示了低、中、高丢失率的所有方法的聚类结果。实验可知scMDC在各种丢失率下的性能最优,其次是TotalVI。并且与其他竞争方法相比,丢失率越高,scMDC性能提升就越大。scMDC在高dropout事件下的鲁棒性能使其成为一种较好的聚类方法。对于多批次数据,作者将scMDC与TotalVI和Seurat进行了比较,这是两种可以校正批次效应的竞争性方法,实验采用中等丢失率和聚类信号模拟多批次数据集。实验结果可知,scMDC在三个指标上都优于这两种竞争方法(图4g)。图4h总结了scMDC与各竞争方法的性能差异,尽管不同方法的差异分布有所不同,但所有差异的中位数均大于零,这表明scMDC相对于所有竞争方法都具优势。同样,作者在这些模拟数据集的分析中对所有方法进行了排名。scMDC和TotalVI分别排在第1位和第2位(图4i)。与真实数据集的结果一样,多组学方法的总体性能优于单源方法。这些模拟结果表明,scMDC在各种场景下都具有稳健的聚类性能。

图4 scMDC及其竞争方法在模拟数据集上的聚类性能


真实数据的潜在表示

图5显示了scMDC (a)和四种竞争方法IDEC (b)、SCVIS (c)、TotalVI (d)、Seurat (e)在BMNC数据集上的嵌入t-SNE图,前三列表示三个标记基因在t-SNE图中的表达模式。实验发现scMDC可以在潜在空间中分裂大多数细胞类型。在scMDC的潜在空间中,标记基因仅在一些孤立的簇中表达。而在其他方法的潜在空间中,标记基因要么在多个簇中表达,要么在大簇的一部分中表达。之后作者还构建了多批次数据集SLN111的嵌入t-SNE图(图6)。这个数据集包含28种细胞类型,包括一些大细胞类型和小细胞类型。一个理想的模型应该能够在潜在空间上划分不同的细胞类型,以及去除批次效应并在潜在空间上混合不同批次的细胞。图6显示了scMDC (a)和四种竞争方法包括IDEC(b)、SCVIS(c)、TotalVI(d)和Seurat (e)的潜在表示。实验结果表明,scMDC可以分离潜在空间中的大多数细胞类型。此外,它将大多数簇中的两批细胞混合在一起。IDEC可以分离大细胞类型,但不能分离许多小细胞类型。SCVIS、TotalVI和Seurat在潜伏空间中划分不同细胞类型的性能较差。与scMDC一样,TotalVI和Seurat在批次效应校正方面也有较好的表现。SCVIS和IDEC无法解决批次效应,因此两个批次的细胞在潜在空间上被分离。综上所述,scMDC是唯一在细胞类型区分和批次效应去除方面都具有优越性能的方法。

图5 scMDC及其竞争方法在BMNC数据集上的低维表示


图6 scMDC及其竞争方法在SLN111数据集上的低维表示


使用多模态数据的优点

不同的组学数据为细胞聚类和细胞分型提供了不同的互补信息。因此,在聚类中使用多组学数据应该比使用单源数据能够获得更好的性能。在这个实验中,作者进行了两个测试。在第一个测试中,作者比较了scMDC和三个变体模型的性能:仅具有mRNA输入和重建损失的scMDC子模型(scMDC-RNA),仅具有ADT/ATAC输入和重建损失的scMDC子模型(scMDC-ADT/scMDC-ATAC),以及具有连接mRNA和ADT数据作为输入并只有一个重建损失的变体模型(scMDC- Concat)。图7a, b分别显示了scMDC和三种变体模型在CITE-seq和SMAGE-seq数据中的性能,可以发现scMDC在所有数据集中都优于变体模型。图7c总结了scMDC与各变异体模型的性能差异。可知scMDC相对于所有的变体模型具有稳定的优势。考虑到scMDC的子模型没有针对scRNA-seq数据聚类进行优化,作者将scMDC与scDeepCluster进行了比较。值得注意的是,scMDC使用多组学数据作为输入(mRNA + ADT或mRNA + ATAC),而scDeepCluster仅使用mRNA-seq数据作为输入。实验发现scMDC在所有数据集中的性能都优于scDeepCluster(图7d, e),这说明scMDC可以集成来自多模态数据的信息从而提高聚类性能。实验结果表明,scMDC- RNA正确地分离了一些微小细胞类型,但错误地合并了一些大细胞类型。相比之下,scMDC-ADT能分离出大多数大细胞类型,但不能检测出一些小细胞类型。scMDC-Concat表现出与scMDC-RNA相似的性能,这表明mRNA数据在级联输入中起主导作用。在潜在空间上,scMDC在细胞类型划分上也优于变体模型。此外,通过将单模态scMDC (scMDC- RNA和scMDC-ADT /scMDC- ATAC)与其他单模态方法进行比较。在大多数数据集中,单模态的scMDC模型也有最佳或接近最佳的性能。在这些单模态方法的基础上,多模态scMDC通过集成两个组学数据的信息进一步提高了聚类性能。

图7 scMDC及其变体模型在多模态数据集上的聚类性能


下游分析

基于聚类结果,作者进行了两种流行的下游分析,差异表达分析(DE)和基因集富集分析(GSEA)。作者采用ACE算法,根据基因的置信度对基因进行排序,并将其分配到一个簇中。DE分析可以在两个簇之间进行,也可以在一个簇和其他簇之间进行。然后,根据归一化的mRNA计数计算每个基因的对数变化,得到差异表达的方向。通过基因排序和方向,再进行GSEA来找到目标簇中的富集通路。在本文中,作者对BMNC数据中的四个最大集群进行了DE和GSEA,所有比较都是在目标簇和其他簇之间进行的。这些下游分析进一步巩固了scMDC聚类结果的正确性。


超参数调整和时间复杂度

scMDC有两个关键的超参数φ (Phi)和γ (Gamma),分别控制KL损失和聚类损失。研究发现,当φ 小于 0.01和γ 小于10时,scMDC对这些参数不敏感。当φ超过0.01和γ超过10时,scMDC的性能急剧下降。值得注意的是,聚类损失对大多数数据集的性能有明显的贡献。另一方面,KL损失对一些CITE-seq数据集的性能略有贡献,但提高了SMAGE-seq数据集的性能,特别是在ARI中。


为了测试scMDC的运行时间,作者模拟了细胞数范围为1000到100000的数据集。研究发现scMDC的运行时间与细胞数之间存在线性关系。当细胞数为10000时,scMDC仅需约7 分钟即可完成聚类分析。即使细胞数多达十万,scMDC完成聚类分析也只需要1小时左右。


总结

本文介绍了一种用于不同单细胞多组学数据聚类分析的多模态深度学习方法scMDC。scMDC使用多模态自动编码器联合建模mRNA和ADT/ATAC数据。在自动编码器的瓶颈层上进行深度k均值聚类,并采用KL损失来分离不同的细胞群。scMDC是一种端到端的深度模型,所有组件同时优化。目前用于CITE-seq数据的聚类方法要么采用浅贝叶斯模型,要么结合两个基于距离的mRNA和ADT图,以利用来自不同数据源的信息。这些方法没有明确地对mRNA或ADT计数数据中的dropout事件和过度分散进行建模。实际数据结果表明,基于多模态的深度学习方法可以更有效地表征不同来源的CITE-seq和SMAGE-seq计数数据。


聚类结果对差异表达和基因集富集分析等下游分析至关重要。作者使用基于深度学习的差异表达算法,根据基因被分配到目标集群的置信度对目标集群中的基因进行排序。给定排序的基因列表,GSEA可以在功能水平上对细胞类型进行分析。这种深度差异表达方法相对于传统方法更具优势。随着GPU的加速,scMDC能够非常高效地分析大型多组学数据集。综上所述, scMDC是一种很有前景的单细胞多组学数据分析方法。

参考资料

Lin, X., Tian, T., Wei, Z. et al. Clustering of single-cell multi-omics data with a multimodal deep learning method. Nat Commun 13, 7705 (2022). https://doi.org/10.1038/s41467-022-35031-9


数据

https://github.com/tarot0410/BREMSC

https://support.10xgenomics.com/single-cell-gene-expression/datasets

https://www.10xgenomics.com/resources/datasets

代码

https://github.com/xianglin226/scMDC/releases/tag/v1.0.0

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151041
 
336 次点击