单细胞分析最佳实践教程

分析最佳实践

Posted by CHY on April 19, 2020

本文主要阅读单细胞RNA测序分析的最佳实践教程(原理、代码和评述)这篇文献,故作此记录,方便后续查阅。原文链接

阐述了一个典型的单细胞转录组分析各个步骤的细节和注意事项,包括预处理(质控、标准化、数据校正、特征选择、降维)和细胞/基因水平的下游分析等。 https://www.github.com/theislab/single-cell-tutorial

第一步:预处理与可视化

主要针对原始测序数据进行初步处理,包括barcode(针对于cell)和UMI(针对于基因)分析。原始数据处理流程如Cell Ranger , indrops, SEQC, zUMIs负责测序数据质控,确定reads来源的细胞 (barcodes) (这一步也称为demultiplexing)和mRNA分子 、基因组比对和定量。

第二步:质控

  1. 测到的转录本分子总数
  2. 测到的基因总数
  3. 来源于线粒体基因的转录本所占比例 doublets检测工具提供了更好的解决方案:DoubletDecon, Scrublet, Doublet Finder。

针对于基因的筛选,也需要特别注意,如滤除掉在少于20个细胞中表达的基因可能会使鉴定少于20个细胞的细胞亚群变得困难。对于dropout比率高的数据集,此阈值也可能会使不太大的细胞亚群难以被检测到。阈值的选择应随待分析数据集中的细胞数量和既定的下游分析而定。

输入型基因表达(Ambient gene expression)是指某个barcode检测到的转录本是源自其他细胞在建库前发生破裂而释放到细胞悬液中的mRNA。这些增加的外来计数会影响下游分析,如Marker基因鉴定或其他差异表达分析过程。由于基于液滴的scRNA-seq数据集中存在大量空液滴,因此可以通过空液滴建模分析细胞悬液中的RNA构成和丰度来校正这一影响。最近开发的SoupX使用这种方法直接校正count matrix。另外,在下游分析中直接忽略这些有强影响的输入型基因也是处理这个问题的一个实用方法。

第三步:标准化(细胞层面)与归一化(基因层面)

Normalization可以通过调整计数数据 (scaling count data)等解决这一问题,以获得细胞之间可比的相对基因表达丰度。 最常用的标准化方法是测序深度标准化,也称为“每百万计数”或CPM normalization。该方法来自普通转录组表达分析,使用每个细胞的测序深度作为size factor对计数数据进行标准化。CPM标准化假设数据集中的所有细胞最初都包含相等数量的mRNA分子,并且计数深度差异来源于技术问题。

软件包Scran的pooling‐based size factor方法对细胞异质性的影响处理更好。首先把细胞合并到一起避免technical dropout效应,然后基于基因表达的线性回归模型估算size factor。

标准化是对细胞计数数据进行缩放处理以使其在细胞之间可比,也可以在基因层面对基因计数进行归一化 (scale)以便于基因内部进行直接比较。基因归一化是指一个基因减去其在所有样品表达的均值然后除以其在所有样品表达值的标准差。归一化后,这个基因在所有样品表达值均值为0,用单位方差形式表示其表达值。归一化后,所有基因在下游分析时权重是一样的。

陷阱和建议

文章建议使用scran来标准化非全长数据集。另一种选择是通过scone评估标准化方法,尤其是对基于板的数据集。全长scRNA-seq数据可以使用bulk转录组的方法校正基因长度的影响。 基因表达归一化(scale)到均值为0和单位方差尚无共识。文章倾向于不进行scale操作。 标准化后的数据应进行log(x+1)转换,以使数据更符合正态分布,满足下游分析方法的初始假设。

数据校正与整合

数据校正的目的就是进一步去除技术因素和非关注的生物学混杂因素,例如批次、dropout或细胞周期不同带来的影响。需要注意的是这些混淆因素并不总是需要校正。

去除与研究不相干的生物因素的影响

最常见的生物因素校正是消除细胞周期对转录组中基因表达的影响。可以使用Scanpy和Seurat对每个细胞的细胞周期评分进行简单的线性回归校正或通过应用了更复杂的混合模型的专用程序包如scLVM或f-scLVM进行校正。

去除技术影响

单细胞数据中最突出的技术影响因素是测序深度和批次。更严格的标准化程序、回归校正

批次效应和数据整合

通常批次效应校正使用线性方法,而非线性方法则用于数据整合。

ComBat在中低到中复杂度的单细胞实验中也表现良好。ComBat构建了基因表达的线性模型,其中批次贡献在数据的均值和方差中均得到校正。

数据整合方法,例如典型相关分析(Canonical Correlation Analysis, CCA),相互最近邻(Mutual Nearest Neighbours, MNN), Scanorama, RISC, scGen, LIGER, BBKNN和Harmony已经开发用于解决这个问题。

缺失值填充

主要是考虑的dropout,用推断出的合适的表达值替换这些零以减少数据集中的噪声成为几种最新工具的目标 (MAGIC, DCA, scVI, SAVE, scImpute)。

特征选择,降维和可视化

特征选择、降维

