综述:高维单细胞RNA测序数据分析工具(中)
当你的才华还撑不起你的野心时,请潜下心来,脚踏实地,跟着我们慢慢进步。不知不觉在单细胞转录组领域做知识分析也快两年了,通过文献速递这个栏目很幸运聚集了一些小伙伴携手共进,一起成长。
文献速递栏目通过简短介绍,扩充知识面,每天关注,希望你也能有所收获!
Author:Yan Wu and Kun Zhang
Date:2020 Mar 27
Journal:Nat Rev Nephrol(IF:19.684)
前文
2 Downstream analyses
预处理步骤完成后,后续分析步骤包括降维、聚类和轨迹推断,将重点关注于从数据中识别生物问题 。降维涉及到将数据集转换成更紧凑的、可能更具解释性的表示,以捕获变化的主要生物轴并改进聚类和轨迹推断的性能。聚类是指根据基因表达的相似模式将细胞分成不同的组;这些组(也称为簇)通常对应于不同的生物细胞类型或状态。轨迹推断通常应用于处于连续细胞状态中动态过渡的细胞。
上游的分析选择,如QC过滤和归一化,可以对聚类和轨迹推断产生实质性的影响。例如,数据规范化是一个关键步骤,否则,簇几乎完全是基于umi的数量或细胞的read数,而不是基于基因表达谱的相似性。死亡或垂死的细胞,以及双连体(doublets),也可以产生人工的簇,如果不移除,可能很难与真实的簇区分开。
2.1 Dimensionality reduction and imputation
数据集的维数指的是为每个数据点测量的变量数量。在scRNA-seq中,每个数据点对应一个细胞,而变量是基因。scRNA-seq实验被描述为“高维”是因为他们通常测量了约2万个变量(基因)的表达。即使只选择了高度可变和/或生物相关基因的一个子集,用户通常仍然有一个包含数千个基因的数据集,其中许多基因高度相关,提供了冗余信息,可能掩盖了更微妙的生物模式。此外,用于衡量细胞间基因表达模式相似性的指标在高维空间中变得不那么可靠,这种现象被称为“维数诅咒”(curse of dimensionality)。因此,将降维应用于scRNA-seq数据集可以改进下游分析。减少的维度通常称为数据集的嵌入(embedding )。降维还有另外一个好处,提高大多数下游分析的速度。然而,尽管它对大多数数据集非常有帮助,但对于下游分析来说,降维并不是必须的。
Linear methods
当两个变量以相同的速率变化时,两个变量之间存在线性关系(正比)。最常见的scRNA-seq分析的降维方法是主成分分析(PCA),它创建了一个最佳捕获数据方差的基因线性组合。PCA在发现最大方差的维数的同时降低数据的维数的能力使得它成为一个在聚类之前非常有用的降维工具。
在scRNA-seq实验中,只有一小部分细胞的总RNA被捕获并进行逆转录。因此,在大多数细胞中,许多基因没有检测到分子,导致单细胞计数矩阵中有大量的零,这就是所谓的“零膨胀”(zero inflation)。零膨胀因子分析(zero - inflation factor analysis, ZIFA)是PCA的一种变体,旨在明确地对scRNA-seq计数数据中预期的大量零值进行建模。
PCA的一个缺点是,其主要成分本身在生物学上很难解释。理想情况下,降维后得到的每个维度都对应一个生物过程。例如,对于发育中的肾脏数据集,每个维度都对应于一个发育中的肾腔室(例如,集合管或小管)。因子单细胞潜在变量模型 (The factorial singlecell latent variable model,f-scLVM)通过显式地将带注释的基因集建模为缩减维来解决这个可解释性问题 。因此,在运行f-scLVM后,每个缩减的维度对应于一个预先注释的基因集。Pagoda and Pagoda2 还创建了高度可解释的维度,通过在预先注释的基因集中运行PCA并选择数据集中显示显著差异的维度。非负矩阵分解(Nonnegative matrix factorization ,NMF)是另一种线性矩阵分解方法,主要通过试图寻找数据集下的离散组件(如收集管或小管)来解释维度。
Non-linear methods
基因之间的关系可能是高度非线性的,这影响了诸如PCA等线性模型分析scRNA-seq数据的能力。因此,在某些情况下,能够生成数据集非线性转换的方法可以胜过线性方法。特别是局部线性嵌入(locally linear embedding,LLE)和扩散映射(diffusion maps ,Dmaps) 被证明是有效的,当数据集遵循一个连续的轨迹时(如来自开发时间序列的数据集)。
另一种降低非线性维度的方法是使用深度神经网络,它是将迭代的非线性转换应用到数据集的模型。通过分层这些迭代转换,深度神经网络可以学习数据集的复杂特征,这使它们能够使用更少的维度来表示数据。scScope和DCA使用的神经网络可以比PCA等线性降维方法更好。scVI还使用神经网络创建了一个建模基因表达的框架,使每个基因表达估计的不确定性得以量化,同时考虑批量效应和零通胀等技术效应。
对于只是对降低数据维数和聚类以及可视化感兴趣的用户,PCA是一个很好的默认方法。但更专业的方法,比如fscLVM或scVI可以生成低维,嵌入更多的可说明的或更忠实地捕获数据的非线性结构。
Zero inflation and imputation
零膨胀(Zero inflation)是高通量scRNAseq方法的一个技术限制,它受到几个因素的驱动,包括不完全逆转录或RNA捕获。总效率计算估计一个细胞中只有10-15%的总RNA被捕获和转录。值得注意的是,一些研究人员认为,基于液滴的方法的零通胀主要是由于生物差异,而不是由于技术噪音。然而,新一代的组合索引方法比基于液滴的方法更倾向于在每个细胞中捕获更少的分子,因此在这些数据集中可能出现技术上的零膨胀。已经开发了几种方法来估算这些缺失的值(即用估计值代替计数矩阵中的0)。一类方法,包括MAGIC和knn - smooth,使用来自相邻单元的信息来估算任何给定细胞的缺失值。另一类方法如通过表达恢复的单细胞分析,通过猜测和降维聚类(imputation and dimensionality reduction ,CIDR)和scImpute利用概率模型和基因之间的关系来区分技术上的和生物上的dropout。然而,这些估算方法应该谨慎使用,因为它们在分析差异基因表达时可能会引入假阳性结果。因此,用户在分析低表达水平和高dropout水平的差异基因时应谨慎。
2.2 Clustering
通常,大多数scRNA-seq数据集要么包含离散的细胞类型,要么反映一个连续的发展或分化轨迹。对于可以将单个细胞分组为离散细胞类型的数据集,需要应用聚类来解析这些细胞类型。每个类通常表达一组在其他类细胞中不表达的基因(标记基因),如下图。
k-means聚类是一种简单而流行的聚类方法,它迭代地将细胞分配给类。然而,k-means聚类要求用户预先指定数据集中的细胞类别数量,而确定scRNA-seq数据集中与生物学相关的类别数量仍然是一个挑战。处理此问题的一种策略是生成比数据集中预期的更多的类,然后迭代地合并相邻类或根据相似阈值(如类之间差异表达基因的数量)划分更大的类。CIDR, BackSPIN and pcaReduce 使用这种层次聚类方法。然后,用户可以选择最适合所需的类。对于具有许多不同细胞类型的非常大的数据集(>100,000个细胞),可能需要具有多个聚类阶段的层次分析。这种方法,例如在对小鼠神经系统的研究中使用,需要一个初始的广泛定义明确的细胞类型,这些细胞类型然后被分簇以进一步解决它们的异质性。对于大型数据集,k-means和层次聚类方法的运行速度都很慢,而且它们能够检测到的聚类类型也很有限。Seurat ,Pagoda2,SCANPY和CellRanger使用基于图的聚类算法,这种算法运行速度快,可以为较大的数据集生成生物学上相关的聚类。图形聚类需要通过将每个细胞连接到其最近的邻居来构建图形。例如,Louvain聚类算法可以应用于图中已连接的细胞。该算法从每个细胞作为自己的类开始,只要合并增加了图的模块性,就迭代地合并类(模块性越高,网络中细胞被随机连接的可能性越低)。然而,Louvain方法有时会产生由连接不紧密的细胞组成的错误类。通过保证良好连接的类和改进运行时,Leiden聚类对Louvain聚类进行了改进。
其他方法包括SC3一致性聚类,它利用多种聚类方法的一致性来提高聚类精度。参考成分分析将单个细胞投射到由现有的bulk RNA-seq数据集定义的低维空间中,这对于高度异构且难于解释的细胞种群(如癌症细胞)非常有用。总的来说,图形聚类方法如Leiden或Louvain具有很强的聚类性能,运行时间也相当快。