查看原文
其他

clusterProfiler 做 GSEA 富集分析

JunJunLab 老俊俊的生信笔记 2023-06-15


浮躁

1引言

分享一下如何使用 Y 叔的 clusterProfiler 包做 GSEA 富集分析。

2分析

加载内置数据:

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

# load test data
data(geneList, package="DOSE")

# check
head(geneList)
# 4312     8318    10874    55143    55388      991
# 4.572613 4.514594 4.418218 4.144075 3.876258 3.677857

names是 entriz id, value是排序的基因差异表达值。

KEGG or GO 富集分析:

# GO enrich
ego3 <- gseGO(geneList     = geneList,
              OrgDb        = org.Hs.eg.db,
              ont          = "BP",
              minGSSize    = 100,
              maxGSSize    = 500,
              pvalueCutoff = 0.05,
              verbose      = FALSE)

# KEGG enrich
kk2 <- gseKEGG(geneList     = geneList,
               organism     = 'hsa',
               minGSSize    = 120,
               pvalueCutoff = 0.05,
               verbose      = FALSE)

gseaplot 绘图展示:

# plot
p1 <- gseaplot(ego3, geneSetID = 1,
               by = "runningScore",
               title = ego3$Description[1])

p2 <- gseaplot(ego3, geneSetID = 1,
               by = "preranked",
               title = ego3$Description[1])

p3 <- gseaplot(ego3, geneSetID = 1,
               title = ego3$Description[1])

# combine
cowplot::plot_grid(p1, p2, p3, ncol=2, labels=LETTERS[1:3])

gseaplot2 绘图展示:

# gseaplot2
gseaplot2(ego3, geneSetID = 1,
          title = ego3$Description[1])

多个通路一起展示:

gseaplot2(ego3, geneSetID = 1:3)

展示不同部分:

p1 <- gseaplot2(ego3, geneSetID = 1:3, subplots = 1)
p2 <- gseaplot2(ego3, geneSetID = 1:3, subplots = 1:2)

cowplot::plot_grid(p1, p2, ncol=1, labels=LETTERS[1:2])

gsearank 绘图展示:

gsearank(ego3, 1, title = ego3[1"Description"])

绘制多个通路:

library(ggplot2)
library(cowplot)

pp <- lapply(1:3function(i) {
  anno <- ego3[i, c("NES""pvalue""p.adjust")]
  lab <- paste0(names(anno), "=",  round(anno, 3), collapse="\n")

  gsearank(ego3, i, ego3[i, 2]) + xlab(NULL) +ylab(NULL) +
    annotate("text"10000, ego3[i, "enrichmentScore"] * .75, label = lab, hjust=0, vjust=0)
})

plot_grid(plotlist=pp, ncol=1)

3结尾

可以看到提供的可视化种类还是非常多的,而且也比较漂亮。





  老俊俊生信交流群 (微信交流群需收取20元入群费用(防止骗子和便于管理))



老俊俊微信:


知识星球:



今天的分享就到这里了,敬请期待下一篇!

最后欢迎大家分享转发,您的点赞是对我的鼓励肯定

如果觉得对您帮助很大,赏杯快乐水喝喝吧!




  





深度神经网络学习对单细胞数据进行清洗去噪

ggpie 解决你的所有饼图绘制

Bigwig 可视化用 tackPlotR 试试看?

gggsea 个性化绘制 GSEA 图

scRNAtoolVis 绘制单细胞 Marker 基因均值表达热图

给你 UMAP 坐标重复文章一模一样的图?

genesorteR 快速准确鉴定亚群 Marker 基因

scRNAtoolVis 尝试一下?

Seurat 官网单细胞教程四 (细胞周期矫正)

跟着 Nature medicine 学单细胞数据分析

◀...

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

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