前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OSCA单细胞数据分析笔记-4 Overview pipeline

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

作者头像
生信技能树jimmy
发布2021-04-16 10:38:39
7700
发布2021-04-16 10:38:39
举报
文章被收录于专栏:单细胞天地

分享是一种态度

对应原版教程第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对象

2.2 基础流程

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

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

2.3 基础流程code quick start

  • 相关R包,没有的话,需要安装BiocManager::install("package_name")
  • 用法,简介可参考Bioconda的该包介绍,一般很详细的。相关函数用法会在之后教程中使用到再做介绍。
代码语言:javascript
复制
#数据包,提供很多示例scRNA-seq表达矩阵信息
library(scRNAseq)
#scRNA-seq分析工具包
library(scater)
##scRNA-seq分析工具包
library(scran)

  • 基础五步骤的代码展示
代码语言:javascript
复制
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")


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

往期回顾

单细胞分析十八般武艺2:LIGER

单细胞揭示不同类型转录重构助力人类前列腺癌研究进展

细胞亚群的特异性标记基因也许真的很难

明码标价之公共数据库探索




如果你对单细胞转录组研究感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、上游实验简介
    • 1.1 测序技术
      • 1.2 从测序结果到表达矩阵
      • 2、下游基础流程
        • 2.1 构建SingleCellExperiment对象
          • 2.2 基础流程
            • 2.3 基础流程code quick start
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档