当富集分析完成,拿到如下的分析结果后,就可以进行作图了。
富集分析结果的可视化无非就是柱状图和气泡图,但是公司默认出图实在是太丑,所以还是自己动手修改修改。
一、常规柱状图(ggplot2)
横轴为gene counts,或者用-logP也行,填充相应的用P值或者gene counts。ggplot画图的好处就是可以进行很多调整。
setwd("F:/生物信息学")
A <- read.csv("GO.csv",header = T)
library(ggplot2)
A$LogP <- -A$LogP
ggplot(A,aes(Gene.count,Description))+
geom_bar(aes(y=reorder(Description,Gene.count),x=Gene.count,fill=LogP)
,stat='identity')+
scale_fill_gradient(low="#FFCC33",high="#CC6666")+
theme_bw()+
theme(panel.grid = element_blank(),
axis.text.x=element_text(angle=90,hjust = 1,vjust=0.5))
二、常规气泡图(ggplot2)
气泡图与柱状图如出一辙,只是在展示方式上出现了差别。一个用geom_bar()函数,气泡图类似于散点图用geom_point()函数。
ggplot(A, aes(Gene.count, Description)) +
geom_point(aes(y=reorder(Description,Gene.count),color=LogP, size=Ratio))+
theme_bw()+
theme(axis.text.x=element_text(angle=90,hjust = 1,vjust=0.5))+
scale_color_gradient(low = '#d90424', high = '#374a89')+
labs(x=NULL,y=NULL)+guides(size=guide_legend(order=3))
三、上下调同时展示(ggplot2)
很多时候研究者拿到差异基因后,上下调基因是分别富集的,在展示上需要同时体现二者,我们之前提到metascape可以做到:转录组不求人系列(十二): Cell文章最喜欢用的差异基因GO、KEGG富集分析工具,除此之外,之前讲过的气泡图也可以展现多组的结果:复现《nature communications》图表(四):ggplot画多组富集气泡图。这里我们继续提供一种bar图的展示方式。将down的数值调整为负,做一列分组,就可以展示了。
ggplot(A, aes(x = reorder(Description,Log.q.value.), Log.q.value.,fill=group)) +
geom_bar(stat = 'identity',alpha = 0.7) +
coord_flip() +
theme_bw() + #去除背景色
theme(panel.grid =element_blank())+
theme(panel.border = element_rect(size = 0.6))+
labs(x = "",
y="Log.q.value.")+
scale_fill_manual(values = c("#008020","#08519C"))#设置颜色
当然了,以上所说的可视化还是比较常规,在基础上可以自己做调整。也有一些文章总是标新立意,有很多奇特的展现方式,我们会在之后的系列中讲解。