OSCA教程2 | Overview

本教程提供了单细胞数据分析的一个基本框架,教程来源:http://bioconductor.org/books/release/OSCA/overview.html

主要分为六个部分:

  • 1.实验设计
  • 2.数据预处理
  • 3.构建SingleCellExperiment对象
  • 4.数据处理:质控,标准化,特征选择,数据整合,降维
  • 5.下游分析:聚类,差异表达分析,轨迹分析,注释
  • 6.可重复性分析:数据可视化,报告生成

一张图来表示:

OSCA教程2 | Overview_第1张图片
Workflow.png

1.实验设计:Experimental Design

问题1:技术的选择

在正式开始数据分析之前,一些关于实验设计的评论可能是有帮助的。其中,最明显的问题就是:关于技术的选择,实验技术可以大致分为以下几类:

  • Droplet-based: 10X Genomics, inDrop, Drop-seq
  • Plate-based with unique molecular identifiers (UMIs): CEL-seq, MARS-seq
  • Plate-based with reads: Smart-seq2
  • Other: sci-RNA-seq, Seq-Well

每一个实验都有他自己的优点和缺点,具体可参考:Mereu et al. 2019; Ziegenhain et al. 2017

在实践中,基于液滴的技术是目前比较主流的技术,因为它们的高通量和低成本。基于平板的方法可以捕获其他表型信息(如形态学),并且更易于定制。基于read的方法提供了完整的转录本覆盖,这在一些应用中是有用的(如剪接,外显子组突变)。另外,基于umi的方法更受欢迎,因为它们减轻了PCR扩增噪声的影响。方法的选择取决于读者的情况——我们将简单地指出,我们的分析流程的大多数方面与技术无关。

问题2:捕获细胞数量和测序深度

另外一个问题就是:应该捕获多少细胞,测多少数据量?简单的回答就是:尽你所能的多多益善。

长一点的回答就是:根据分析目的来选择。

  • 如果我们希望发现稀有细胞群,那么我们需要更多的细胞。
  • 如果我们希望描绘细微的差异,那么我们就需要更多的数据量。

在本文撰写之时,一项非正式的文献调查表明,典型的基于液滴的实验将捕获1万到10万个细胞,每个细胞的测序量从1000到10000个UMIs(通常与细胞数量成反比)。基于液滴的方法也有通量和doublet率之间的权衡,影响测序的真正效率。

问题3:多样本与生物学重复

对于包含多个样本和处理的研究,实验设计与bulk RNA-Seq实验类似。一个处理应该包含多个生物学重复,并且没有批次。注意:单个的细胞不是重复。相反,我们指的是来自复制供体或培养物的样本。

2.获取Count矩阵:Obtaining a count matrix

测序数据需要转换为一个表达矩阵用于统计分析。鉴于测序数据的离散性,这通常是一个计数矩阵,包含UMIs的数量或映射到每个细胞中每个基因的读取数。量化表达的精确过程往往依赖于技术:

  • 10X Genomics data:可以使用CellRanger软件分析得到count matrix。这个软件使用STAR将reads比对到参考基因组上,然后计算比对到每个基因的UMI数量。
  • Pseudo-alignment methods:如alevin,可以从相同的数据中更高的效率的获得计数矩阵。这避免了比对的需要,从而减少了计算时间和内存使用。
  • 对于其他高度multiplexed 技术,scPipe包为处理scna -seq数据提供了更通用的管道。它使用Rsubread比对,然后计算每个基因的UMIs。
  • 对CEL-seq或CEL-seq2数据:scruff 包为定量提供了一个专用管道。
  • 对read-based的技术,我们可以使用处理bulk RNA-seq数据的分析流程。
  • 对于含有spike-in 转录本的实验,内参序列需要包含在比对和定量过程重的参考基因组中。

定量之后,我们可以将count matrix导入R,然后创建一个SingleCellExperiment对象。这一步,可以使用基本的方法read.table。对于特殊的数据格式,我们可以使用DropletUtils (for 10X data) or tximport/tximeta(for pseudo-alignment methods)包。

