随着ggplot2和Y叔的clusterProfiler不断更迭,现在做GO分析是越来越简单了,下面简单介绍用ggplot2扩展包和 clusterProfiler 进行快速GO分析和可视化,非常简单便捷。
# 加载包
library(clusterProfiler)
library(ggcharts)
library(dplyr)
library(ggthemes)
# 加载演示数据
data(geneList, package = "DOSE")
de <- names(geneList)[1:100]
# 用clusterProfiler进行GO分析
yy <- enrichGO(de, 'org.Hs.eg.db', ont = "ALL", pvalueCutoff = 0.01)
head(yy)
# 获取结果并可视化
result <- yy@result
colour <- colorRampPalette(c("red", "blue"))(30)[1:10]
result %>%
# 过滤,此处仅仅做演示,本步骤没有其他含义
filter(ONTOLOGY %in% c("BP", "CC", "MF")) %>%
bar_chart(
x = Description,
y = -log10(p.adjust),
facet = ONTOLOGY,
bar_color = rep(colour,3),
top_n = 10
) +
theme_few() +
xlab("") +
ylab("-log10(adjust.P)") +
ggtitle("GO Term(Top 10)")
几乎不用写太多的代码,就可以完成以前花费很久时间的GO分析了。
参考资料:
1.https://thomas-neitmann.github.io/ggcharts/index.html