查看原文
其他

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

宋小云 生信宝典 2022-03-28

单细胞系列教程

数据可视化

简介

我们继续使用上一步生成的Tung数据集。我们将探索不同的数据可视化方式来让你意识到质控后发生了什么。scater包提供了几个有用的简化可视化的函数。

scRNA-seq分析的一个重要方面是控制批次效应。批次效应是实验过程中引入的技术偏差。例如两个不同实验室准备的样品或同一实验室不同时间准备的样品,同时或同地准备的样品相似度更高。最差的情况,批次效应引入的差异可能大于生物本身的偏差,进而获得错误结果 (http://f1000research.com/articles/4-121/v1)。因为样品处理过程记录详细,所以Tung数据集将允许我们探索这一现象。理想上,如果同一个体来源的细胞聚在一起,分组的数目与个体是对应的,就说明存在批次效应。

library(SingleCellExperiment)
library(scater)
options(stringsAsFactors = FALSE)
umi <- readRDS("tung/umi.rds")
umi_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,]

PCA分析

查看数据整体分布的最简单方式是PCA主成分分析,在其前两个主成分轴查看数据的分布。

主成分分析 (PCA)是一种数学降维方法, 利用正交变换 (orthogonal transformation)把一系列可能线性相关的变量转换为一组线性不相关的新变量,也称为主成分,从而利用新变量在更小的维度下展示数据的特征。

PCA分析不是简单地选取2个或3个变化最大的基因,而是先把原始的变量做一个评估,计算各个变量各自的变异度(方差)和两两变量的相关度(协方差),得到一个协方差矩阵。在这个协方差矩阵中,对角线的值为每一个变量的方差,其它值为每两个变量的协方差。随后对原变量的协方差矩阵对角化处理,即求解其特征值和特征向量。原变量与特征向量的乘积(对原始变量的线性组合)即为新变量(回顾下线性代数中的矩阵乘法);新变量的协方差矩阵为对角协方差矩阵且对角线上的方差由大到小排列;然后从新变量中选择信息最丰富也就是方差最大的的前2个或前3个新变量也就是主成分用以可视化。

QC前

不进行log转换:

umi_endog <- runPCA(umi_endog, exprs_values = "counts")
scater::plotPCA(
umi_endog,
by_exprs_values = "counts",
colour_by = "batch",
size_by = "total_features_by_counts",
shape_by = "individual"
)

With log-transformation:

scater::plotPCA(
umi_endog,
by_exprs_values = "logcounts_raw",
colour_by = "batch",
size_by = "total_features_by_counts",
shape_by = "individual"
)
#
# plotPCA(
# umi[endog_genes, ],
# exprs_values = "logcounts_raw",
# colour_by = "batch",
# size_by = "total_features_by_counts",
# shape_by = "individual"
# )

从图中可以看出,log转换更适合我们的数据,降低了第一主成分的变化,数据点的分布散开了些。原文提到的能看出一些生物效果,译者未能看出。(it reduces the variance on the first principal component and already separates some biological effects). 对数转换可以使表达值更符合正态分布,在后续的分析中,我们都是使用对数转换后的数据。

请注意,只是对数转换不足以屏蔽掉细胞之间不同的技术因子如测序深度带来的差异。因此实际分析时不要使用logcounts_raw,至少使用SingleCellExperiment对象中logcounts通道的值,这是CPM标准化后的log转换的值。

QC后

umi.qc_endog <- runPCA(umi.qc_endog, 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"
)

# plotPCA(
# umi.qc[endog_genes, ],
# exprs_values = "logcounts_raw",
# colour_by = "batch",
# size_by = "total_features",
# shape_by = "individual"
# )

比较 Figure \@ref(fig:expr-overview-pca-before-qc2) 和 Figure \@ref(fig:expr-overview-pca-after-qc), 发现质控后NA19098.r2细胞不再成为离群组.

默认,runPCA函数只用了前500个在细胞之间表达变化最大的基因做PCA分析。可以通过参数ntop进行修改。

练习 1 如果使用所有14,214基因或前50个变化最大的基因做PCA结果会怎样?为什么不同大小基因集获得的PCA结果中第一主成分解释的整体差异变化那么大?

答案

umi.qc_endog <- runPCA(umi.qc_endog, exprs_values = "logcounts_raw", ntop = 14066)
scater::plotPCA(
umi.qc_endog,
by_exprs_values = "logcounts_raw",
colour_by = "batch",
size_by = "total_features_by_counts",
shape_by = "individual"
)

# plotPCA(
# umi.qc[endog_genes, ],
# ntop = 14214,
# exprs_values = "logcounts_raw",
# colour_by = "batch",
# size_by = "total_features",
# shape_by = "individual"
# )

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

