From c68755c11ae893d11c11f575a8b88f5fc78159dd Mon Sep 17 00:00:00 2001 From: ixxmu Date: Sat, 9 Sep 2023 23:37:08 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=AC=E8=AF=B4=E4=BD=A0=E6=83=B3=E6=8A=8A?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E6=A0=B7=E6=9C=AC=E7=9A=84=20GSEA=20?= =?UTF-8?q?=E7=94=BB=E5=9C=A8=E4=B8=80=E8=B5=B7=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\273\345\234\250\344\270\200\350\265\267_.md" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "docs/2023-09/\345\220\254\350\257\264\344\275\240\346\203\263\346\212\212\345\244\232\344\270\252\346\240\267\346\234\254\347\232\204_GSEA_\347\224\273\345\234\250\344\270\200\350\265\267_.md" diff --git "a/docs/2023-09/\345\220\254\350\257\264\344\275\240\346\203\263\346\212\212\345\244\232\344\270\252\346\240\267\346\234\254\347\232\204_GSEA_\347\224\273\345\234\250\344\270\200\350\265\267_.md" "b/docs/2023-09/\345\220\254\350\257\264\344\275\240\346\203\263\346\212\212\345\244\232\344\270\252\346\240\267\346\234\254\347\232\204_GSEA_\347\224\273\345\234\250\344\270\200\350\265\267_.md" new file mode 100644 index 00000000..37a85589 --- /dev/null +++ "b/docs/2023-09/\345\220\254\350\257\264\344\275\240\346\203\263\346\212\212\345\244\232\344\270\252\346\240\267\346\234\254\347\232\204_GSEA_\347\224\273\345\234\250\344\270\200\350\265\267_.md" @@ -0,0 +1,15 @@ +--- +title: "听说你想把多个样本的 GSEA 画在一起?" +date: 2023-09-09T23:36:10Z +draft: ["false"] +tags: [ + "fetched", + "老俊俊的生信笔记" +] +categories: ["Acdemic"] +--- +听说你想把多个样本的 GSEA 画在一起? by 老俊俊的生信笔记 +------ +

1引言

有粉丝提问, 如何把多个组/实验的同一条 GSEA 结果画在一个图里,这样可以查看不同实验条件该通路的变化情况。本质上就是提取多个通路的富集结果,合并一下数据,然后绘图就好了,写了个简单的函数 GSEAmultiGP 来做这样的事情。

示例文献图,来自粉丝:

文献题目:

p53 Mediates Vast Gene Expression Changes That Contribute to Poor Chemotherapeutic Response in a Mouse Model of Breast Cancer

2安装

重新安装获取新功能:

# install.packages("devtools")
devtools::install_github("junjunlab/GseaVis")

3使用示例

数据准备

先造三个不同的 genelist,代表三个条件下基因的变化:

library(clusterProfiler)
library(org.Hs.eg.db)
library(GseaVis)

data(geneList, package="DOSE")

geneList1 <- sort(sample(seq(-2,2,by = 0.01),12495,replace = T),decreasing = T)
names(geneList1) <- sample(names(geneList),12495,replace = F)

geneList2 <- sort(sample(seq(-2,2,by = 0.01),12495,replace = T),decreasing = T)
names(geneList2) <- sample(names(geneList),12495,replace = F)


all_glist <- list(geneList,geneList1,geneList2)

然后做 GSEA 富集分析,返回 list,这里设置 pvalueCutoff=1,保证在每个富集结果里都有共同的通路:

# loop to enrich
lapply(1:3function(x){
  ego3 <- gseGO(geneList     = all_glist[[x]],
                OrgDb        = org.Hs.eg.db,
                ont          = "BP",
                minGSSize    = 100,
                maxGSSize    = 500,
                pvalueCutoff = 1,
                verbose      = FALSE)
}) -> m_gsea_list

查看其中一个结果:

# check
df <- data.frame(m_gsea_list[[1]])

绘图

默认绘图:

# plot
GSEAmultiGP(gsea_list = m_gsea_list,
            geneSetID = "GO:0002757",
            exp_name = c("group1","group2","group3"))

修改颜色:

GSEAmultiGP(gsea_list = m_gsea_list,
            geneSetID = "GO:0002757",
            exp_name = c("group1","group2","group3"),
            curve.col = ggsci::pal_lancet()(3))

添加 P 值:

GSEAmultiGP(gsea_list = m_gsea_list,
            geneSetID = "GO:0002757",
            exp_name = c("group1","group2","group3"),
            curve.col = ggsci::pal_d3()(3),
            addPval = T,
            pvalX = 0.99,pvalY = 0.99,
            legend.position = "right")

修改底部标签:

GSEAmultiGP(gsea_list = m_gsea_list,
            geneSetID = "GO:0002757",
            exp_name = c("group1","group2","group3"),
            curve.col = ggsci::pal_d3()(3),
            addPval = T,
            pvalX = 0.99,pvalY = 0.99,
            legend.position = "right",
            rect.bm.label = c("DOX","DMSO"))

这样就可以查看不同实验条件下通路的变化了。

4结尾

路漫漫其修远兮,吾将上下而求索。


欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群 (微信交流群需收取 20 元入群费用,一旦交费,拒不退还!(防止骗子和便于管理)) 。QQ 群可免费加入, 记得进群按格式修改备注哦。

老俊俊微信:

知识星球:



往期回顾目录


grid 里绘制连续型图例
听说你要绘制 scanpy 版的散点图?
听说你要手搓一个 grid.xaxis2/grid.yaxis2?
用 grid 手搓一个单细胞散点图+细胞数量条形图
lattice 分面设置
获取字符串的长度和宽度
piggyback 轻松像向 github 上传大文件
ClusterGVis 添加 GSEA 富集图
使用 lattice 绘制散点图
ggh4x 部分实用功能分享


+
+原文链接