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 老俊俊的生信笔记 +------ +
有粉丝提问, 如何把多个组/实验的同一条 GSEA 结果画在一个图里,这样可以查看不同实验条件该通路的变化情况。本质上就是提取多个通路的富集结果,合并一下数据,然后绘图就好了,写了个简单的函数 GSEAmultiGP 来做这样的事情。
示例文献图,来自粉丝:
文献题目:
p53 Mediates Vast Gene Expression Changes That Contribute to Poor Chemotherapeutic Response in a Mouse Model of Breast Cancer
重新安装获取新功能:
# install.packages("devtools")
devtools::install_github("junjunlab/GseaVis")
先造三个不同的 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:3, function(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"))
这样就可以查看不同实验条件下通路的变化了。
路漫漫其修远兮,吾将上下而求索。
欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群 (微信交流群需收取 20 元入群费用,一旦交费,拒不退还!(防止骗子和便于管理)) 。QQ 群可免费加入, 记得进群按格式修改备注哦。
老俊俊微信:
知识星球:
grid 里绘制连续型图例 听说你要绘制 scanpy 版的散点图? 听说你要手搓一个 grid.xaxis2/grid.yaxis2? 用 grid 手搓一个单细胞散点图+细胞数量条形图 lattice 分面设置 获取字符串的长度和宽度 piggyback 轻松像向 github 上传大文件 ClusterGVis 添加 GSEA 富集图 使用 lattice 绘制散点图 ggh4x 部分实用功能分享