易生信系列培训课程,扫码获取免费资料

群体转录组是我们最常接触到的一种高通量测序数据类型,其实验方法成熟,花费较低,分析思路简洁清晰,是入门生信,解决最常见问题的首选。


单细胞分析是近几年的明星技术,多次被Nature、Science评为年度技术,而且几乎每期CNS都有单细胞类文章发表,可见其炙手可热。单细胞分析还在于其重要的科研价值,如细胞分型、鉴定肿瘤的异质性、分析稀有细胞等。更重要的是,单细胞实验和分析技术还有不成熟的地方,这也是以后能取得大突破的地方。


本次课程将系统讲述基于和不基于比对的转录组分析流程,从原始数据到表达矩阵、差异基因、富集分析、加权共表达网络、通路分析、可视化绘图等一系列常见操作,理论和实践兼备。单细胞部分包括其建库测序原理,不同单细胞技术的比较、优缺点,单细胞常用R包Seurat、Monocle、Scater的实战等,而其他功能分析部分与群体转录组就比较相似了,可以糅合到一起。


生信的学习没有捷径,但可以加速。现在网络资源很丰富,只要肯花时间大部分分析都可以找到对应的流程或教程。但是这些分享良莠不齐、质量难以保证,更新也比较落后(尤其是单细胞部分,技术发展远快于教程的更新),且文档不完备。要把这些分散的方法调试成功并且耦合起来形成一套分析流程,需要对各部分分析原理和脚本写作比较熟悉,这是一个耗时耗力并且新人难以完成而且稍有不慎就容易出错的操作。


而现在易生信团队整合多年分析实战经验,梳理出一套当前最新的分析流程,原理和实战并重,基础和进阶同行,可以作为学习的跳板,站在前人的肩膀上,花更少的时间,学到更多最新、最合适的知识。这就是3天集训的意义,不在于不参加培训就学不会,而在于参加培训可以走在正确的道路,并且更快的前进。时间就是生命,速度慢或走上歧路都是对生命的不负责。而且被某一步卡住,如软件安装、输入输出格式调整、参数设置、使用是否正确等,求助无门,更是对学习热情的消耗。


集训的实战在于成功搭建出运行环境,并实际完成各部分操作,理解各部分原理、注意事项和常见错误,理顺思路,对分析有整体认识和细节把握。如果您是新手,集训时你身旁的老手是最好的救命稻草。但只听少练是假把戏,反复实践是学会的必经之路。我们提供了录制视频供集训后反复观摩练习,遇到问题在学习群随时提出解答,是您长期学习进阶的强力保障。

课程大纲

每节课1小时一个主题,理论结合实战,学懂原理,实战实操,全是老司机多年经验和代码的无私分享。下面是课程安排,如11代表第一天第一节课,26代表第二天第六节课,41为两周后的线上集中视频答疑。

编号主题简介
11转录组概述转录组设计、应用、批次效应等
12转录组分析流程简介基于/不基于比对的分析流程讲演
13Salmon定量实战不基于比对直接定量基因和转录本的表达
14差异基因分析 DEseq2样本聚类热图、PCA、火山图、差异热图
15GO、KEGG富集分析和可视化R包,Cytoscape,泡泡图,网络图
16GSEA富集分析,enrichMapGSEA时间序列或相关性富集分析
17R基础数据读写、处理和可视化
21二代三代测序原理介绍建库测序过程及注意事项
22转录组软件安装Linux下一键配置转录组分析环节
23STAR比对拼装差异剪接和差异基因分析
24WGCNA基因加权共表达共表达网络、Hub基因和性状关联热图
25

Cytoscape绘制 PPI互作

KEGG调控通路网络图+基因表达
26常见生信图表解读Illustrator进行CNS修图和排版
27Linux基础详细解释代码和文件格式转换
31单细胞转录组特点介绍不同技术比较、适用性和注意事项
32单细胞数据分析和预处理Cellranger分析,细胞和基因筛选
33单细胞分型Seurat, Scater, PCA, TSNE, SC3聚类
34单细胞发育演化分析Pseudotime, Monocle,细胞周期鉴定
35单细胞Marker基因鉴定Scran, 差异分析,功能分析
36考试、圆桌论坛自评学习效果、知识点回顾
41答疑-线上答疑、考试内容串讲

教程内容简介如下:

转录组的应用、设计和案例分享

  1. 转录组学研究技术介绍

  2. 转录组学实验设计和测序原则、注意事项

  3. 二代、三代测序过程和原理解析

  4. 转录组学文章案例分析

  5. 在线基因表达资源数据库

