《Tutorial: guidelines for the computational analysis of single-cell RNA sequencing data》单细胞流程

这篇文献是今年12月份发的,也就是一个星期前,是刘小乐教授推荐阅读的


推特地址:https://twitter.com/XShirleyLiu/status/1336882218044624896

本篇文章讲解了单细胞RNA-seq的一般分析流程,当然文中还推荐了分析的课程:单细胞课程,这个课程讲的还是比较基础的,比较适合初学者入坑
《Tutorial: guidelines for the computational analysis of single-cell RNA sequencing data》

Introduction

目前基于单细胞测序主要有两种建库技术,一种是主打细胞数量的10X platform,该技术的特点是提出了unique molecular identifiers(UMI),即每一个细胞对应唯一的barcode作为区分于其他细胞的标识符;简而言之就是测到的每一条reads上都带有唯一的barcode,一个barcode对应一个细胞,这样我们就可以知道测到的reads分别来自于哪一个细胞,而UMI即代表mapping到某一个barcode(细胞)上的reads数
另外一个是主打基因的smart-seq,该方法测的是5'到3'端的mRNA,即容易测到全长的mRNA,但是采用该技术建库分离的细胞数目较少

scRNA-seq分析的主要组成部分是表达矩阵,它表示每个细胞中每个基因的转录本数量;因此scRNA分析流程可以分为两类:1.产生表达矩阵;2.分析表达矩阵



在特定的情况下,研究人员必须首先组合来自多个实验所产生的表达矩阵以获得组合的表达矩阵,并针对测序深度,细胞周期阶段和其他混杂因素进行校正。 接下来,将数据可视化,并通过聚类,伪时间和差异表达分析确定生物学上有意义的模式。 最后,将结果与文献和现有数据集进行比较。

Quality control

那么质控的第一步就是去除一些不太可能代表单个细胞的barcode,最简单的方法就是对于每一个barcode,设置UMI的最小阈值,小于该阈值的将其舍去
其次要考虑的是检测到的基因数量,线粒体基因组转录出来的mRNA如果比例过高,那么意味着同样测序深度,其他基因分摊到的reads比例将会减少;一般针对这种情况,我们需要根据不同器官,不同技术路线来确定线粒体mRNA比例的阈值
最后还应该考虑或有一些barcode会对应于多个细胞,这种情况我们称之为doublets,我们可以通过一些软件进行检测,例如scrubletDoubletFinder。这些软件对你的数据模拟可能出现的双峰,从而判断哪一些barcode对应于多个细胞

归一化

所谓归一化就是计算与样品的测序深度相关的量(通常称为“size factor”),我们可以利用scran包对每一个细胞来估计(size factor),还有就是利用spike-in RNA或者管家基因来估算size factor

还有一个问题就是在单细胞表达矩阵中会出现很多零表达或者低表达的基因,这种情况的归一化方式与高表达基因的不一样。例如:SCnorm 常常用于低通量,高深度的数据,而sctransform 常常用于高通量,低深度的数据。最近在2019年又推出了基于贝叶斯方法进行标准化和推断单细胞数据的count,称之为bayNorm,目的是通过mRNA捕获的影响来推算潜在的基于表达谱

批次效应矫正

批次效应是由非生物因素(例如实验时间,进行实验的人或试剂的差异)的差异引起的。
在bulk-seq中,去除批次效应可以用ComBat进行矫正,其原理是利用线性模型分开生物学效应项和批次效应项,可阅读关于批次效应的若干问题

但是这种方式并不适合与单细胞数据,因为原始的单细胞表达矩阵中,我们无法得知确切的细胞类型,不像bulk-seq,我们可以提前得知每个样品的处理方式(在单细胞中,不同的处理方式可以理解为不同的细胞类型)。
去除单细胞批次效应影响的软件有mnnCorrect,该软件利用不同批次中的细胞之间的相互最邻近邻居来确定事后批次之间的共同生物学现象,这种方法经过改进可以为Seurat的 canonical correlation analysis (CCA)找到“锚点”。mnnCorrect使用PCA从基因表达矩阵中删除了批处理效应,而CCA则是将细胞投射到一个公共的基因相关空间中并对该空间进行校正。

Imputation and smoothing

许多归一化策略不会更改零表达的值,因此很容易假设它们代表丢失的值,原则上,删除零可以降低噪音并使其更容易识别数据的基础结构(例如,基因与基因的相关性,细胞簇,标记基因或发育轨迹)。已经开发了一些工具来“估算” scRNA-seq数据中的零值,包括scImpute,DrImpute和SAVER,这些工具都依赖于在数据中寻找可用于预测缺失值表达水平的结构

