我们生信入门马拉松授课群里有一个学员在学完课程后,开始了自己的数据分析,到了KEGG Pathway富集结果进行barplot展示时,他遇到了一个问题:想在KEGG富集结果中添加每条通路的类别,但是不知道这个通路类别去哪里对应或者手动去KEGG数据库不方便!

可能很多人做KEGG Pathway富集时,还没有了解过KEGG 通路数据库也有分类呢?
来到KEGG官网:https://www.genome.jp/kegg/pathway.html

让人工智能大模型帮我们介绍一下这7大类吧:
KEGG(Kyoto Encyclopedia of Genes and Genomes)数据库是一个综合数据库资源,旨在通过整合基因组、生物化学通路、疾病、化学物质等信息,为理解高级功能和生物系统提供帮助。以下是 KEGG 数据库的 7 大分类详细介绍: 1. Metabolism(代谢)
2. Genetic Information Processing(遗传信息处理)
3. Environmental Information Processing(环境信息处理)
4. Cellular Processes(细胞过程)
5. Organismal Systems(生物体系统)
6. Human Diseases(人类疾病)
7. Drug Development(药物开发)
这些分类为研究人员提供了一个全面的视角,帮助他们从分子水平到系统水平理解生物过程和疾病机制,从而推动生物医学研究和药物开发。
使用前面做过的一个芯片数据的差异结果吧:2万个基因少一半也不影响最后的差异分析富集结果啊?
rm(list=ls())
library(ggplot2)
library(clusterProfiler)
library(org.Hs.eg.db)
deg <- read.csv("GSE17351/DEG.csv")
head(deg)
table(deg$g)
# 挑选显著差异暴打基因
deg <- deg[deg$g!="stable", ]
# symbol 转entrzid
df <- bitr(unique(deg$name), fromType = "SYMBOL",
toType = c( "ENTREZID"),
OrgDb = org.Hs.eg.db)
# 富集
kk <- enrichKEGG(gene = df$ENTREZID,
organism = 'hsa',
pvalueCutoff = 0.9,
qvalueCutoff =0.9)
kk <- DOSE::setReadable(kk, OrgDb='org.Hs.eg.db', keyType='ENTREZID')#按需替换
barplot(kk)
head(kk)[,1:6]

# 选取每个 category 类别中的top5通路进行绘图
library(dplyr)
dat_top5 <- dat %>%
group_by(category) %>%
slice_head(n = 5) %>%
ungroup()
colnames(dat_top5)
g_kegg <- ggplot(dat_top5, aes(y=Description, x=Count, fill=category)) +
geom_bar(stat="identity",width = 0.6) +
scale_x_continuous(name ="Relative abundance(%)") +
scale_y_discrete(name ="KEGG Pathway") +
ggtitle("KEGG Enrichment") +
theme(panel.background = element_rect(fill = "white",colour='black'),
panel.grid.major = element_line(color = "grey",linetype = "dotted",size = 0.3),
panel.grid.minor = element_line(color = "grey",linetype = "dotted",size = 0.3),
title = element_text(colour='black', size=20,face = "bold"),
axis.ticks.length = unit(0.4,"lines"),
axis.ticks = element_line(color='black'),
axis.line = element_line(colour = "black"),
axis.title.x=element_text(colour='black', size=20,face = "bold"),
axis.title.y=element_text(colour='black', size=20),
axis.text.x=element_text(colour='black',size=20),
axis.text.y = element_text(color = "black",size = 16),
legend.position = "none",
strip.text.y = element_text(angle = 0,size = 12,face = "bold")) +
facet_grid(category~.,space = "free_y",scales = "free_y")
g_kegg
ggsave(g_kegg,width =16,height =16,filename = 'KEGG_barplot_class.pdf' )
结果如下:
