看到隔壁《单细胞天地》公众号翻译了一个最新的单细胞数据处理综述,很精彩,所以申请转载到生信技能树平台以飨读者:
文章信息
Author:Yan Wu and Kun Zhang Date:2020 Mar 27 Journal:Nat Rev Nephrol(IF:19.684)
在单细胞天地的目录:
- 综述:高维单细胞RNA测序数据分析工具(上)
- 综述:高维单细胞RNA测序数据分析工具(中)
- 综述:高维单细胞RNA测序数据分析工具(下)
摘要
在单细胞水平上对转录组进行分析的高通量技术发展取得的突破,有助于生物学家对细胞群体的异质性,疾病状态和发育谱系的理解。然而,对这些单细胞RNA测序(scRNA-seq)技术产生的大量数据进行分析和解释有一些挑战。此外,scRNA-seq数据集通常包含了如由不完全的RNA捕获、PCR扩增偏倚和/或来源于特定病人或样本的批次效应引入的技术噪声。如果不加以处理,这种技术噪音会使数据的分析和解释产生偏差。为了应对这些挑战,一套计算工具应运而生被开发来处理、分析和可视化scRNA-seq数据集。尽管任何给定的scRNA-seq分析的具体步骤可能会根据存在的生物学问题而有所不同,但在大多数分析中一般使用的是一个核心工作流。通常,原始测序reads会处理为基因表达矩阵,然后对其进行标准化和缩放(scale)以去除技术噪音。接下来,根据基因表达模式的相似性对细胞进行分组,概括为两维或三维进行可视化。这些数据可以进一步分析,在感兴趣样本中提供一个细胞类型或发展轨迹的深入观点。
总流程:
1 Data pre-processing
从scRNA-seq平台获得的原始数据必须先经过几个预处理步骤,然后才能用于评估基因表达的生物学相关变化。这些预处理步骤将原始数据转换成更有用的格式,并解决与样本质量、广泛的基因表达水平和差异相关的问题。此外,如果要同时分析多个数据集,这些步骤可以减少技术批处理效果的影响。
1.1 Generating a gene expression matrix
在cDNA组成的scRNA-seq实验中首先生成初始输出FASTQ文件,每个read包含一个RNA序列,一个细胞条形码,用来识别产生read的细胞,一个独特的分子index(UMI)用来识别确切的mRNA分子。scRNA-seq分析的第一步是将这些read数据处理为一个count矩阵,该矩阵汇总了在数据集中每个细胞中检测到的每个基因的count数。计数矩阵作为剩余分析步骤的输入,也是一种有效的存储和共享基因表达信息的方法。创建count矩阵通常需要将每次读取的cDNA序列对参考基因组进行比对,以识别读取来自特定基因的read,然后通过细胞条形码将每次读取分配到原来的细胞。
如下图,展示了从测序read比对参考基因组根据barcode和UMI产生Count matrix的过程:
scRNA-seq利用PCR技术对cDNA分子进行指数级扩增,而UMIs技术可以帮助用户识别并消除在扩增过程中可能产生的重复序列,从而降低技术噪音。值得注意的是,UMI中的测序错误可以人为地提高基因表达,因为应该被消除的重复序列被视为了不同的分子。相反,不同的分子可能会被错误地标记为具有相同的UMI序列,从而被视为同一个分子。
对于大多数测序技术,背景RNA污染和测序错误会导致大量的cell barcode,它们的reads数很低,但与真正的细胞并不对应。可以通过设置最小读取read数或细胞barcode的UMI阈值来检测和删除这些空条形码。更复杂的方法,如dropEst也可用。
有几种工具可用于read处理(表1),包括CellRanger,它与10X genomics Chromium scRNA seq平台配套使用。CellRanger处理cDNA read,运行序列比对,通过UMIs处理重复read和进行QC然后输出count matrix。CellRanger还可以执行二级分析,如聚类(即根据细胞基因表达模式的相似性对细胞进行分组)和可视化(稍后将详细讨论),尽管使用的是相当基本的工作流。但是,CellRanger可能相当慢且占用大量内存,使用最大30 GB的RAM和花22小时处理7.84亿个read(相当于~50,000个细胞,每个细胞15,000 reads的深度)。然而,CellRanger与另一款10X基因组学软件Loupe Cell Browser的集成,为非专业用户提供了一个交互式浏览器,可用于可视化聚类结果和标记基因的表达。
表1
在过去的几年里,研究人员开发出了scRNA seq方法,通过组合检索,可以在一次实验中分析数十万到数百万个细胞。这些方法包括基于分裂池连接的转录组测序和单细胞组合索引RNA seq。考虑到这些技术上的进步,并考虑CellRanger所需的内存和处理时间,还开发了将cDNA读入单细胞基因表达count的替代计算流程。例如The dropEst流程,比CellRanger更短的运行时长和更低的内存使用情况,并通过纠正细胞条形码和UMIs中的测序错误来提供更准确的基因表达估计,DropEst还通过使用机器学习模型识别空条形码来改进数据恢复,从而能够恢复大小小于平均大小的细胞类型,以及可能被排除在分析之外的RNA含量较低的细胞类型。UMI-Tools 是另一种纠正细胞barcode和UMIs中测序错误的流程,以提供更准确的基因表达定量。
CellRanger流程中最慢的步骤之一是将cDNA read比对到参考基因组。The Kallisto pseudoaligner,使用BUStools作为存储和操作scRNA-seq数据的方法,是一种高效的替代方法。因为它为每个read创建了一个兼容的转录本列表(伪比对),而不是将单个read调整到转录组中的一个精确位置(比对)。当处理50,000个cells时,合并后的Kallisto-BUStools方法比CellRanger 快51倍,使用了最大~ 12gb的RAM。然而,Kallisto-BUStools不会删除空的cell barcode。STARSolo和Alevin分别是两种比对和伪比对方法的扩展,也可以用来处理scRNA-seq数据。STARSolo和Alevin的运行时间都明显快于CellRanger,但STARSolo的最大内存使用量更高。
综上所述,scRNA-seq分析的第一步是将raw reads处理成count matrix。对于10X genomics scRNA-seq平台的用户,CellRanger为这一处理提供了一种方便的方法,尽管速度慢且需要大量内存 。CellRanger还运行基本的聚类和标记基因分析,可以用Loupe细胞浏览器可视化。DropEst、Kallisto-BUStools、UMI-Tools、STARSolo和Alevin都是可选的read处理方法,它们对运行时长和内存进行了实质的改进,允许用户处理他们的scRNA-seq数据而不必在计算基础设施上投入太多。此外,与CellRanger相比,DropEst、UMITools和Kallisto-BUS Tools提供的对UMI和cell barcode错误的增强校正可以改善基因表达估计。
1.2 Quality control and doublet detection
所有的scRNA-seq方法都会产生技术偏差和噪声—一些基本的QC在下游分析之前就解决了这些问题。例如,用于单细胞分离和测序的协议可能会引起细胞应激并导致细胞死亡,这将影响基因表达,并可能导致下游分析中出现假的死亡细胞簇。过滤掉cDNA read数较低或UMI数较低的细胞,以及UMIs总数量中线粒体read数较多的细胞(也称为线粒体分数),可以帮助去除死亡细胞。与胞质RNA不同,线粒体RNA的存在提示细胞死亡。read数或线粒体read数比例的适当阈值取决于数据集中存在的细胞类型和使用的scRNA-seq方法。设置检测到基因的最小细胞数的阈值,也可以帮助排除那些只在少数细胞中表达,而且不太可能提供信息的基因。但是,用户应该确保这个阈值不是太高,否则在下游分析中可能会遗漏罕见的细胞类型。
另外一篇文章的过滤标准(Current best practices in single-cell RNA-seq analysis: a tutorial): Cell QC is commonly performed based on three QC covariates:
- the number of counts per barcode (count depth):每个细胞的测序深度,gene count数总和
- the number of genes per barcode:每个细胞内表达基因的数目
- the fraction of counts from mitochondrial genes per barcode:每个细胞中线粒体基因的比例
对于大多数scRNAseq方法,doublets的产生,即当两个或两个以上的细胞被分配到相同的细胞条形码,会在下游分析中产生假的cluster,因为合并两种不同细胞类型的基因表达模式可能会产生一种独特的表达特征,这在任何真正的细胞类型中都找不到。然而,手动的从真实的cluster中区分出doublet cluster会有很大的挑战,特别是对有多种细胞类型的大数据集。识别doublets的一种常见策略是通过组合数据集中不同cluster中的细胞来生成模拟doublets,并评估哪些细胞具有与模拟doublets细胞相似的表达谱。然而,这种策略只有在数据集包含离散的细胞类型而不是连续的细胞轨迹时才可行。
数据集之间的QC阈值可能不同,一些探索性的数据分析,如每个细胞或基因UMIs分布的直方图,可以帮助设置每个数据集的阈值。在某些情况下,例如当下游分析中出现一组假的死亡或正在死亡的细胞时,在运行整个分析流程后修改这些阈值并重复分析后也会有所帮助(下图)。Seurat和SCANPY是scRNA-seq分析流程包,包括计算QC指标的功能,如每个细胞表达的基因的比例、线粒体比例和总count数;用户确定过滤数据集中的基因和细胞的阈值。Scater也提供了一套用于计算关键QC指标的工具。
1.3 Data normalization
在每个细胞中捕获的RNA的比例可能因逆转录效率、引物捕获效率以及与collapsing的UMIs相关的错误等因素而有所不同。因此,每个细胞的UMIs或reads的总数差异可能是由技术因素而不是生物学变异造成的(下图)。
如果没有标准化,总的UMIs或reads的技术差异可能会主导下游分析。例如,总UMIs或reads数量相似的细胞聚集在一起,而不是基因表达模式相似的细胞。因此,normalization对于揭示数据集的真正生物异质性至关重要。大多数归一化方法试图估计每个cell的偏差(也称为细胞size因子)。所有细胞的UMI或read计数可以通过除以大小因子来标准化,从而可以比较不同细胞间的基因表达水平。总count数归一化是一种简单的归一化策略,其中大小因子很由每个cell中的UMIs或read总数组成。然而,总count的归一化可能由高表达基因主导,当存在很强的细胞类型特异性基因表达时,即细胞或者组织类型差异非常大时,会导致size因子的偏倚估计。此外,一些细胞类型更大,比其他细胞有更多的RNA分子,这样的一种生物学因素,当简单地用UMIs或reads的数量除以总counts数时,它就被掩盖了。
scran包在估计大小因子之前将具有相似表达模式的细胞汇集在一起,因此解决了由于细胞类型特异性基因表达或UMI计数而导致的标准化问题。但是,使用相同大小因子对高表达和低表达的基因进行标准化会导致低表达的基因如转录因子的过校正,高表达的基因如管家基因的低校正。SCnorm通过将与总UMI或read count数有相似依赖关系的基因汇集起来,并在每个池中计算大小因子来解决这个问题。sctransform(在Seurat包中实现)使用概率模型来计算总UMI或每个基因read计数的效应,这也使它能够稳定基因变异(稍后将详细讨论),并识别过分散的基因(over-dispersed genes )。
总的来说,某种类型的归一化对scRNA-seq分析是至关重要的,尽管总count归一化成功地缓解了技术上的偏差,但它在一定程度上掩盖了真正的生物异质性。使用专门的标准化方法,如SCnorm和sctransform,可以解锁数据集中额外的异质性。
1.4 Variance stabilization
基因表达水平可以有很大的差异,基因的平均表达(或量)与基因的变异密切相关,这种效应被称为均值-方差关系(如下图)。
方差稳定可以调整数据,消除基因表达量对基因方差的影响。这一步骤确保下游分析集中于生物学上最相关的基因(即数据集中在特定细胞类型中表达的基因),而不是简单地集中于表达量最高的基因。例如,方差稳定可能通过使具有低平均表达水平的基因(如转录因子),有助于分析,从而促进一个发育前体细胞的两个亚群的分离,否则这两个亚群可能合并。尽管这些基因在细胞内的总体表达水平较低,但它们在揭示细胞命运方面可能很重要。
一种简单的稳定变异的方法是归一化的count数进行对数变换,它可以减少高表达和低表达基因之间的差异。可以用来消除基因平均表达对基因方差影响的流程包括Seurat、Pagoda2和SCANPY。它明确地符合均值-方差关系并应用了一个比例因子(scaling factor)。ZINB-Wave、singlecell variational inference (scVI)和deep count autoencoder (DCA)使用不同方法的替代方法(负二项分布)来模拟单细胞count数据。
总的来说,虽然方差稳定对于scRNA-seq分析并不是严格必需的,但是调整数据集以适应平均基因表达的大范围变化可以增强生物学相关基因对下游分析的贡献。这种方法消除了在所有细胞中都有丰富的表达但表达水平相似的基因的影响,例如管家基因,这种基因同时对细胞异质性的研究没有帮助。在方差稳定之后,识别和选择高度可变的基因可以提高下游分析中细胞类型的分辨率,特别是在被分析的细胞类型相当相似的情况下。这一可选的处理步骤包括在调整平均基因表达差异后选择残差最大的基因。
1.5 Batch effects and data integration
对来自不同的患者或样本,或从不同的实验中获得的样本,使用不同的技术产生的多个scRNA seq数据集的联合分析,增加了分析的细胞总数。该方法可以提高细胞亚型的分辨率和罕见细胞表型的检测,还可以对患者、样本或技术进行直接比较。然而,由于基因表达的技术差异可以掩盖相关的生物学现象,即批次效应,因此这种类型的分析常常具有挑战性。批次内的变异通常是由于细胞类型和生物学相关因素的差异造成的,而批次间的变异也可能是技术因素造成的。这些批次效应可能来自于患者、样本或影响RNA捕获效率或细胞活力的协议(包括操作员驱动的变化)的可变性。批次效应的强度取决于数据集的类型,在进行分析之前很难预测。
消除技术批次效应的一个简单方法是,基本假设每个批次必须在所有细胞中具有相同的平均基因表达,并使用回归模型消除批次之间的差异。虽然这种批次校正方法适用于bulk RNAseq数据,但当不同批次的数据不一致时,它可能会过度校正。具体来说,如果细胞类型的比例在批次之间不同,这种类型的粗批校正可能会对细胞类型的解析能力产生影响。例如,如果一个肾脏样本比另一个样本含有更多的近端肾小管细胞的收集管,那么由于细胞类型组成的不同,每个样本中细胞间的平均基因表达是不同的。应用批次校正,强制两个样本细胞间的平均基因表达量相同,降低了收集导管和小管间基因表达量的差异,降低了分辨这些细胞类型的能力。
专门为scRNA-seq数据整合定制的方法能够在消除批次效应的同时保留批次之间的细胞类型比例的差异。这些方法中的大多数依赖于在不同批次中找到对应于相同细胞类型或状态的细胞对的概念(如下图)。一旦这些配对(也称为互斥的最近邻居(mutual nearest neighbours,MNNs)),被确定,MNNs之间任何剩余的基因表达差异都被认为是由于批次效应造成的,然后可以被纠正。MNN方法的一个优点是,如果一个细胞类型或状态对于特定批次是唯一的,则不会将其标识为MNN,从而保留每个批次的独特生物学特性。例如,当使用MNN方法整合来自两只小鼠的肾脏scRNA-seq数据时,一只是野生型对照组,另一只是缺乏足细胞的基因敲除,即来自对照小鼠的足细胞在集成后将保持在一个单独的cluster中。值得注意的是,如果敲除导致所有足细胞的基因表达发生了一致的变化,而不是发生了足细胞的丢失,那么这种变化在整合后可能会消失,因为它与批次效应难以区分。
如果批次效应大于细胞类型间基因表达的差异,就很难识别MNNs。为了克服这一挑战,可以使用典型相关分析来集中分析批次内的变异,而不是批次间的变异,即使批次之间的差异比细胞类型之间的差异更大。
关于这些数据集成方法的一个警告是,可能需要在减少批次效应的大小和解析细胞类型之间进行折衷;该参数可以在样本网络(CONOS)等方法中进行显式调优。例如,从两个不同病人的肾脏细胞中完全去除批次效应可能会降低分解足细胞亚型的能力。这种折衷的程度取决于被整合的特定数据集和批次效应的强度。
总之,基于mnn的方法的出现使scRNA-seq用户能够分析和比较不同平台、患者或样本,甚至跨物种的样本,从而提高了scRNA-seq分析细胞类型和轨迹的能力。
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具有很强的聚类性能,运行时间也相当快。
2.3 Trajectory inference
虽然聚类有助于将细胞分组为离散的细胞类型,但在许多情况下,细胞的基因表达模式在细胞状态转换时形成连续体,如下图。对于这些数据集,通常首先执行聚类来识别轨迹所经过的细胞状态,以及不属于轨迹一部分的任何细胞状态。与主要由离散细胞类型组成的数据集相比,细胞状态的连续体通常以较少的离散标记基因和较多的沿连续梯度表达的基因的存在为特征。例如,在小鼠肾脏发育过程中,细胞不断地从肾元祖细胞向近端和远端小管分化。在这些类型的研究中,沿着这一连续体将细胞分配到特定的发育点是一个重要的分析目标;这种方法称为伪时间估计。确定连续体分裂为不同分支的点也很重要,因为这些分支点代表关键的命运决定。在一项研究中,确定了祖细胞分离并成为近端或远端小管细胞的分支点,使研究人员能够确定小鼠小管发育的关键调控因子。分析这类连续的细胞状态数据通常被称为轨迹推断,是一个非常活跃的研究领域。一项比较了45种不同轨迹推断方法的研究得出结论,由于这些连续数据集的结构存在很大差异,没有一种方法在所有情况下都表现良好,这意味着应该对任何给定数据集测试多种方法。此外,许多数据集包括离散和连续组件;因此,在分析过程中可能需要同时使用聚类和轨迹推断。
轨迹推断的一个常见问题是,由于技术或生物噪音,生物上不同的细胞可能被放置在这个连续体中彼此靠近,这一现象被称为“短路”(short circuiting)。处理这个问题的一个有趣的方法是基于分区的图抽象(partitionbased graph abstraction,PAGA),在前面提到的比较研究中,它是少数几个在大多数数据集上表现良好的方法之一,同时保持一个合理的计算运行时。在一种类似于图聚类的方法中,PAGA生成数据的最近邻图,然后生成细胞的分组,连接细胞之间的连接比随机期望的更多的组,从而构建数据的摘要图。由于“短路”在细胞群之间的连接比在单个细胞之间的连接更容易识别,所以PAGA排除了细胞群之间的虚假连接。Monocle3建立在这种方法的基础上,它通过构建单个细胞之间的连接来构建细胞级图,其中未在摘要图中连接的细胞组之间的任何连接都将被修剪掉。
已经发展了许多方法来确定细胞沿着发育轨迹的位置,但是它们没有提供关于轨迹方向的信息。预测细胞转录方向的一种方法是估计RNA的速度(RNA velocity)。这种方法是基于对RNA分子是剪接还是未剪接(即仍含有内含子序列的新生RNA)等理论推断的评估。对于一个给定的基因,未剪接的RNA与剪接的RNA的比例很高,这表明该基因的表达正在增加,因为未剪接RNA的数量越高,表明更多的RNA被转录而不是降解。相反,对于一个给定的基因,剪接RNA与未剪接RNA的比例很高,这表明基因表达量下降。因此,RNA velocity能够预测给定细胞未来的基因表达状态,并有助于确定,例如,肾元祖细胞是准备成为近端管状细胞还是远端管状细胞。
2.4 Visualization
在聚类和/或轨迹推断之后,下一步是生成一个二维或三维的单元散点图,以可视化数据中的主要趋势和轨迹。尽管这一步在概念上与降维相同,但在仅仅两到三个维度中,可视地分离密切相关的细胞类型(维护数据的局部结构),同时确保细胞类型和轨迹之间的相对距离反映了这些细胞类型之间基因表达差异的大小(维持数据的整体结构),是一项复杂的任务。许多线性降维方法,如PCA,无法在二维或三维中生成准确的数据视觉表示。因此,可视化方法倾向于使用非线性方法对数据进行转换,如果使用不当,可能会扭曲数据的结构。
t -随机邻接嵌入(tstochastic neighbour embedding ,t-SNE)是目前最流行的可视化方法之一,它利用细胞的两两相似性将细胞嵌入到一个低维空间中,以保证具有相似基因表达谱的细胞在嵌入时位置相近。因此,t-SNE优先考虑数据的局部结构,本质上确保相邻细胞在2D可视化中保持在一起(如下图)。该特性使t-SNE能够可视化地分离具有密切相关细胞类型的复杂数据集。然而,传统实现的t-SNE并没有有效地可视化数据集的全局属性,例如细胞类型之间的相对距离。t-SNE目前可以在Seurat、Pagoda2、SCANPY和CellRanger–Loupe Cell Browser 中实现。
在过去的几年里,UMAP已经取代t-SNE成为scRNA-seq数据的默认可视化方法。与图聚类类似,UMAP生成细胞的最近邻图,根据相似度的强弱对每个细胞间的连接进行加权,然后将图形嵌入到二维空间中。还可以使用PAGA图初始化UMAP,以生成连续开发数据集的高度精确可视化。在实践中,人们发现UMAP在可视化数据集的局部结构方面表现得和t-SNE一样好,包括分离密切相关的细胞类型,同时在可视化数据的全局属性方面表现得更好。因此,对于大多数用户来说,UMAP是一个非常有用的默认可视化选项。对UMAP和t-SNE的其他测试表明,初始化这些方法的方式对它们的整体性能非常重要。实际上,在使用PCA初始化时,t-SNE和UMAP在保存全局结构方面表现得同样好。
SWNE使用NMF降低数据的维数,然后使用维作为一个框架,在二维中投射细胞,使用加权的最近邻图调整细胞的相对位置。这个框架也使基因与细胞一起被可视化,为可视化增加了生物学背景和可解释性。SWNE的表现优于t-SNE,在捕获全局结构方面与UMAP相似,但其对局部结构的表示不如t-SNE和UMAP。
PHATE的热扩散势使用了一个对局部和全局结构都准确的基于扩散的距离度量。PHATE首先计算相邻细胞之间的局部距离,然后传播这些距离(以类似于Dmaps的方式)来计算所有细胞之间的全局距离。PHATE似乎在发展轨迹的数据集上表现得非常好,在捕获全局和局部结构方面,它比t-SNE和UMAP都表现得好。
深度学习方法还可以在二维嵌入中捕获高维数据的结构,因为它们能够捕获数据中的非线性。scvis使用深度神经网络将高维数据压缩成低维嵌入,从而比t-SNE(根据分类精度测量)更好地实现细胞类型分离(捕获局部结构的能力),以及更快的运行时。其他基于深度学习的方法,如scScope、DCA和scVI,也可以用于在二维中对高维数据进行编码。
总的来说,可视化对于理解和交流数据集的属性是至关重要的。一个常见的误解是聚类和可视化是相同的分析。虽然可以基于UMAP或t-SNE坐标创建聚类,但是使用更多的维度和通用方法(如PCA)来创建细胞聚类通常更有用,因为数据集的所有结构和细微差别不能精确地压缩到两维或三维中。事实上,一项基准测试研究发现,适合聚类的降维方法通常不适合可视化。然而,对于轨迹推断,用于可视化的方法,如UMAP、Dmaps和LLE,通常可以作为构建轨迹图的基础。
作为一个起点,UMAP是一个非常有用的默认方法,它忠实地可视化大多数数据集,并且比t-SNE或SWNE更少的参数调整就可以很好地工作。但是,用户仍然需要注意不要过度解释可视化,因为所有的方法都会导致一定程度的数据失真。此外,还需要对这些非线性方法的不同初始化如何影响它们的整体性能进行更多的研究。
2.5 Cell-type annotation
通常,scRNA-seq分析最耗时的步骤是识别数据集中存在的生物细胞类型。这种细胞类型注释的标准协议是找到每个簇中唯一表达的基因,并将这些基因与典型细胞类型标记列表进行匹配。标记基因发现和展示工具的有Seurat、Pagoda2、SCANPY和Loupe Cell Browser中。一项对标记基因发现方法的评估发现,大多数为bluk RNA-seq开发的方法,如edgeR和limma,与scrna - seq特异性方法一样有效。尽管如此,Wilcoxon方法(Seurat和Pagoda2的默认方法)的性能相对较好。
对于新用户来说,解释这些标记基因发现方法的输出可能具有挑战性。对于像Wilcoxon检验这样的单细胞方法,P值通常非常低,因为该试验将每个细胞视为一个独立的重复。在这些情况下,基因表达的对数倍变化可能是一个有用的度量,因为它指示了基因表达差异的大小。当一个实验包含多个生物学或技术重复时,一种有用的方法是通过对单个重复和单个cluster中的细胞计数求和或求平均值,在聚类后创建一个伪块计数矩阵。Bulk方法,如edgeR或limma,然后可以用来评估差异基因表达。
手动检查标记基因列表可能非常耗时,并且需要对所研究的生物系统有一定的了解。因此,生物学家和生物信息学家之间的密切合作在这个阶段非常有帮助。有一类方法可以利用标记基因在功能通路和基因本体论术语中的富集来帮助加速这一过程,这可以极大地提高可解释性。例如,在基因本体论术语“肾上皮发育”中高度富集的标记基因的细胞型簇可能包含与肾上皮相关的细胞。
第二类方法将单个细胞或类匹配到单个细胞或bulk 参考RNA-seq数据集,用于细胞类型的自动分类。对这些自动分类方法的基准分析发现,性能最好的方法是支持向量机,这是一种常见的机器学习分类器。分析还发现,使用之前已知的标准标记基因集(如加内特)的方法并不优于无偏方法。其他自动化细胞类型的注释方法包括scmap和scPred, scmap,使用参考数据集的相关性和基于机器学习的特征选择方法对scRNA-seq集群进行分类,scPred使用降维和分类的组合。
Seurat、CONOS和Scanorama等数据集成方法也提供了细胞类型的自动分类方法。这些方法跨数据集查找mnn,这使它们能够根据参考数据集的标签对数据集中的细胞类型进行分类,而无需预先设置细胞类型标签。例如,如果一个未知类型的细胞在参考数据集中有10个mnn,其中9个是足细胞,则未知细胞很可能也是一个足细胞。
尽管自动化的cell类型注释方法可能很方便,但它们需要现有的参考scRNA-seq数据集。如果数据集包含新的细胞类型或细胞状态,仍然需要使用标记基因进行人工注释。值得注意的是,即使使用参考数据集,对标记基因的人工检查对于验证所识别的细胞类型也是至关重要的。尽管如此,随着诸如人类细胞图谱和其他单细胞基因表达参考目录等单细胞图谱的广泛使用,细胞类型自动分类的应用将变得更加广泛。
2.6 Experimental design considerations
实验设计可以对分析产生实质性的影响。例如,如果要收集和分析多个生物样本,那么每个样本中的细胞都应该标记为允许多路复用(multiplexing),使用诸如细胞散列的方法,然后在相同的scRNA-seq运行中进行分析。例如,在3次scRNA-seq的运行中,对来自5个不同患者的肾脏样本的分析中,每一次运行都应该包含来自每个患者的标记细胞。这种方法能够区分样本特异性效应和实验批处理效应,如果样本来自病例对照研究,这一点尤其重要。例如,当比较基因敲除小鼠和野生型对照组时,来自这两种类型小鼠的细胞最好是在同一个实验中进行。组合标引方法促进了这种方法,因为来自不同样品的细胞可以在第一轮条码中定位在不同的孔中。对于基于液滴的方法,需要某种形式的特定于样本的细胞标记来识别细胞的样本源。然而,从逻辑角度来看,在同一批实验中收集处理的所有样本并不总是可能的,特别是对于跨越不同条件和/或时间点的动物实验,或者对于在临床过程中收集的患者样本。
scRNA-seq方法的选择对每个细胞捕获的分子数和分析的细胞总数也有影响。通常,组合索引方法比基于液滴的方法捕获的每个细胞的UMIs更少,这可能影响它们解析一些密切相关的细胞亚型的能力。然而,组合索引方法可以在每个实验中捕获更多的细胞,这可能使稀有细胞种群的识别成为可能。对于所有这些方法,用户通常可以控制装载到scRNA-seq平台上的细胞的数量。加载更多的细胞可以获得更大的通量,但代价是可能增加细胞的双重态(cell doublets)。
组织分离方法的选择也会对可用于分析的细胞类型产生重大影响。一个关键的选择是将样本分离成单个细胞还是单个细胞核。分离单个细胞已广泛应用于新鲜组织样品。对于冷冻组织,单核分离和测序是更可行的选择。两种方案似乎都有各自的特定偏差,尽管对于某些类型的样本,如人类神经元,只有单核解离被证明是有效的。单核方法的一个局限是,它们通常导致每个细胞捕获的分子更少,因为大多数RNA都在细胞质中。然而,仅从细胞核中获取的信息通常就足以对细胞类型和亚型进行精确分类。
3 Conclusions
scRNA-seq技术的技术进步导致了数据集规模和复杂性的增加。作为回应,一个计算方法的生态系统已经被开发出来,以处理分析这些数据集所涉及的挑战。基于MNNs识别的方法,成功地整合了跨患者、跨条件和跨技术的数据集,解决了scRNA-seq数据中批量效应的关键问题。此外,许多方法已被开发用于模拟细胞轨迹和识别细胞簇。然而,一个仍然存在的限制是,大多数聚类方法要求用户指定聚类的数量,而为给定的数据集找到最优的聚类数量是一个挑战。第二个限制是,使用标记基因手工标注细胞类型可能非常耗时。幸运的是,新的自动化和半自动化的细胞类型分类方法正在开发中,以解决这个问题,尽管新的细胞类型和状态仍然需要手工注释。
跨样本整合数据集的能力,以及最新的scRNA-seq方法增加的通量,将提高我们解析细胞子类型和发现罕见细胞类型的能力。此外,许多较新的方法,特别是用于低级数据预处理的方法,考虑了内存和中央处理单元的使用情况,这是非常重要的,因为单细胞数据集的大小在不断增加。这些计算方法的进一步发展将有助于研究人员进一步了解生物学。尽管在计算方法上取得了这些进展,但仍然需要通过测试多个生物重复或进行额外的实验(如免疫染色或RNA-FISH)来验证任何计算结果。
多组学方法的出现将需要一套新的工具来连接不同细胞参数的数据,如蛋白质表达或表观遗传数据,以提供更多的生物学见解。例如,分析基因表达与增强子和/或启动子可及性之间的关系可能描绘出细胞类型的基因调控特异性图谱,从而最大限度地利用scRNA-seq数据集。