单细胞转录组测序(scRNA-seq)可以在单细胞精度下解析组织中细胞的表达特征,使得研究人员能以更高的分辨率定量群体内的细胞异质性,揭示潜在的异质细胞群体和复杂组织的动态。然而scRNA-seq数据中存在的大量技术零值,将对下游的细胞聚类、差异基因、细胞注释、拟时序等分析造成影响,阻碍了对有意义的生物学信号的发现。利用细胞与细胞、基因与基因之间潜在的关联性,通过已观测到的数据来对技术零值进行填补是解决这个问题的主要思路。基于此,本文综述了scRNA-seq数据中填补技术零值的基本方法,并讨论了现有方法的优势和不足,最后对方法的使用和开发进行了推荐和展望。
引用本文: 姜超, 胡龙飞, 徐春祥, 葛芹玉, 赵祥伟. 单细胞转录组数据中dropout的填补方法. 生物医学工程学杂志, 2023, 40(4): 778-783, 791. doi: 10.7507/1001-5515.202301009 复制
0 引言
单细胞转录组测序(single-cell RNA sequencing,scRNA-seq)是将分离的单个细胞的转录组RNA反转录为cDNA,在cDNA上添加细胞标签(Barcode)和特异性分子标签(unique molecular indentifier,UMI),然后利用高通量测序技术进行cDNA测序,从而获得特定器官或组织在某一状态下的转录本的测序技术。该方法克服了传统基于整体组织块RNA(Bulk RNA)测序中无法解析细胞异质性的问题,使得研究人员能够在单细胞分辨率下检测基因表达信息,从而能更精确地从细胞占比、细胞特异性基因表达等层面去解析组织的状态与RNA的关系。
scRNA-seq自2008年发表以来不断发展[1],涌现出许多不同的方法。这些方法之间的差异主要在于对原始转录本的标记和生成测序文库的方式不同,这也导致了不同的检测效率。基于板的技术,如SMART-seq2[2],在单个实验中可以捕获数百个细胞,每个细胞测序的数据量较高,通常能获得全长cDNA的信息,是一种低通量的方法。基于磁珠或微珠的技术,如10X Chromium[3],通量可以达到数千甚至数万个细胞,使用Barcode标记细胞从而在测序数据中区分细胞来源,使用UMI对每个细胞的转录本进行无偏定量。该类方法通量虽高但通常不会获得转录本全长的测序信息。
随着scRNA-seq技术的发展,它在胚胎发育[4]、神经元多样性[5]等生物学领域的应用越来越广泛,但每个细胞检测到的基因数量仍然受到技术限制[6]。在测序实验中,因为单个细胞中所含mRNA非常微量,反转录成cDNA的过程中大量的mRNA丢失,只有少量的cDNA被扩增。因此,扩增偏倚、低RNA捕获率等技术因素,导致scRNA-seq实验存在大量假0值,称为dropout现象,即一些细胞在测序过程中检测不到真实表达的转录本[7]。这将对细胞聚类、差异表达基因、拟时序分析等造成影响。如何有效地降低数据中的技术噪声,从而更充分地挖掘有意义的生物信号,已成为当前scRNA-seq数据算法研究中的一个热点问题。
近年来,不同学者开发了多种算法来填补表达矩阵中的dropout。我们将这些方法归为四类,分别是基于模型、基于平滑、基于矩阵重构、基于深度学习的方法。本文就当前国内外针对scRNA-seq数据中dropout的填补方法、原理和优缺点进行综述,并对未来的发展予以展望,以期为方法开发和应用提供参考。
1 基于模型的方法
基于模型的方法的基本思想是将每个细胞中每个基因的表达值看成随机变量并假设其分布,通过借用内部或外部信息来估计分布的参数(例如均数)以用于填补。常用的一些分布假设包括负二项分布、Gamma-Normal混合分布等。还有一些方法虽然会假设表达值的概率分布,但仅限于对dropout概率的计算,并未直接用分布参数的估计值进行填补,故未将其分入此类。
scRNA-seq数据分析通常以表达矩阵作为输入。首先会进行质控、归一化、选取高变异基因等预处理步骤。之后再进行降维、细胞聚类、寻找差异基因、拟时序分析等分析流程。
基于模型的方法在解决dropout问题时有两种策略。一种是在数据归一化、降维或聚类的过程中考虑dropout的影响;另一种是开发算法对数据进行填补,然后用填补后的数据进行分析。例如,Tang等[8]提出的bayNorm,采用贝叶斯的方法进行降噪,令真实表达的后验分布由观察到的转录本的似然以及每个基因表达值的先验组成,假设潜在的真实基因表达水平的先验服从负二项分布,通过参数的局部或全局估计,最后以细胞中每个基因真实表达的后验分布的均值作为填补值。其他方法的概述见表1[7-10]。
2 基于平滑的方法
基于平滑的方法的主要思想是借用相似细胞或基因的信息来进行填补。其主要计算思路为:首先对表达矩阵进行主成分分析降维以减少矩阵的稀疏性,然后计算相似性指标构建细胞或基因的相似性矩阵,再在相似性矩阵中通过K近邻(k nearest neighbors,KNN)等算法选取最接近的K个对象构建亲和矩阵,最后对最接近的K个对象中的表达信息进行平均、加权平均、回归等处理来填补当前对象中的dropout。该类方法主要有两个重要关键点:① 准确地衡量细胞间或基因间的相似性。常用的相似性指标包括余弦距离、Pearson相关系数、Spearman相关系数等。② 有效地整合最接近的K个细胞或基因的表达信息。不同的研究者在这两个方面进行了不同的创新。根据借用信息方式的不同这些方法可以分为借用相似细胞、相似基因以及同时借用相似细胞和基因的信息三种策略。例如,Li等[11]提出了scImpute方法,首先将细胞聚类到不同的亚群中,然后仅使用同一亚群中的细胞进行填补。先通过Gamma-Normal混合模型识别受dropout事件影响的值,然后根据不太可能受影响的基因选择其他类似细胞中相同基因的信息通过LASSO模型来填补一个细胞中的dropout值。Zand等[12]提出的netImpute通过Pearson相关系数构建基因相似矩阵,将KNN算法作用于相似矩阵建立共表达网络,然后利用重启随机游走算法从共表达网络中得到转移概率矩阵,最终对共表达网络中基因本身的表达和相邻基因的表达进行加权平均,以转移概率为权重。其他各种方法的概述见表2[11-21]。
3 基于矩阵重构的方法
基于矩阵重构的方法的主要思想是利用scRNA-seq表达矩阵的非负性、低秩性和稀疏性的特点,将dropout的填补看成是低秩矩阵补全的问题,通过对表达矩阵进行分解将它投影到低维潜在空间,然后通过构建不同的目标函数在低秩性、非负性等不同信息的约束下重构表达矩阵以达到填补dropout的目的。常用的矩阵分解方法包括奇异值分解(singular value decomposition,SVD)和非负矩阵分解(non-negative matrix factorization,NMF)。SVD是一种常用的矩阵分解技术,可以将高维矩阵降维成低维矩阵,找出其中所隐含的“模式”。设X是一个m × n(m > n)的矩阵,通过SVD可以分解为U、S、V三个矩阵,使得X = U × S × VT。其中U是一个m × m的正交矩阵,V是一个n × n的正交矩阵。S是一个m × n的对角矩阵,其对角线上的元素大于0且按照从大到小的顺序排列,称为X的奇异值。通过设定标准可以选取前k大的奇异值用于矩阵的恢复或对S矩阵进行其他修改。R是恢复后的矩阵,它与X的奇异值非常相近。示意图见图1。
NMF是在矩阵中所有元素均为非负数的约束条件下进行矩阵分解的方法,基本思想为:给定一个m × n(m > n)的非负矩阵X,通过NMF能够找到两个低秩的非负矩阵W和H,使得W和H的乘积近似等于矩阵X中的值,即Xm × n ≈ Wm × rHr × n。其中W为基矩阵,H为系数矩阵。最常用的基于欧式距离的目标函数为:。
在此类方法中,常用交替方向乘子法(alternating direction method of multipliers,ADMM)、核范数最小化(nuclear norm minimization,NNM)等算法来求解符合约束条件的分解矩阵。不同的方法主要通过设计不同的目标函数或设置不同的约束条件来求解分解矩阵。例如,Peng等[22]提出了SCRABBLE,该方法通过借用相同组织Bulk RNA的数据作为约束条件来进行填补。其目标函数包括三项内容:第一项要求非零表达的基因的估计值尽可能接近其原始值,从而最大限度地减少对表达基因的不必要修改;第二项要求填补后的矩阵的秩尽可能小,目的是希望在给定的组织样本中只有有限数量的细胞类型;第三项要求填补后的平均基因表达量与Bulk RNA数据的平均基因表达量之间尽可能一致。该方法通过ADMM来优化目标函数以求解重构的矩阵。其他各种方法的概述见表3[22-30]。
4 基于深度学习的方法
随着深度学习的发展,它在数据填补领域也有越来越多的研究,凭借着对非线性关系的提取能力,许多学者也将它应用在dropout的填补问题上。该类方法主要使用自编码器的学习框架。此外,近年来,基于图论的方法也逐渐成为另一个重要的研究方向。
自编码器是一种无监督的神经网络模型,它可以学习输入数据的隐含特征,称为编码。同时利用学习到的隐含特征再重构回原始输入数据,称为解码。通过最小化重构误差函数引导模型学习潜在的参数。其中均方误差(mean squared error,MSE)是最常用的量化指标。
自编码器用于dropout填补的基本思想是将含有dropout的表达矩阵压缩到潜在低维空间,然后在低维空间上进行矫正,最后通过解码器重构表达矩阵。不同的学者设计了不同的重构误差损失函数或训练过程,以迫使模型学习不同的信息。例如,Chi等[31]提出的scSDAEs,采用堆叠自编码器,即把前一个自编码器的隐藏层作为下一个自编码器的输入,以此逐层编码和解码进行降噪。其损失函数包括:最小化非0值的重构误差以及对0值的L1稀疏惩罚,这样可以有效约束重构矩阵中填补值的稀疏性。Chen等[32]提出的Bubble,借用了相同组织的Bulk RNA数据,其损失函数除了包括重构矩阵与原矩阵的MSE外还增加了基因合计结果与Bulk RNA数据的MSE,这样约束了基因表达的整体分布。在设计损失函数时,除了可以衡量原始数据与重构数据之间的MSE外,另一类方法是基于分布的似然,例如DCA[33]等。
在深度学习的方法中,除了以表达矩阵的形式输入模型外,最近,越来越多的方法开始使用图论的方法将表达矩阵转换成图的数据结构输入模型。在图中可将细胞(或基因)的表达值作为顶点,细胞与细胞(或基因与基因)之间的相关关系作为边。相比表达矩阵的数据结构,基于图的数据结构可以同时利用细胞(或基因)的表达信息以及它们之间的相关性。例如,Wu等[34]提出的GE-Impute将原始矩阵转变为细胞图,通过偏随机游走和skip-gram模型将所有细胞嵌入低维向量,通过学习嵌入的特征表示重建细胞图,最终将细胞图中所有相邻表达值的均数作为填补值。Wu等[35]提出的G2S3将原始表达矩阵转换为加权基因图,通过最优化算法搜索获得加权邻接矩阵,然后通过在图上进行随机游走获得随机游走矩阵,填补的矩阵即为在图上进行t步随机游走得到。各种方法的概述见表4[31-46]。
5 总结与展望
scRNA-seq数据dropout的填补算法,消除了测序方法造成的假零值噪声,一定程度上为更充分地挖掘有意义的生物信号提供了帮助。近年来,针对dropout的填补算法已积累了丰富的成果,但是不同方法又具有各自的局限性。
基于模型的方法往往假设表达数据服从某种分布,如果数据分布接近这种假设,则分布的先验信息将有助于提高填补性能。但分布的假设缺乏一定的共识,并非对所有数据集都适用。此外,由于我们对技术噪声和偏差的可能来源也缺乏了解,因此在对数据的参数化建模过程中可能忽略某些重要变异来源。在计算方面,该类方法常常需要采用EM等算法来进行参数估计,在处理大规模数据时就不具有时间优势了。基于平滑的方法通常需要先对数据进行聚类,但是我们往往并不能提前知晓聚类数等先验信息,在有大量缺失的情况下聚类的准确性也无法保障。基于矩阵重构的方法虽然不对数据的分布进行假设,通过将分解后的矩阵相乘从而重构表达矩阵,但是矩阵的分解也依赖于矩阵的低秩假设。此外,无论基于模型、基于平滑还是基于矩阵重构的方法主要采用的都是线性的方式来提取表达矩阵中的信息,对于非线性特征的提取能力尚有欠缺。而基于深度学习的方法通过激活函数或卷积的方式可以更好地提取数据中的非线性信息,并且也无需对数据的分布或低秩性进行假设。随着数据规模的快速增长,可以用于训练的数据也越来越丰富,这也更有利于发挥深度学习提取数据内在特征的优势,但是深度学习的方法也存在可解释性和超参数优化等问题。
为了综合测评不同方法的性能,有学者[47-48]在大量的真实数据和模拟数据中测试了不同方法在多种分析任务中的性能。结果显示,TRANSLATE[38]在计算时间方面的性能最好;SCC[10]、G2S3[35]等内存效率最高;AutoImpute[36]、GraphSCI[44]、scImpute[11]、TRANSLATE[38]、MAGIC[13]等随着数据集中细胞数的增加而表现出较高的可扩展性。基于对时间、内存、可扩展性以及在不同分析任务中的综合比较,MAGIC[13]、SAVER[9]等提供了最佳的整体性能。
通过对现有方法的综述,我们认为在开发新方法的时候需要同时考虑以下几个问题:① 填补的方法能够识别真零值和假零值,并且仅对假零值进行填补而保留真实的生物零值。② 填补方法应减少对已观测数据的改变,避免引入新的噪声。③ 借用外部或先验信息将有助于提高填补的性能。④ 填补的方法应具有规模可拓展性,能够在尽可能少地消耗内存和时间的情况下,提高下游分析的性能。在未来我们期待会有更有效和更高效的方法被开发出来,以帮助我们更好地挖掘scRNA-seq数据中的信息,解决有意义的生物学问题。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:赵祥伟构思了想法;赵祥伟、葛芹玉、徐春祥设计并指导了文献研究、解释、数据收集、图表绘制和论文修改;姜超、胡龙飞撰写了论文。
0 引言
单细胞转录组测序(single-cell RNA sequencing,scRNA-seq)是将分离的单个细胞的转录组RNA反转录为cDNA,在cDNA上添加细胞标签(Barcode)和特异性分子标签(unique molecular indentifier,UMI),然后利用高通量测序技术进行cDNA测序,从而获得特定器官或组织在某一状态下的转录本的测序技术。该方法克服了传统基于整体组织块RNA(Bulk RNA)测序中无法解析细胞异质性的问题,使得研究人员能够在单细胞分辨率下检测基因表达信息,从而能更精确地从细胞占比、细胞特异性基因表达等层面去解析组织的状态与RNA的关系。
scRNA-seq自2008年发表以来不断发展[1],涌现出许多不同的方法。这些方法之间的差异主要在于对原始转录本的标记和生成测序文库的方式不同,这也导致了不同的检测效率。基于板的技术,如SMART-seq2[2],在单个实验中可以捕获数百个细胞,每个细胞测序的数据量较高,通常能获得全长cDNA的信息,是一种低通量的方法。基于磁珠或微珠的技术,如10X Chromium[3],通量可以达到数千甚至数万个细胞,使用Barcode标记细胞从而在测序数据中区分细胞来源,使用UMI对每个细胞的转录本进行无偏定量。该类方法通量虽高但通常不会获得转录本全长的测序信息。
随着scRNA-seq技术的发展,它在胚胎发育[4]、神经元多样性[5]等生物学领域的应用越来越广泛,但每个细胞检测到的基因数量仍然受到技术限制[6]。在测序实验中,因为单个细胞中所含mRNA非常微量,反转录成cDNA的过程中大量的mRNA丢失,只有少量的cDNA被扩增。因此,扩增偏倚、低RNA捕获率等技术因素,导致scRNA-seq实验存在大量假0值,称为dropout现象,即一些细胞在测序过程中检测不到真实表达的转录本[7]。这将对细胞聚类、差异表达基因、拟时序分析等造成影响。如何有效地降低数据中的技术噪声,从而更充分地挖掘有意义的生物信号,已成为当前scRNA-seq数据算法研究中的一个热点问题。
近年来,不同学者开发了多种算法来填补表达矩阵中的dropout。我们将这些方法归为四类,分别是基于模型、基于平滑、基于矩阵重构、基于深度学习的方法。本文就当前国内外针对scRNA-seq数据中dropout的填补方法、原理和优缺点进行综述,并对未来的发展予以展望,以期为方法开发和应用提供参考。
1 基于模型的方法
基于模型的方法的基本思想是将每个细胞中每个基因的表达值看成随机变量并假设其分布,通过借用内部或外部信息来估计分布的参数(例如均数)以用于填补。常用的一些分布假设包括负二项分布、Gamma-Normal混合分布等。还有一些方法虽然会假设表达值的概率分布,但仅限于对dropout概率的计算,并未直接用分布参数的估计值进行填补,故未将其分入此类。
scRNA-seq数据分析通常以表达矩阵作为输入。首先会进行质控、归一化、选取高变异基因等预处理步骤。之后再进行降维、细胞聚类、寻找差异基因、拟时序分析等分析流程。
基于模型的方法在解决dropout问题时有两种策略。一种是在数据归一化、降维或聚类的过程中考虑dropout的影响;另一种是开发算法对数据进行填补,然后用填补后的数据进行分析。例如,Tang等[8]提出的bayNorm,采用贝叶斯的方法进行降噪,令真实表达的后验分布由观察到的转录本的似然以及每个基因表达值的先验组成,假设潜在的真实基因表达水平的先验服从负二项分布,通过参数的局部或全局估计,最后以细胞中每个基因真实表达的后验分布的均值作为填补值。其他方法的概述见表1[7-10]。
2 基于平滑的方法
基于平滑的方法的主要思想是借用相似细胞或基因的信息来进行填补。其主要计算思路为:首先对表达矩阵进行主成分分析降维以减少矩阵的稀疏性,然后计算相似性指标构建细胞或基因的相似性矩阵,再在相似性矩阵中通过K近邻(k nearest neighbors,KNN)等算法选取最接近的K个对象构建亲和矩阵,最后对最接近的K个对象中的表达信息进行平均、加权平均、回归等处理来填补当前对象中的dropout。该类方法主要有两个重要关键点:① 准确地衡量细胞间或基因间的相似性。常用的相似性指标包括余弦距离、Pearson相关系数、Spearman相关系数等。② 有效地整合最接近的K个细胞或基因的表达信息。不同的研究者在这两个方面进行了不同的创新。根据借用信息方式的不同这些方法可以分为借用相似细胞、相似基因以及同时借用相似细胞和基因的信息三种策略。例如,Li等[11]提出了scImpute方法,首先将细胞聚类到不同的亚群中,然后仅使用同一亚群中的细胞进行填补。先通过Gamma-Normal混合模型识别受dropout事件影响的值,然后根据不太可能受影响的基因选择其他类似细胞中相同基因的信息通过LASSO模型来填补一个细胞中的dropout值。Zand等[12]提出的netImpute通过Pearson相关系数构建基因相似矩阵,将KNN算法作用于相似矩阵建立共表达网络,然后利用重启随机游走算法从共表达网络中得到转移概率矩阵,最终对共表达网络中基因本身的表达和相邻基因的表达进行加权平均,以转移概率为权重。其他各种方法的概述见表2[11-21]。
3 基于矩阵重构的方法
基于矩阵重构的方法的主要思想是利用scRNA-seq表达矩阵的非负性、低秩性和稀疏性的特点,将dropout的填补看成是低秩矩阵补全的问题,通过对表达矩阵进行分解将它投影到低维潜在空间,然后通过构建不同的目标函数在低秩性、非负性等不同信息的约束下重构表达矩阵以达到填补dropout的目的。常用的矩阵分解方法包括奇异值分解(singular value decomposition,SVD)和非负矩阵分解(non-negative matrix factorization,NMF)。SVD是一种常用的矩阵分解技术,可以将高维矩阵降维成低维矩阵,找出其中所隐含的“模式”。设X是一个m × n(m > n)的矩阵,通过SVD可以分解为U、S、V三个矩阵,使得X = U × S × VT。其中U是一个m × m的正交矩阵,V是一个n × n的正交矩阵。S是一个m × n的对角矩阵,其对角线上的元素大于0且按照从大到小的顺序排列,称为X的奇异值。通过设定标准可以选取前k大的奇异值用于矩阵的恢复或对S矩阵进行其他修改。R是恢复后的矩阵,它与X的奇异值非常相近。示意图见图1。
NMF是在矩阵中所有元素均为非负数的约束条件下进行矩阵分解的方法,基本思想为:给定一个m × n(m > n)的非负矩阵X,通过NMF能够找到两个低秩的非负矩阵W和H,使得W和H的乘积近似等于矩阵X中的值,即Xm × n ≈ Wm × rHr × n。其中W为基矩阵,H为系数矩阵。最常用的基于欧式距离的目标函数为:。
在此类方法中,常用交替方向乘子法(alternating direction method of multipliers,ADMM)、核范数最小化(nuclear norm minimization,NNM)等算法来求解符合约束条件的分解矩阵。不同的方法主要通过设计不同的目标函数或设置不同的约束条件来求解分解矩阵。例如,Peng等[22]提出了SCRABBLE,该方法通过借用相同组织Bulk RNA的数据作为约束条件来进行填补。其目标函数包括三项内容:第一项要求非零表达的基因的估计值尽可能接近其原始值,从而最大限度地减少对表达基因的不必要修改;第二项要求填补后的矩阵的秩尽可能小,目的是希望在给定的组织样本中只有有限数量的细胞类型;第三项要求填补后的平均基因表达量与Bulk RNA数据的平均基因表达量之间尽可能一致。该方法通过ADMM来优化目标函数以求解重构的矩阵。其他各种方法的概述见表3[22-30]。
4 基于深度学习的方法
随着深度学习的发展,它在数据填补领域也有越来越多的研究,凭借着对非线性关系的提取能力,许多学者也将它应用在dropout的填补问题上。该类方法主要使用自编码器的学习框架。此外,近年来,基于图论的方法也逐渐成为另一个重要的研究方向。
自编码器是一种无监督的神经网络模型,它可以学习输入数据的隐含特征,称为编码。同时利用学习到的隐含特征再重构回原始输入数据,称为解码。通过最小化重构误差函数引导模型学习潜在的参数。其中均方误差(mean squared error,MSE)是最常用的量化指标。
自编码器用于dropout填补的基本思想是将含有dropout的表达矩阵压缩到潜在低维空间,然后在低维空间上进行矫正,最后通过解码器重构表达矩阵。不同的学者设计了不同的重构误差损失函数或训练过程,以迫使模型学习不同的信息。例如,Chi等[31]提出的scSDAEs,采用堆叠自编码器,即把前一个自编码器的隐藏层作为下一个自编码器的输入,以此逐层编码和解码进行降噪。其损失函数包括:最小化非0值的重构误差以及对0值的L1稀疏惩罚,这样可以有效约束重构矩阵中填补值的稀疏性。Chen等[32]提出的Bubble,借用了相同组织的Bulk RNA数据,其损失函数除了包括重构矩阵与原矩阵的MSE外还增加了基因合计结果与Bulk RNA数据的MSE,这样约束了基因表达的整体分布。在设计损失函数时,除了可以衡量原始数据与重构数据之间的MSE外,另一类方法是基于分布的似然,例如DCA[33]等。
在深度学习的方法中,除了以表达矩阵的形式输入模型外,最近,越来越多的方法开始使用图论的方法将表达矩阵转换成图的数据结构输入模型。在图中可将细胞(或基因)的表达值作为顶点,细胞与细胞(或基因与基因)之间的相关关系作为边。相比表达矩阵的数据结构,基于图的数据结构可以同时利用细胞(或基因)的表达信息以及它们之间的相关性。例如,Wu等[34]提出的GE-Impute将原始矩阵转变为细胞图,通过偏随机游走和skip-gram模型将所有细胞嵌入低维向量,通过学习嵌入的特征表示重建细胞图,最终将细胞图中所有相邻表达值的均数作为填补值。Wu等[35]提出的G2S3将原始表达矩阵转换为加权基因图,通过最优化算法搜索获得加权邻接矩阵,然后通过在图上进行随机游走获得随机游走矩阵,填补的矩阵即为在图上进行t步随机游走得到。各种方法的概述见表4[31-46]。
5 总结与展望
scRNA-seq数据dropout的填补算法,消除了测序方法造成的假零值噪声,一定程度上为更充分地挖掘有意义的生物信号提供了帮助。近年来,针对dropout的填补算法已积累了丰富的成果,但是不同方法又具有各自的局限性。
基于模型的方法往往假设表达数据服从某种分布,如果数据分布接近这种假设,则分布的先验信息将有助于提高填补性能。但分布的假设缺乏一定的共识,并非对所有数据集都适用。此外,由于我们对技术噪声和偏差的可能来源也缺乏了解,因此在对数据的参数化建模过程中可能忽略某些重要变异来源。在计算方面,该类方法常常需要采用EM等算法来进行参数估计,在处理大规模数据时就不具有时间优势了。基于平滑的方法通常需要先对数据进行聚类,但是我们往往并不能提前知晓聚类数等先验信息,在有大量缺失的情况下聚类的准确性也无法保障。基于矩阵重构的方法虽然不对数据的分布进行假设,通过将分解后的矩阵相乘从而重构表达矩阵,但是矩阵的分解也依赖于矩阵的低秩假设。此外,无论基于模型、基于平滑还是基于矩阵重构的方法主要采用的都是线性的方式来提取表达矩阵中的信息,对于非线性特征的提取能力尚有欠缺。而基于深度学习的方法通过激活函数或卷积的方式可以更好地提取数据中的非线性信息,并且也无需对数据的分布或低秩性进行假设。随着数据规模的快速增长,可以用于训练的数据也越来越丰富,这也更有利于发挥深度学习提取数据内在特征的优势,但是深度学习的方法也存在可解释性和超参数优化等问题。
为了综合测评不同方法的性能,有学者[47-48]在大量的真实数据和模拟数据中测试了不同方法在多种分析任务中的性能。结果显示,TRANSLATE[38]在计算时间方面的性能最好;SCC[10]、G2S3[35]等内存效率最高;AutoImpute[36]、GraphSCI[44]、scImpute[11]、TRANSLATE[38]、MAGIC[13]等随着数据集中细胞数的增加而表现出较高的可扩展性。基于对时间、内存、可扩展性以及在不同分析任务中的综合比较,MAGIC[13]、SAVER[9]等提供了最佳的整体性能。
通过对现有方法的综述,我们认为在开发新方法的时候需要同时考虑以下几个问题:① 填补的方法能够识别真零值和假零值,并且仅对假零值进行填补而保留真实的生物零值。② 填补方法应减少对已观测数据的改变,避免引入新的噪声。③ 借用外部或先验信息将有助于提高填补的性能。④ 填补的方法应具有规模可拓展性,能够在尽可能少地消耗内存和时间的情况下,提高下游分析的性能。在未来我们期待会有更有效和更高效的方法被开发出来,以帮助我们更好地挖掘scRNA-seq数据中的信息,解决有意义的生物学问题。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:赵祥伟构思了想法;赵祥伟、葛芹玉、徐春祥设计并指导了文献研究、解释、数据收集、图表绘制和论文修改;姜超、胡龙飞撰写了论文。