scRNA-跟着Bioconductor一步一步学习scRNA(一)

刘小泽写于19.9.9、9.11 动力来自偶然间看到的Bioconductor放出的单细胞数据分析教程 https://bioconductor.org/packages/release/workflows/html/simpleSingleCell.html 题目就叫“step-by-step”,最喜欢这么系统的学习了,并且它涵盖了主流的几个R包,主流的两个平台smart-seq2和10X,带着读者一点点去探索scRNA公共数据。所以,你心动了没? 来吧,一起去探索!

前言

这个教程写的非常详细,所以大家可以随时自行演练,我也是凭借兴趣想要去了解这个教程。依然不是翻译

总共有12章:

HTMLR Script01. Introduction
HTMLR Script02. Read count data
HTMLR Script03. UMI count data
HTMLR Script04. Droplet-based data
HTMLR Script05. Correcting batch effects
HTMLR Script06. Quality control details
HTMLR Script07. Spike-in normalization
HTMLR Script08. Detecting doublets
HTMLR Script09. Advanced variance modelling
HTMLR Script10. Detecting differential expression
HTMLR Script11. Scalability for big data
HTMLR Script12. Further analysis strategies

还等什么?快点开始第一章的学习啦!

第一章:序幕

教程在:https://bioconductor.org/packages/release/workflows/vignettes/simpleSingleCell/inst/doc/intro.html,更新于2019-05-03,这个教程基于的环境是R version: R version 3.6.0 (2019-04-26); Bioconductor version: 3.9

作者也是先讲述了他写作的动力

单细胞测序,顾名思义就是对生物体内的单个细胞进行测序。整个测序过程主要有三部分:第一是单个细胞分离;第二是DNA/RNA提取;第三是测序。单个细胞分离的方法主要包括:微流控平台,如Fluidigm C1(Pollen et al. 2014);微量滴定板,如Smart-seq2(Picelli et al. 2014);基于微滴技术,如inDrop(Klein et al. 2015; Macosko et al. 2015)。定量的步骤加入了一个新名词:unique molecular identifiers (UMIs) ,它是为了减轻PCR bias的影响(Islam et al. 2014)。表达矩阵可以用来检测高变异基因highly variable genes (HVGs) ,它一般是细胞异质性的来源;可以寻找基因和细胞表型的关联;可以通过降维、聚类来鉴定新的亚群。这些信息在常规转录组的分辨率下是检测不到的。

scRNA-seq与bulk RNA-seq的不同之处在于:首先scRNA的数据噪音更大(Brennecke et al. 2013; Marinov et al. 2014)。由于单个细胞中的RNA含量很低,dropout的比例会更高(dropout就是原本有表达量但没检测到),因此转录本的捕获、扩增方法需要更优化,在质控时就要注意drouput的情况。scRNA-seq数据可以用来研究细胞间异质性,例如鉴定新的细胞亚群、区分不同的生物过程、将细胞对应到不同细胞周期、鉴定HVGs等 (Vallejos, Marioni, and Richardson 2015; Fan et al. 2016; Trapnell et al. 2014)。因此单细胞转录组数据需要新的方法去分析。

利用Bioconductor来学习scRNA-seq

整个学习过程是从一个表达矩阵开始的,向下有几个关键的步骤:

  • 质控移除有问题的细胞
  • 对细胞差异进行归一化(考虑spike-in的影响)
  • 批次效应校正
  • 根据基因表达量对细胞周期进行推断
  • 数据探索,能否鉴定出新的亚群
  • 最后,HVG与marker基因的鉴定,这些使我们更关心的基因

这些操作会使用公共数据集进行探索,这些数据集主要来自于不同实验方法和平台的骨髓祖细胞、脑细胞、造血干细胞、T辅助细胞和小鼠胚胎干细胞(Lun et al. 2017; Wilson et al. 2015; Zeisel et al. 2015; Islam et al. 2011; Buettner et al. 2015; Zheng et al. 2017)。目的是日后能对自己的数据设计个性化分析流程。

这些流程都在一个数据包中:

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("simpleSingleCell")
browseVignettes("simpleSingleCell")

获取表达矩阵

这里作者没有介绍表达矩阵的上游处理(比对、定量等),不过如果使用R进行处理的话,一般推荐 Rsubread 这个包 (Liao, Smyth, and Shi 2013, 2014)。

不同的scRNA-seq方法有不同的技术手段:

  • UMIs:具有相同UMI的reads比对到一个基因,这个转录本的表达量只计算一次。处理包含UMI的数据(例如10X数据)就需要从每个read或read pair中提取出UMI序列,然后将UMI重复的序列合并成一个count值 (Smith, Heger, and Sudbery 2017)
  • cell barcode:测序的时候一般会同时测不同类型的样本,为了区分不同的细胞就给细胞加上一个识别码”cell barcode“。这些序列都是有标准规定的,例如Illumina就提供这种序列。基于droplet技术的实验(Zheng et al. 2017)或者非常高通量基于细胞板的实验,如MARS-seq (Jaitin et al. 2014)都适用。处理这种数据,一般需要一步操作:从每个read中提取barcode序列,然后barcode相同的就来自同一个细胞文库

像这样的预处理, scPipe 包(Tian et al. 2018) 就提供了R处理流程,不过现在10X的cellranger已经有一个比较完善的流程去做count这一步

如果存在spike-inRNA,这些序列就要在比对前(构建基因组index)的时候加上去。然后后面定量之前,spike-in转录本和内源基因的基因组区间可以合成一整个GTF文件

Yunze Liu
Yunze Liu
Bioinformatics Sharer

Co-founder of Bioinfoplanet(生信星球)

Next
Previous

Related