美文网首页单细胞测序单细胞测序
OSCA单细胞数据分析笔记-4、Overview pipelin

OSCA单细胞数据分析笔记-4、Overview pipelin

作者: 小贝学生信 | 来源:发表于2021-04-03 20:02 被阅读0次

    对应原版教程第5章http://bioconductor.org/books/release/OSCA/overview.html
    本小节概述了从测序到数据分析的基本流程,让我们对scRNA-seq先有一个整体的印象。

    a typical scRNA-seq analysis workflow

    1、上游实验简介
    1.1 测序技术
    1.2 从测序结果到表达矩阵
    2、下游基础流程
    2.1 构建SingleCellExperiment对象
    2.2 基础流程
    2.3 基础流程code quick start

    1、上游实验简介

    1.1 测序技术

    历经10年左右发展,单细胞测序技术目前有两大主流平台。分别是10X Genomics(Droplet-based)与Smart-seq2(Plate-based with reads),各有优劣。

    • 10X Genomics:通量高(10k~100k cells),相对来说测序成本低,因此适宜全面捕获取样组织的细胞种类信息,用的也多。但测序过程会存在一定的dropout/doublet rate problem(通量越高,越影响。)
    • Smart-seq2:通量相对较低,但测序深度高,因此适宜单细胞水平的转录本或可变剪切分析,突变检测等。从某种角度上,Smart-seq2的测序结果更类似传统的Bulk RNA-seq
    • 关于这两种技术的详细区别,可参考张泽民团队2020年发表的文章,从具体实验结果角度的比较结论。https://www.sciencedirect.com/science/article/pii/S1672022921000486
      From paper:实验步骤示意图

    1.2 从测序结果到表达矩阵

    类似传统RNA-seq,测序得到的fastq文件,需要比对基因组、计数得到最终的表达矩阵才可以进行真正的下游数据分析。

    • 对于10X的测序数据,官方提供了御用软件CellRanger,可以比较方便得到表达矩阵结果。(简单来说首先使用STAR比对,然后统计每个基因比对到多少个UMI,作为表达量)
    • 对于Smart-seq的测序数据,则可以参考传统的RNA-seq比对、计数pipeline。
    • 此外还有一些R包,专门用来处理单细胞的fastq文件。例如作者推荐的scPipe,介绍如下(我暂时没用过,用过的朋友可以来说说咋样)

    A preprocessing pipeline for single cell RNA-seq data that starts from the fastq files and produces a gene count matrix with associated quality control information. It can process fastq data generated by CEL-seq, MARS-seq, Drop-seq, Chromium 10x and SMART-seq protocols.

    • 需要格外注意的一点是:如果实验设计中加入的spike-in transcripts(比如ERCC),在比对时一定要将这些参考序列加入到我们的参考基因组中,再进行比对。否则可以理解加了也是白加。

    2、下游基础流程

    2.1 构建SingleCellExperiment对象

    • 根据上一步得到的表达矩阵,以及实验批次、分组信息等(如果有的话)构建sce对象。
    • 之后的每一步分析基本都是以sce对象为载体,并将结果储存在该结构里。
    • 关于SingleCellExperiment介绍,可参考上一篇笔记。

    2.2 基础流程

    对于scRNA-seq数据分析,包含最基本的5个步骤


    • (1)质控:过滤出不合格、或者是低质量的细胞;
    • (2)标准化:类似Bulk RNA-seq,为了使不同细胞间细胞表达更具有可比性;
    • (3)挑选高变基因:为降维做准备,降低无表达变化基因的噪音信息干扰;
    • (4)降维:最大化保留细胞特征信息的同时,降低每个细胞信息的复杂度,从近万个维度,到几十个维度;
    • (5)聚类:根据细胞的特征表达与细胞间的相似性,将这一批细胞分为若干有潜在意义的组别。


    2.3 基础流程code quick start

    • 相关R包,没有的话,需要安装BiocManager::install("package_name")
    • 用法,简介可参考Bioconda的该包介绍,一般很详细的。相关函数用法会在之后教程中使用到再做介绍。
    #数据包,提供很多示例scRNA-seq表达矩阵信息
    library(scRNAseq)
    #scRNA-seq分析工具包
    library(scater)
    ##scRNA-seq分析工具包
    library(scran)
    
    • 基础五步骤的代码展示
    library(scRNAseq)
    sce <- MacoskoRetinaData() #直接为sce格式
    
    # (1)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]
    
    # (2)Normalization.
    sce <- logNormCounts(sce)
    
    # (3)Feature selection.
    library(scran)
    dec <- modelGeneVar(sce)
    hvg <- getTopHVGs(dec, prop=0.1)
    
    # (4)Dimensionality reduction.
    set.seed(1234)
    sce <- runPCA(sce, ncomponents=25, subset_row=hvg)
    sce <- runUMAP(sce, dimred = 'PCA', external_neighbors=TRUE)
    
    # (5)Clustering.
    g <- buildSNNGraph(sce, use.dimred = 'PCA')
    colLabels(sce) <- factor(igraph::cluster_louvain(g)$membership)
    
    # (5)Visualization.分群可视化
    plotUMAP(sce, colour_by="label")
    

    下一节会学习下游分析的第一步,也就是质控过程中的若干问题。

    相关文章

      网友评论

        本文标题:OSCA单细胞数据分析笔记-4、Overview pipelin

        本文链接:https://www.haomeiwen.com/subject/olehkltx.html