对数据集基因进行过滤仅保留对数据的变异性具有信息贡献的基因(在数据中变异大的基因)。这些基因通常被定义为高变化基因(HVG,highly variable genes)。根据任务和数据集的复杂性,通常选择1,000到5,000个HVG用于下游分析。Klein et al.的初步结果表明,下游分析对HVG的数量不太敏感。在HVG数量从200到2,400之间选择不同的数目时,评估显示PCA结果相差不大。基于此结果,我们宁愿选择更多的HVG用于下游分析。

在Scanpy和Seurat中都实现了一种简单而流行的选择HVG的方法。在这里,基因按其均值表达进行分组,将每个组内方差/均值比最高的基因选为每个分组的HVG。

降维具体有用介绍不多。

可视化

可视化时一般使用非线性降维方法。UMAP视为探索性数据可视化分析的最佳实践。UMAP+PAGA是可视化特别复杂的数据集的合适替代方法。建议使用UMAP进行探索性分析可视化;使用PCA做为通用数据降维方法;diffusion maps可以在轨迹推断时替代PCA。

数据预处理步骤

主要将预处理分为五个数据处理阶段:(i)原始数据,(ii)标准化后的数据,(iii)校正后的数据,(iv)特征选择后的数据,以及(v)降维后的数据。

数据处理的这些阶段可以归类为三个预处理层:测量的数据,校正的数据和降维的数据。

测量的数据:主要是指原始数据和处理后仍保留表达值为0的基因的数据,以及标准归一化后仍保留表达值为0的基因的数据。基因表达的统计比较需要基于测量数据层。

校正的数据:去除不需要的变化信息进而替换0表达值的数据,最能代表生物信号。对于目测基因表达,校正的数据是最合适的,有助于结果解释。经过生物学不相关因素校正的数据主要适用于专注于特定生物学过程(例如轨迹推断方法)的分析工具。

降维后的数据:主要强调数据的主要差异的数据。优势在于生物数据信息的汇总(summarization)和影响生物数据的噪声的降低。因此,降维后的数据应用于后续的探索性方法(如可视化、邻域图推断、聚类)以及计算复杂的下游分析工具(如轨迹推断)。

陷阱和建议:

  1. 原始测量的数据用于差异基因统计检验分析;
  2. 校正后的数据用于数据的可视化比较;
  3. 降维后的数据用于其他基于数据形态(biological data manifold)的下游分析。

下游分析

下游分析可分为细胞水平和基因水平的方法,细胞水平分析通常着重于两种结构的描述:簇和轨迹。这些结构又可以在细胞和基因水平上进行分析,即簇分析和轨迹分析方法。广义地讲,簇分析方法试图将细胞分类为离散的多个组来解释数据的异质性。相反,在轨迹分析中,数据被视为细胞连续变化动态过程的一个个快照,轨迹分析方法研究了这一连续变化过程。

聚类分析

表达谱相似性是通过对将降维的数据进行距离度量确定的。相似性评分的一个常见示例是在主成分降维后的表达空间上计算的欧氏距离。存在两种根据这些相似性分数生成细胞簇的方法:聚类算法和基于图的社群检测方法。

KNN图中应用Louvain算法,是Scanpy和Seurat默认的聚类方法。同时细胞聚簇不一定使用单一分辨率进行。

细胞簇注释
  1. 不要使用标记基因的P-value值来验证细胞簇身份,尤其是当检测到的标记基因无益于注释细胞簇时。P值可能会被夸大。
  2. 请注意,由于数据集的细胞类型和状态组成,同一细胞簇的标记基因可能在数据集之间有所不同。
  3. 如果存在相关的参考数据集,我们建议综合使用自动聚类注释和基于数据的标记基因的手动注释来注释细胞类型。
轨迹推断

在典型的分析流程中,轨迹推断(TI)方法应用于降维后的数据。如果使用的TI工具自带了降维功能,则基于校正后的数据进行分析。

早期寻找轨迹相关基因的方法是沿轨迹在细胞簇之间进行差异基因分析(DE)。现在通过将基因表达与伪时间 (pusedotime)信息进行回归来鉴定随轨迹显著变化的基因。

亚稳态:轨迹的细胞水平分析是指研究伪时间轴上的细胞密度。假设以无偏方式对细胞进行随机采样,轨迹中细胞密集的区域表示优选的转录状态。当将轨迹解释为时间过程时,这些密集区域可能代表例如发育中的亚稳态。可以通过绘制伪时间坐标的直方图来找到这些亚稳态。

细胞水平联合分析:PAGA提出一个统计模型进行细胞簇互作分析,将细胞相似度高于期望值的两个簇之间用线连接。

差异基因分析

  1. DE测试不应基于校正后的数据(去噪,批次校正等),而应基于原始测量数据并在模型中引入干扰协变量。
  2. 用户不应依赖差异基因检测工具校正带有混杂协变量的模型。设计矩阵模型应当保证满秩。
  3. 建议使用MAST或limma进行差异基因分析。

Scater在质量控制和数据预处理方面具有特殊优势,而Seurat可以说是最受欢迎和最全面的分析平台,提供了大量分析模块和教程。scanpy是一个基于Python的不断发展的新的单细胞分析平台,该平台可以扩展应用于分析更大规模的单细胞数据集。