1写在前面

GSEA大家都会用了,但GSEA也有它自己的缺点,就是不能比较两个基因集通路的富集情况。🤒
今天介绍一个Differential Gene Set Enrichment Analysis (DGSEA),可以量化两个基因集的相对富集程度。😉

2用到的包

rm(list = ls())
# devtools::install_github('JamesJoly/DGSEA')
library(DGSEA)
library(tidyverse)
library(RCurl)
library(GSA)

3示例数据

这里我们准备了一个RNA sequencing的数据,包含31个乳腺癌细胞系,分别接受1%20%的氧供。🥰
数据有点太大了,这里我们就只选取其中2个细胞系吧(MCF10AMCF12A)。😘


原数据来自这篇paper:👇
Ye,I.C. et al. (2018) Molecular Portrait of Hypoxia in Breast Cancer: A Prognostic Signature and Novel HIF-Regulated Genes. Mol. Cancer Res. MCR, 16, 1889–1901.


dat <- read.csv("./DGSEA_example.csv",row.names = 1)
DT::datatable(dat)
alt

4整理数据

4.1 提取数据

MCF10A <- dat[,1:2]
MCF12A <- dat[,-2]

4.2 MCF10A数据

DT::datatable(MCF10A)
alt

4.3 MCF12A数据

DT::datatable(MCF12A)
alt

5读入gmt文件

这次我们比较一下KEGG的代谢通路,看一下这里的69个代谢通路吧。🤪

kegg.pathways <- GSA.read.gmt("./KEGG_metabolic_pathways.gmt")

kegg.pathways$geneset.names
alt

6靶向DGSEA

如果我们有非常明确的需要比较的两个通路,可以使用这种方法,进行定量分析。🤖
这里我们分别在2个不同的细胞系中比较一下这2个代谢通路吧:👇

  • "Core_Glycolysis";
  • "KEGG_OXIDATIVE_PHOSPHORYLATION";

6.1 开始DGSEA

1️⃣ MCF10A细胞系:👇

set.names <- kegg.pathways$geneset.names

targeted.MCF10A <- dgsea_targeted(MCF10A, kegg.pathways,
set.names[1], set.names[2])

2️⃣ MCF12A细胞系:👇

targeted.MCF12A <- dgsea_targeted(MCF12A, kegg.pathways,
set.names[1], set.names[2])

6.2 可视化

这里我们画一下经典的GSEA图吧,不过这里比较的是两个通路的富集情况啦。🤩


1️⃣ MCF10A细胞系:👇

MCF10A.mtn.plot <- make_mountain_plots(targeted.MCF10A, set.names[1], set.names[2])
MCF10A.mtn.plot
alt

2️⃣ MCF12A细胞系:👇

MCF12A.mtn.plot <- make_mountain_plots(targeted.MCF12A, set.names[1], set.names[2])
MCF12A.mtn.plot
alt

7非靶向DGSEA

有的时候我们也没有明确的需要比较的通路,这个时候可以做非靶向的DGSEA。😂
大家拿到DGSEA的结果后,就可以通过filter选取你需要的通路。🤠

untargeted.MCF10A <- dgsea_untargeted(MCF10A, kegg.pathways)

DT::datatable(untargeted.MCF10A$DGSEA.Results)
alt

我们再来计算另一个细胞系的吧。😚

untargeted.MCF12A <- dgsea_untargeted(MCF12A, kegg.pathways)

DT::datatable(untargeted.MCF12A$DGSEA.Results)
alt

8如何引用

📍
Joly JH, Lowry WE, Graham NA. Differential Gene Set Enrichment Analysis: a statistical approach to quantify the relative enrichment of two gene sets. Bioinformatics. 2021;36(21):5247-5254. doi:10.1093/bioinformatics/btaa658


alt
最后祝大家新的一年顺顺利利!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

📍 往期精彩

📍 🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!
📍 🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
📍 🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
📍 🤩 scRNA-seq | 吐血整理的单细胞入门教程
📍 🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~
📍 🤩 RColorBrewer | 再多的配色也能轻松搞定!~
📍 🧐 rms | 批量完成你的线性回归
📍 🤩 CMplot | 完美复刻Nature上的曼哈顿图
📍 🤠 Network | 高颜值动态网络可视化工具
📍 🤗 boxjitter | 完美复刻Nature上的高颜值统计图
📍 🤫 linkET | 完美解决ggcor安装失败方案(附教程)
📍 ......

本文由 mdnice 多平台发布

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