细胞周期分析

如果样品中包含细胞周期循环的细胞,则可能会导致生物学中混杂因素,可能需要将其去除以进行下游分析。有两种广泛使用的用于识别细胞周期阶段的工具:Cyclone和Seurat
Cyclone软件根据基因在不同细胞的表达情况进行细胞时期的分配(G1 / S和G2 / M时期)
这两种工具都将使用通用线性模型来回归差异。此外,Seurat提供了一个选项,可以只去除G1 / S和G2 / M中细胞之间的差异,同时保留周期和非周期细胞之间的差异。

特征选择

在scRNA-seq实验中,每个基因代表一个维度,但是,许多基因不会在给定的细胞或细胞类型中表达,并且测到的细胞基因总数有时<1,000个基因。
特征选择可识别出相对于技术噪声而言具有最强生物信号的基因,采用特征选取,并选取信息最丰富的基因,可以减少维数的影响,降低噪音并简化分析。scRNA-seq数据中的特征选择有两个复杂因素:(i)影响每个基因的技术噪声取决于该基因的平均表达量,并且(ii)对于小样本量很难估计方差。用于特征选择的最广泛使用的策略是考虑高度可变的基因(即方差比预期高的基因)。比方说Seurat之类的工具使用非参数方法,通过经验拟合方差和均值表达之间的关系来识别高度可变的基因

降维和可视化

大多数scRNA-seq数据集都很复杂,其结构无法被两个或三个主要成分捕获,当前的最佳的降维方法是均匀流形逼近和降维投影(UMAP),该算法使用一个单元间最近邻网络来近似数据的拓扑,然后估计最能保留该结构的低维数据结构,然后嵌入, UMAP能够更好地保存数据高维空间结构,因此可以在很大程度上取代t分布随机邻近嵌入(t-SNE)

无监督聚类

scRNA-seq数据的无监督聚类至关重要,因为它可以识别具有相似表达谱的细胞群。这些组中的某些可以代表不同的细胞类型,而其他组则可以被视为中间细胞状态,因此可以采用 k-means algorithm, Louvain algorithm进行无监督聚类

伪时间分析

什么是伪时间分析,我们知道,一个组织或者一个和器官内有许多种细胞类型,诱导蔡刚发育,有的已经发育成熟,并且存在着一种细胞类型向另外一种细胞类型发育的过程。
那么基于单细胞表达谱,推断出哪一些细胞类型向另外哪一些细胞类型发育的轨迹我们称之为伪时间,有别于真时间的是伪时间是由于同一时空下细胞发育进度的不同而导致的,并不是真正的有时间差。
大多数工具采用以下两种方法之一。第一种方法是使用降维技术来识别细胞所处的低维“流形”,并且利用细胞与细胞间的连接图来表示发育轨迹。使用此算法的软件包括Monocle和DPT
第二种方法是利用无监督的聚类方法先将不同的细胞类型聚类,然后连接每一个cell cluster,再把这些cell cluster投影到每一个分支上

还有一种是利用RNA降解速率来推断细胞发育轨迹,RNAvelocity就是利用这个原理,其原理大致为传送门

差异表达

在单细胞差异表达显著性检验中,往往利用非参数non-parametric Wilcoxon test做检验。对于每一个差异表达比较,当前的选择是计算每个细胞类型某基因的平均表达量,类似于bulk-seq,将不同的细胞类型看作是bulk-seq的不同样本,比较不同细胞类型之间的差异表达

比较与合并数据集

随着scRNA-seq数据量的不断增长,一项重要的挑战是确定如何最佳地组合数据集。批处理效应是组合来自不同实验室的分析时的主要挑战
当给定一个或多个具有已知细胞类型的数据集时,scmap会建立一个小的索引。给定新的数据集后,scmap可以基于单细胞转录表达谱快速识别在参考数据中哪一个细胞类型最接近的给定的新细胞。此外,scmap可以预测在参考数据中相邻最近的细胞,这意味着在做伪时间分析时可以分配伪时间的值,而不是用离散的cell cluster标签来推算
另一种方法是MetaNeighbor,目的是测试多个scRNA-seq数据集之间的细胞类型是否一致。 通过计算整个数据集之间的细胞间Spearman相关性,MetaNeighbor可以验证细胞标记在多个实验中的可重复性。

你可能感兴趣的:(《Tutorial: guidelines for the computational analysis of single-cell RNA sequencing data》单细胞流程)