单细胞系列教程

  • 收藏 北大生信平台” 单细胞分析、染色质分析” 视频和PPT分享

  • Science: 小鼠肾脏单细胞转录组+突变分析揭示肾病潜在的细胞靶标

  • 10X单细胞测序分析软件:Cell ranger,从拆库到定量

  • Hemberg-lab单细胞转录组数据分析(一)- 引言

  • Hemberg-lab单细胞转录组数据分析(二)- 实验平台

  • Hemberg-lab单细胞转录组数据分析(三)- 原始数据质控

  • Hemberg-lab单细胞转录组数据分析(四)- 文库拆分和细胞鉴定

  • Hemberg-lab单细胞转录组数据分析(五)- STAR, Kallisto定量

  • Hemberg-lab单细胞转录组数据分析(六)- 构建表达矩阵,UMI介绍

  • Hemberg-lab单细胞转录组数据分析(七)- 导入10X和SmartSeq2数据Tabula Muris

  • Hemberg-lab单细胞转录组数据分析(八)- Scater包输入导入和存储

  • Hemberg-lab单细胞转录组数据分析(九)- Scater包单细胞过滤

  • Hemberg-lab单细胞转录组数据分析(十)- Scater基因评估和过滤

  • Hemberg-lab单细胞转录组数据分析(十一)- Scater单细胞表达谱PCA可视化

  • Hemberg-lab单细胞转录组数据分析(十二)- Scater单细胞表达谱tSNE可视化

  • 单细胞分群后,怎么找到Marker基因定义每一类群?

  • DESeq2差异基因分析和批次效应移除

识别基因表达检测影响因素

混杂因素简介

scRNA-seq数据会受到一些人为因素、操作偏差、批次等因素的影响。scRNA-seq分析的一个挑战是没有办法通过评估技术重复来区分生物和技术各自带来的变化有多大比例。前面的分析,我们考虑了批次效应,下面我们看下还有没有其它实验因素会影响单细胞基因表达检测并移除这些因素。scater包提供了一些评估实验因素和生物因素对表达数据影响的检测方法。我们用Blischak数据做例子展示其应用。

library(scater, quietly = TRUE)
options(stringsAsFactors = FALSE)
# umi <- readRDS("tung/umi.rds")
# umi.qc <- umi[rowData(umi)$use, colData(umi)$use]
# endog_genes <- !rowData(umi.qc)$is_feature_controlumi_endog_genes <- !rowData(umi)$is_feature_control
umi_endog <- umi[umi_endog_genes,]
umi.qc <- umi[rowData(umi)$use, colData(umi)$use]
umi_qc_endog_genes <- !rowData(umi.qc)$is_feature_control
umi.qc_endog <- umi.qc[umi_qc_endog_genes,]

umi.qc数据集包含质控过滤后的细胞和基因。下一步是探索技术因素导致的表达变化以应用于下游的基因表达标准化分析中。

与主成分的相关性

质控后数据集的PCA展示

# plotPCA(
#     umi.qc[endog_genes, ],
#     exprs_values = "logcounts_raw",
#     colour_by = "batch",
#     size_by = "total_features"
# )
umi.qc_endog <- runPCA(umi.qc_endog, ncomponents=100, exprs_values = "logcounts_raw")
scater::plotPCA(umi.qc_endog,by_exprs_values = "logcounts_raw",colour_by = "batch",size_by = "total_features_by_counts",shape_by = "individual"
)

scater通过构建线性模型判断主成分与各个影响变量的相关性,从而判断哪些实验或质控变量导致细胞在主成分上的分布。

检测到的基因数与主成分的关系

# plotQC(
#     umi.qc[umi_qc_endog_genes, ],
#     type = "find-pcs",
#     exprs_values = "logcounts_raw",
#     variable = "total_features"
# )
umi.qc_endog <- runPCA(umi.qc_endog, ncomponents=500, exprs_values = "logcounts_raw")
explanatoryPCs <- getExplanatoryPCs(umi.qc_endog, variables = "total_features_by_counts")
#explanatoryPCs <- getExplanatoryPCs(umi.qc_endog)
plotExplanatoryPCs(explanatoryPCs, nvars_to_plot = 5, npcs_to_plot = 10)

确实,PC1几乎完全可以被检测到的基因数解释。从上面PCA图的结果也可以看出,延PC1从左至右,细胞检测到的基因数整体逐步降低的趋势。这也是scRNA-seq一个已经知道的现象,具体见http://biorxiv.org/content/early/2015/12/27/025528.

Explanatory variables (解释变量)

scater也可以把质控变量与所有基因分别进行线性模型拟合获取其边际 (marginal) ,绘制其概率密度分布图谱。

# umi.qc_endog <- normalize(umi.qc_endog)
ExplanatoryVariable <- getVarianceExplained(umi.qc_endog, exprs_values = "logcounts_raw",variables=c("total_features_by_counts","total_counts","batch","individual","pct_counts_MT","pct_counts_ERCC"))
plotExplanatoryVariables(ExplanatoryVariable)# plotQC(
#     umi.qc[endog_genes, ],
#     type = "expl",
#     exprs_values = "logcounts_raw",
#     variables = c(
#         "total_features",
#         "total_counts",
#         "batch",
#         "individual",
#         "pct_counts_ERCC",
#         "pct_counts_MT"
#     )
# )

