在教程一中我们已经得到了GO结果的csv表格以及KEGG结果的csv表格,如下图所示:



接下来打开R语言运行下方代码,其中“/电生理/WGCNA/WANGdata”为csv表格所在路径,“test.csv”为表格名称,对感兴趣的基因GO结果进行绘图:

rm(list=ls())library(ggplot2)library(Cairo)setwd('F:/电生理/WGCNA/WANGdata')GO_BP <-read.csv("test.csv",header=T)fix(GO_BP)pdf(file='sample clustering.pdf',w=10,h=7)ggplot(data=GO_BP)+geom_bar(aes(x=reorder(Term,Count),y=Count, fill=-log10(PValue)), stat='identity') +coord_flip() +scale_fill_gradient(expression(-log["10"](P.value)),low="red", high = "blue") +xlab("") +ylab("Gene count") +scale_y_continuous(expand=c(0, 0))+theme(axis.text.x=element_text(color="black",size=rel(1.5)),axis.text.y=element_text(color="black", size=rel(1.6)),axis.title.x = element_text(color="black", size=rel(1.6)),legend.text=element_text(color="black",size=rel(1.0)),legend.title = element_text(color="black",size=rel(1.1)))dev.off()

之后可以得到下方的图(其中纵坐标为不同的GOterm横坐标为gene count数,颜色深浅代表了-lg(P),该值越大,说明当前结果越有可能是富集的结果而非随机的结果,详细过程见教程二):


之后绘制KEGG结果的图表,代码如下(其中“/电生理/WGCNA/WANGdata”为csv表格所在路径,“KEGG.csv”为表格名称):

rm(list=ls())library(Cairo)library(stringr)setwd('F:/电生理/WGCNA/WANGdata')pathway = read.csv("KEGG.csv",header=T)pathway$Term<-str_split_fixed(pathway$Term,":",2)[,2]pdf(file='KEGG.pdf',w=10,h=7)ggplot(pathway,aes(x=Fold.Enrichment,y=Term)) +geom_point(aes(size=Count,color=-1*log10(PValue)))+scale_colour_gradient(low="green",high="red")+labs(color=expression(-log[10](P.value)),size="Gene number",x="Fold enrichment"theme_bw()+theme(axis.text.y = element_text(size = rel(1.3)),axis.title.x = element_text(size=rel(1.3)),axis.title.y = element_blank()dev.off()

能够得到下方的气泡图:


纵坐标为不同KEGG通路,气泡大小为基因个数,横坐标为fold enrichment,颜色深浅同样为-lg(P))。

在完成了上述内容后,便完成了GO和KEGG通路分析的操作部分,可以通过自己所得到的分析结果,指导后续的实验,或者可以验证自己的猜想,从而使自己的文章更有说服力~