自学生信两个月了,都是自己在网上东找找西找找,总觉得连门都没入。总说最高效的学习方法就是输出,而最好的输出就是教别人。当然给别人讲课我还远远达不到,但自己学完,写下来,也算是一种输出了吧。
1. 数据准备
DAVID是一个可以做ID转换、富集分析等多种生信分析的综合数据库。
以DAVID上的GO分析结果为例,主要需要Category,Term,Count,FDR,Fold Enrichment这几列。
2. 作图
library(ggplot2)
go<-read.table(file = "go.txt",header = T,sep = "\t") #导入文件
ggplot(data = go)+
geom_bar(aes(y=reorder(Term,Count),x=Count,fill=-log(PValue)),stat='identity')+
# Y轴为Term,以Count数排列,X轴为Count数;绘图函数里的stat参数表示对样本点做统计的方式,默认为identity,表示一个x对应一个y
scale_fill_gradient(expression(-log["10"](P.value)),low="blue",high="red")+
# 设置图例
ylab("")+
xlab("Gene count")+ # 设置坐标轴名称
theme_bw() # 设置背景
ggsave(filename = "go.png",height = 6,width = 10,units = "in",dpi=600) # 保存图片
结果如图
剩下的小细节可以根据自己的喜好修改啦,比如配色,字体,背景线等等。