结果显示检测到的基因数(total_features_by_counts)和测序深度 (total_counts)对基因表达的贡献度很大。因此在基因表达标准化过程中需要考虑移除这些因素的影响或整合到下游的统计分析模型中。ERCC的表达也是重要的解释变量,另外一个显著的特征是batchindividual更多解释基因表达的差异。

其他影响因素

除了考虑校正批次影响 (依赖于实验记录的外部信息),还有其他技术因子需要考虑如何进行抵消。一个常用方法是scLVM (https://github.com/PMBio/scLVM) 是允许识别和移除细胞周期程序性死亡引入的影响。(Seurat+Scran也可以)

另外,不同的实验方案对转录本的覆盖偏好也不同,这一偏好依赖于A/T的平均含量或短的转录本的捕获能力。理想情况下,我们需要消除这些所有的差异和偏差。

往期精品(点击图片直达文字对应教程)

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

如何火眼金睛鉴定那些单细胞转录组中的混杂因素相关推荐

  1. 使用inferCNV分析单细胞转录组中拷贝数变异

    inferCNV用与探索肿瘤单细胞RNA-seq数据,分析其中的体细胞大规模染色体拷贝数变化(copy number alterations, CNA), 例如整条染色体或大片段染色体的增加或丢失(g ...

  2. 国际上首次报道的非人灵长类胰岛衰老的单细胞转录组图谱

    近30年来,随着人口老龄化,我国糖尿病的发病率急剧攀升.目前,全国糖尿病患者总数已经超过一个亿,并且有近五亿成年人处于糖尿病前期(糖耐量受损),这已对我国衰老相关慢性病的防治构成严峻的挑战. 伴随增龄 ...

  3. 代码分析 | 单细胞转录组数据整合详解

    两种整合方法详解 NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞测序分析 (重磅 ...

  4. 文献(5): 单细胞转录组揭示人类纤维化皮肤病中成纤维细胞的异质性

    一句话评价:小样本量单细胞转录组在冷门疾病领域应用前景尚可,常规套路也能发NC 1. Title 标题可以看出本研究的主要内容:①构建成纤维细胞的图谱/揭示成纤维细胞的异质性:②找到一群(相对于正常样 ...

  5. 单细胞转录组数据整合分析专题研讨会(2019.11)

    2019年10月9日,单细胞转录组再等Nature.题为Decoding human fetal liver haematopoiesis的研究,对受孕后4周至17周的人胚胎肝脏.卵黄囊.肾脏和皮肤组 ...

  6. 有了易生信,导师再也不用担心我的单细胞转录组整合分析啦

    2019年10月9日,单细胞转录组再等Nature.题为Decoding human fetal liver haematopoiesis的研究,对受孕后4周至17周的人胚胎肝脏.卵黄囊.肾脏和皮肤组 ...

  7. 单细胞转录组专题研讨会第二期

    单细胞转录组之前是跟常规转录组一起开课的,但后来因为涉及内容多,也需要更专业的讲解,8月份第一次单飞独自开课,邀请中科院单细胞分析算法开发博士倾力授课,一鸣惊人,取得了很好的效果. 现于2019年11 ...

  8. 单细胞转录组单飞第二期开课啦!!

    单细胞转录组之前是跟常规转录组一起开课的,但后来因为涉及内容多,也需要更专业的讲解,8月份第一次单飞独自开课,邀请中科院单细胞分析算法开发博士倾力授课,一鸣惊人,取得了很好的效果. 现于2019年11 ...

  9. 中科院单细胞分析算法开发博士带你做单细胞转录组分析

    " 福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组和Python课程的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次 ...

最新文章

  1. ReactNative ViewPageAndroid组件详解
  2. mysql mysqlhotcopy_MySQL备份之mysqlhotcopy与注意事项
  3. [bzoj1305][CQOI2009]dance跳舞
  4. 被coding.net坑了, Git 动态Pages要停掉...
  5. POJ 1155 TELE 背包型树形DP 经典题
  6. tomcat启动java项目_Java web项目启动Tomcat报错解决方案
  7. 面向对象程序设计的思想的长处
  8. Apache Lucene 3.x推荐教程
  9. JSONObject遍历
  10. (转)EBWin辞典下载资源
  11. 控制Tello无人机扫描条形码
  12. python中转义字符用法及例子,python的转义字符及用法代码解析
  13. 高德地图自定义镂空区域
  14. 航拍仙人掌识别_使用转移学习识别空中仙人掌
  15. Linux如何管理进程
  16. 写给喜欢数学和不喜欢数学的朋友们
  17. c语言乘积imnl,2017年计算机二级C语言考前必做试题及答案2
  18. 博客推荐|使用自定义指标在 Kubernetes 中自动扩展 Pulsar Functions
  19. 中国就业薪酬最高的十所大学
  20. 【VisualStudio】Visual Studio Community 2015/2017/2019/2022 官网下载链接(传送门)

热门文章

  1. “新一代互联网安全(BII)管理:理论与实践研讨会”在西安交通大学成功举办...
  2. 【2015年第4期】基于大数据技术的P2P网贷平台风险预警模型
  3. 【软件质量】变更管理与可追踪性
  4. 【Java】split()和java.util.StringTokenizer分割字符串的性能比较
  5. 传统负载均衡助力AIOps优化智能运维
  6. offset;scroll;client
  7. Nginx系列--01基本架构及其安装
  8. nodjes 支付宝接口 - 优惠卷
  9. 【系列7】使用Dockerfile创建带mysql的Centos Docker镜像
  10. 商业分析在敏捷中的角色