随着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