基于数据的来源,需要注意以下几点:

  • 一些定量工具会在count matrix中输出比对的统计信息,如unaligned or unassigned reads数量,这些数据对于质控很有用。但,如果把它们当作基因表达值,就会产生误导,因此,在进一步分析之前,它们应该被删除(或者至少移动到colData中)。
  • 当矩阵是基因名时,在使用^ERCC正则表达式检测人类数据中的spike-in行时要小心。ERCC基因家族实际上存在于人类注释中,这将导致不正确的基因识别为spike-in转录本。这个问题可以通过使用带有标准标识符的计数矩阵(如:Ensembl、Entrez)来避免。

3.数据处理和下游分析

在最简单的工作流中,包含以下几步:

  • 1.计算QC指标,过滤低质量的细胞。这些细胞可能是:在处理过程中损害了,或者,在测序时没有被完全捕获。常见的QC指标包括:每个细胞的total counts,spike-in或线粒体reads的比例,检测到的features数。
  • 2.标准化:将count矩阵标准化,计算细胞特异的偏移(如捕获效率),下游分析时就可以进行细胞间的比较分析如聚类,我们还需要进行数据转换,如log,来调整均值与方差之间的关系。
  • 3.特征选择。对每个基因在所有细胞中的表达方差进行建模,保留高变基因。目的是减少计算量和来自不感兴趣基因的噪音。
  • 4.降维。通常是使用PCA获得初始低维空间,然后使用t-SNE进行可视化
  • 5.分群。基于标准化后的细胞基因表达水平的相似性,对细胞进行聚类。其目的是获得作为不同生物状态的分组。我们通常通过识别cluster之间的差异表达标记基因来解释这些分组。

其他步骤,如数据整合和细胞注释,将在各自的章节中讨论。

4.快速开始:Quick start

下面,我们将使用来着Macosko et al. (2015)的数据集,这个数据主要是基于droplet-based技术,分装在scRNAseq包中。下面简单示范如果从一个count 矩阵到细胞分群分析流程。

library(scRNAseq)
sce <- MacoskoRetinaData()

# Quality control.
library(scater)
is.mito <- grepl("^MT-", rownames(sce))
qcstats <- perCellQCMetrics(sce, subsets=list(Mito=is.mito))
filtered <- quickPerCellQC(qcstats, percent_subsets="subsets_Mito_percent")
sce <- sce[, !filtered$discard]

# Normalization.
sce <- logNormCounts(sce)

# Feature selection.
library(scran)
dec <- modelGeneVar(sce)
hvg <- getTopHVGs(dec, prop=0.1)

# Dimensionality reduction.
set.seed(1234)
sce <- runPCA(sce, ncomponents=25, subset_row=hvg)
sce <- runUMAP(sce, dimred = 'PCA', external_neighbors=TRUE)

# Clustering.
g <- buildSNNGraph(sce, use.dimred = 'PCA')
colLabels(sce) <- factor(igraph::cluster_louvain(g)$membership)

# Visualization.
plotUMAP(sce, colour_by="label")
OSCA教程2 | Overview_第2张图片
quick-start-umap-1.png

参考资料:

  • Macosko, E. Z., A. Basu, R. Satija, J. Nemesh, K. Shekhar, M. Goldman, I. Tirosh, et al. 2015. “Highly parallel genome-wide expression profiling of individual cells using nanoliter droplets.” Cell 161 (5): 1202–14.
  • Mereu, Elisabetta, Atefeh Lafzi, Catia Moutinho, Christoph Ziegenhain, Davis J. MacCarthy, Adrian Alvarez, Eduard Batlle, et al. 2019. “Benchmarking Single-Cell Rna Sequencing Protocols for Cell Atlas Projects.” bioRxiv. https://doi.org/10.1101/630087.
  • Ziegenhain, C., B. Vieth, S. Parekh, B. Reinius, A. Guillaumet-Adkins, M. Smets, H. Leonhardt, H. Heyn, I. Hellmann, and W. Enard. 2017. “Comparative Analysis of Single-Cell RNA Sequencing Methods.” Mol. Cell 65 (4): 631–43.

你可能感兴趣的:(OSCA教程2 | Overview)