差异分析三巨头

您所在的位置:网站首页 tpm好做吗 差异分析三巨头

差异分析三巨头

2024-07-10 17:47| 来源: 网络整理| 查看: 265

前面碎碎念

大家!请!注意!这是重制版!

突然有一天,收到了我可爱的粉丝朋友的消息!

幸好及时发现!希望没有给大家造成不可挽回的损失!非常抱歉呜呜呜呜呜哇哇哇哇哇哇哇哇呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜哇哇哇哇!!!!!

在之前的差异分析分享内容中,我少写了一个参数,呐!就在这里:

这里还需要一个分组信息,也就是group = ,这样不对!而且还会导致这步发生报错!像下面这样: 这样出来的结果当然就不对啦!

现在这波是重制版!已经修正了之前的问题!非常抱歉给大家带来困扰!希望没有造成不可挽回的损失!

我不知道该怎么提醒大家,单纯重新推送又怕以前收藏的小伙伴们看不到,我抓耳挠腮左思右想,还是决定删除之前的文章,再次推送重制版,这样收藏的小伙伴们也有机会发现!

再次向大家表示诚挚的歉意!超级抱歉!

我的碎碎念结束啦!下面我们进入正文部分!

正文开始

前面我们介绍了看完还不会来揍/找我 | TCGA 与 GTEx 数据库联合分析 | 附完整代码 + 注释,很多粉丝朋友私信想要我分享一下如何利用得到的混合矩阵进行差异表达分析,那今天我们就一鼓作气!把最最最经典的三个差异分析工具 —— DESeq2, edgeR 和 limma 包,以及如何通过得到的差异基因绘制火山图、热图等等,给大家进行一个详细的介绍!

本文涉及内容:

DESeq2、edgeR 和 limma 包的原理和使用通过三种包进行差异分析得到的结果比较使用差异基因绘制火山图和热图

另外,如果小伙伴们精力充足的话,还有个小tips想推荐给大家:别再用DEseq2和edgeR进行大样本差异表达基因分析了

本文所用到的数据和代码,我已经上传到了 GitHub,有需要的话,大家可以在公众号后台回复差异分析即可获得存放数据的链接,很多需要注意的问题也会在代码注释中进行详细说明。不过我在分享过程中也会把每一步的输入数据和输出结果进行展示,大家可以作为参考并调整自己的数据格式,然后直接用自己的数据跑,也是没有任何问题的!

如果有朋友想知道如何上传项目到 GitHub 的话,也可以看这里:使用 git 命令行上传项目到 GitHub(以 R 包为例)

差异分析三巨头 —— DESeq2、edgeR 和 limma 包

DESeq2、edgeR 和 limma 三大包可以说是做转录组差异分析的金标准,大多数转录组的文章都是用这三个 R 包进行差异分析的。

首先,做差异分析需要的数据有:表达矩阵和分组信息。

表达矩阵和分组信息准备 表达矩阵

之前我们在看完还不会来揍/找我 | TCGA 与 GTEx 数据库联合分析 | 附完整代码 + 注释中得到的是 FPKM 值的基因表达矩阵,但 DESeq2、edgeR 和 limma 包都建议使用 Counts,也就是原始计数数据作为输入进行分析,最好不要使用 FPKM、TPM 等归一化后的数据(关于这三个包的原理和输入数据类型等内容,在本文的后半部分会进行详细介绍)。

比如 FPKM(Fragments Per Kilobase Million),它是一种表达基因表达量的方法,是基于每个基因的长度和测序深度进行计算得出的。虽然 FPKM 在表达基因相对丰度上很有用,但由于涉及到测序深度等因素,它并不适用于差异分析。DESeq2 和 edgeR 等方法需要考虑样本之间的技术变异性和测序深度差异,所以需要原始的基因计数数据,也就是 Counts 矩阵。 深度差异,所以需要原始的基因计数数据,也就是 Counts 矩阵。

想详细了解这几个数据类型的区别可以查看:

你该如何选择 | Count、RPKM、FPKM、TPM、CPM,再加个 RSEM

既然FPKM是通过Count计算来的,那我们是不是可以把FPKM转换为Count嘞?

不过,Counts 矩阵是不能直接拿来做差异分析的,这 3 个包都有各自的针对 Counts 矩阵的处理方法。

当然,如果想要对这仨差异分析包进行更深入的了解,强烈建议大家去查看官方说明书!它们的官方介绍链接我放在这里啦!

DESeq2:https://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.htmledgeR:https://www.bioconductor.org/packages/release/bioc/vignettes/edgeR/inst/doc/edgeRUsersGuide.pdflimma:https://www.bioconductor.org/packages/release/bioc/vignettes/limma/inst/doc/usersguide.pdf

既然它们仨都更建议使用 Counts 数据,那咱还能咋滴!宠着呗!好不好!

今天咱就从 UCSC Xena(http://xena.ucsc.edu/)下载需要的数据好不好,这次我们以 BRCA(乳腺癌)为例吧!从 UCSC Xena 下载数据的方法详见:看完还不会来揍/找我 | TCGA 与 GTEx 数据库联合分析 | 附完整代码 + 注释的数据准备部分。

TCGA 数据还可以通过官方下载工具 gdc-client、GDCRNATools 包等方式进行下载,这些我们会在之后进行分享。

现在,表达矩阵我们就下载好啦!那分组信息嘞!

分组信息

TCGA 数据其实只需要表达矩阵就够啦!猜猜为啥子!因为 TCGA 样本命名方式超级特别!样本 ID 的第 14、15 位就代表样本类型,如下图所示。01 到 09 表示不同类型的肿瘤样本,10 到 19 表示不同类型的正常样本,这个位置最常见的就是 01(原发性实体瘤)和 11(实体正常组织),当然,也是咱们最常用到的!

关于 TCGA 样本命名规则的详细解释,大家可以查看之前的内容:TCGA 样本命名规则详解 | 快速获取样本类型、组织来源等分组信息

至此,差异分析所需要的数据 —— 表达矩阵和分组信息,就准备完成啦!

接下来,我们就正式进入实战演练部分!

表达矩阵和分组信息整理

老规矩,关于每个步骤的解释和需要注意的问题都会在代码注释中进行详细说明。

################## 差异分析三巨头 —— DESeq2, edgeR 和 limma 包 ################# # 加载要用到的包,大家如果没有可以先自己安装一下 library(data.table) # 用于高效处理大数据集 library(dplyr) # 用于数据操作和转换 library(ggplot2) # 画图图 library(pheatmap) # 绘制热图 library(DESeq2) # 差异分析一号选手 library(edgeR) # 差异分析二号选手 library(limma) # 差异分析三号选手 library(tinyarray) # 用于绘制各种图表,今天用它绘制韦恩图 ############################ 表达矩阵和分组信息整理 ############################## # 我们以乳腺癌为例,数据已下载完毕,不知道的小伙伴可以查看:https://mp.weixin.qq.com/s/VUDl2PUtMVz4kO0CBPSTIg # 读取表达矩阵 exp_brca


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3