查看原文
其他

clusterProfiler 的可视化大全

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


不依赖型,一踢就远离了

1引言

今日分享 clusterProfiler 包中关于富集结果的可视化函数。

2加载测试数据

library(DOSE)
library(enrichplot)
library(clusterProfiler)

data(geneList)
de <- names(geneList)[abs(geneList) > 2]

edo <- enrichDGN(de)

3Bar Plot

barplot(edo, showCategory=20)

可以使用新加的变量画图:

mutate(edo, qscore = -log(p.adjust, base=10)) %>%
    barplot(x="qscore")

4Dot plot

edo2 <- gseDO(geneList)
dotplot(edo, showCategory=30) +
  ggtitle("dotplot for ORA")

dotplot(edo2, showCategory=30) +
  ggtitle("dotplot for GSEA")

5Gene-Concept Network

展示每个基因集及里面的基因关系,或者展示对应的基因表达差异倍数:

## convert gene ID to Symbol
edox <- setReadable(edo, 'org.Hs.eg.db''ENTREZID')

p1 <- cnetplot(edox, foldChange=geneList)

## categorySize can be scaled by 'pvalue' or 'geneNum'
p2 <- cnetplot(edox, categorySize="pvalue", foldChange=geneList)

p3 <- cnetplot(edox, foldChange=geneList, circular = TRUE, colorEdge = TRUE)

cowplot::plot_grid(p1, p2, p3, ncol=3,
                   labels=LETTERS[1:3],
                   rel_widths=c(.8.81.2))

一些参数控制展示的部分:

p1 <- cnetplot(edox, node_label="category",
        cex_label_category = 1.2)

p2 <- cnetplot(edox, node_label="gene",
        cex_label_gene = 0.8)

p3 <- cnetplot(edox, node_label="all")

p4 <- cnetplot(edox, node_label="none",
        color_category='firebrick',
        color_gene='steelblue')

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

cnetplot 函数也可以展示其它有关系对的数据:

set.seed(123)
x <- list(A = letters[1:10], B=letters[5:12], C=letters[sample(1:2615)])
p1 <- cnetplot(x)

set.seed(123)
d <- setNames(rnorm(26), letters)
p2 <- cnetplot(x, foldChange=d) +
    scale_color_gradient2(name='associated data', low='darkgreen', high='firebrick')

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

6Heatmap-like functional classification

heatplot 函数用热图展示类似于 cnetplot 的结果:

p1 <- heatplot(edox, showCategory=5)
p2 <- heatplot(edox, foldChange=geneList, showCategory=5)

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

7Tree plot

treeplot 函数对通路进行绘制层次聚类树,依赖于 pairwise_termsim 函数计算pairwise similarities, 可以使用hclust_method参数指定计算距离的方法:

edox2 <- pairwise_termsim(edox)

p1 <- treeplot(edox2)
p2 <- treeplot(edox2, hclust_method = "average")

aplot::plot_list(p1, p2, tag_levels='A')

8Enrichment Map

emapplot 用来展示通路之间共有基因的关系,寻找基因相似的通路:

edo <- pairwise_termsim(edo)

p1 <- emapplot(edo)
p2 <- emapplot(edo, cex_category=1.5)
p3 <- emapplot(edo, layout="kk")
p4 <- emapplot(edo, cex_category=1.5,layout="kk")

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

9Biological theme comparison

用饼图展示重叠的基因数:

data(gcSample)
xx <- compareCluster(gcSample, fun="enrichKEGG",
                     organism="hsa", pvalueCutoff=0.05)
xx <- pairwise_termsim(xx)
p1 <- emapplot(xx)
p2 <- emapplot(xx, legend_n=2)
p3 <- emapplot(xx, pie="count")
p4 <- emapplot(xx, pie="count", cex_category=1.5, layout="kk")

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

10UpSet Plot

展示不同基因集合之间基因的重叠情况:

upsetplot(edo)

对于 GSEA 结果,可以展示箱线图:

upsetplot(kk2)

11ridgeline plot for expression distribution of GSEA result

ridgeplot(edo2)

12pubmed trend of enriched terms

展示相关通路在 pubmed 检索的比例:

terms <- edo$Description[1:5]

p <- pmcplot(terms, 2010:2020)
p2 <- pmcplot(terms, 2010:2020, proportion=FALSE)

plot_grid(p, p2, ncol=2)

13结尾

展示富集结果的可视化也太多了叭,根据自己的需求选择合适的就行咯。





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



老俊俊微信:


知识星球:



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

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

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




  





clusterProfiler 做 GSEA 富集分析

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

ggpie 解决你的所有饼图绘制

Bigwig 可视化用 tackPlotR 试试看?

gggsea 个性化绘制 GSEA 图

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

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

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

scRNAtoolVis 尝试一下?

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

◀...

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

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