
基于String蛋白库构建番茄orgdb的GO富集库。
org.db数据库使用代码:
install.packages('org.Slycopersicum.eg.db',repos =NULL,type = "sources")
library(org.Slycopersicum.eg.db)
####enrichGO####
df <- read.csv('')
go <- list()
cluster_gene_list <- list()
df$cluster <- as.character(df$cluster)
for (i in unique(df$cluster)){
# GO
cluster_gene_list <- df[df$cluster == i,]
gene <- cluster_gene_list %>% filter( p_val < 0.05) %>% pull(gene)
go[[i]] <- enrichGO(gene=gene,OrgDb=org.Slycopersicum.eg.db,keyType="GID",
ont="ALL",qvalueCutoff = 0.05,pvalueCutoff =0.05)
go[[i]] <- go[[i]] %>% as.data.frame() %>% mutate(cluster=as.character(i))
}
for (i in names(go)){
go[[i]]$cluster <- rep(i,length(go[[i]]$ID))
}
library(data.table)
go_result <-rbindlist(go,fill = T)
write.csv(go_result,'df.csv‘)
结果可视化:
go_result$Description <- factor(go_result$Description, levels = unique(go$Description))
ggplot(go_result,aes(y=Description,x=Count,fill=cluster))+ #x、y轴定义;根据cluster填充颜色
geom_bar(stat = "identity",width=0.8)+ #柱状图宽度设置
scale_fill_manual(values = cols) +
labs(title = "GO Terms Enrich", #设置标题、x轴和Y轴名称
x = "Gene Count",
y = "GO Terms")+
theme(axis.title.x = element_text(face = "bold",size = 16),
axis.title.y = element_text(face = "bold",size = 16),
legend.title = element_text(face = "bold",size = 16),
panel.border = element_blank(),
panel.grid.major = element_blank(), #主网格线
panel.grid.minor = element_blank(),
axis.text.y = element_text(size=rel(1.5)),size=18)+
theme_bw()

最终结果如图,颜色为dimplot使用的cluster颜色