转录组分析流程实战

  1. 转录组分析流程评估

  2. 测序数据质量评估和清洗

  3. 不基于比对的差异基因分析

  4. 基于比对的差异基因分析

  5. 转录本组装和选择性剪接分析

  6. 目标基因GSEA/GO富集分析

转录组高级分析

  1. WGCNA基因共表达分析

  2. WGCNA基因、表型关联分析

  3. Cytoscape 共表达网络绘制

  4. 转录组常见图形在线绘制

  5. KEGG/Reactome通路图绘制,表达映射

  6. 基因互作的文献挖掘和数据库挖掘展示

单细胞转录组分析

  1. 单细胞数据预处理和校正

  2. 细胞分型,PCA,  TSNE,  SC3聚类

  3. 单细胞发育演化分析

  4. 转录组常见图形在线绘制

  5. 单细胞Marker基因鉴定,差异分析和功能分析

  6. 别人的电子书,你的电子书,都在bookdown中有一本不错的单细胞分析教材

常见图表解读和图形编辑排版

在培训上,结合发表高水平文章,进一步讲解16种常用分析图的原理和使用范围,让你不仅读懂图,更知道如何应用于自己的研究,并亲自轻松完成绘图。

针对大家使用R语言绘图学习时间成本较高的问题,易生信团队针对常用16种图开发了免费绘图网站,一键出图,更可鼠标点选参数修改图形的个性样式。

成果发表是科研过程中不可缺的一部分,发表成果又少不了图形展示。文章图表排版是否整齐规范、协调一致、重点突出对一篇文章的发表也是有不少贡献的。之前推出的文章发表图的修改和排版讲演了部分图形编辑和排版操作,本次培训也会实践从原始图形、到细节修饰再到排版发表的整个过程和注意事项。

基因组浏览器用于多组学数据的可视化和关联分析,本地有IGV,在线有UCSC genome BrowserEpigenomebrowser,各有特色。

生信基础知识

  1. Linux/Windows下Rstudio和Linux命令的使用

  2. Linux/Windows下转录组分析流程的搭建

生物学家必要掌握的ShellR语言基础知识。

(如果基础薄弱,报名付款成功后,可免费领取基础程序课,做好准备工作, 让程序成为我们的得力工具而不是学习新知识的绊脚石。)

单细胞系列教程

定制内容

如果您看到文章中有哪些图或分析工作需要重现,也请提出,一起讲述。

如果您有其它关注的问题,也请报名时提出,把这次课程变成您的定制讲解

  1. 120分的转录组试题(第一份答案)

  2. 120分的转录组试题(第二份答案)

  3. 120分的转录组试题(第三份答案)

授课模式

本课程以讲解流程和实际操作为主,采用独创四段式教学,封装好的代码全部分享,随处可用:

  • 第一阶段 3天集中授课;

  • 第二阶段 自行练习2周;

  • 第三阶段 在线直播答疑;

  • 第四阶段 培训视频继续学习;

  • 实现教-练-答-用四个环节的统一协调。

培训时间

2019-5-3 到 2019-5-5 (线下讲解实战)
每天早9点到晚6点,半封闭式教学 (最后1小时为集中讨论时间,最后一天会稍微提前一些,多留出时间讨论,也方便老师乘车返回)
报到时间:开课当天

授课地点 (暂定,鼓楼附近)

北京市西城区鼓楼附近(鼓楼地铁站周边1公里)。

课程价格

  1.  截止2019-04-26 4500 元/人 (报名官网查看更多优惠)

  2. 名额有限,每次课程报名满40人后自动关闭报名通道

  3. 提供易汉博基因科技实习机会或工作机会

课程福利

  1. 座位按报名并缴费或预付款成功顺序从前到后龙摆尾式排序

  2. 赠送程序基础课一份 (http://bioinfo.ke.qq.com)

  3. 多人 (N,10>N>1) 组团报名并同时缴费,每人还可减免N-1百元 (最高500)

  4. 赠送金士顿U盘一个(32G含培训数据和脚本)

  5. 附推荐语分享对应的招生信息到朋友圈,截图发到train@ehbio.com 可获往期视频课一份

复制以下链接
http://www.ehbio.com/Training/ 或
点击阅读原文跳转报名页

更多阅读

画图三字经 生信视频 生信系列教程 

心得体会 TCGA数据库 Linux Python 

高通量分析 免费在线画图 测序历史 超级增强子

生信学习视频 PPT EXCEL 文章写作 ggplot2

海哥组学 可视化套路 基因组浏览器

色彩搭配 图形排版 互作网络

自学生信

后台回复“生信宝典福利第一波”获取教程合集

听说分享到朋友圈的朋友会在公众号周年庆时中奖 (大家还记得去年的大放送吧,不记得查查历史)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存