其他
clusterProfiler 的可视化大全
不依赖型,一踢就远离了
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, .8, 1.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:26, 15)])
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元入群费用(防止骗子和便于管理)
)。
老俊俊微信:
知识星球:
所以今天你学习了吗?
今天的分享就到这里了,敬请期待下一篇!
最后欢迎大家分享转发,您的点赞是对我的鼓励和肯定!
如果觉得对您帮助很大,赏杯快乐水喝喝吧!
往期回顾
◀scRNAtoolVis 绘制单细胞 Marker 基因均值表达热图
◀genesorteR 快速准确鉴定亚群 Marker 基因
◀...