利用GO富集分析结果进行火柴杆图绘制

今天小果看到一个有趣的GO富集分析结果的展示形式,通过火柴杆图来展示GO富集结果,做了一下尝试,代码如下:

  1. 安装需要的R包

install.packages(“ggplot2”)

install.packages(“cowplot”)

install.packages(“tidyverse”)

install.packages(“ggsci”)

  1. 载入需要的R包

library(ggplot2)

library(cowplot)

library(tidyverse)

library(ggsci)

  1. 代码展示

#读取数据

df<-read.table(“Go.txt”,header=T,sep=”\t”)

Dingtalk_20230217143611

#对数据通过Ontology,value进行排序

df<-arrange(df,Ontology,value)

#确定因子顺序

df$name<-factor(df$name,levels=df$name,order=T)

#开始绘图

ggplot(df,aes(x=name,y=value))+

geom_segment(aes(x=name,

xend=name,

y=0,

yend=value))+

geom_point(aes(x=name,y=value,color=Ontology),size=5)+

scale_color_npg()+

labs(x=”Term_name”,y=” Gene count”,title=”Matchstick_plot”)+

scale_y_continuous(expand = c(0,0),

limits = c(0,90),

labels = c(0,25,50,75,90))+

coord_flip()+

theme_classic()+

theme(axis.text.x = element_text(angle=90,hjust=0.9,face=”bold”,size=9),

axis.text.y = element_text(face=”bold”,size=9),

plot.title = element_text(hjust=0.5))

Rplot

ggplot(df,aes(x=name,y=value))+

geom_segment(aes(x=name,

xend=name,

y=0,

yend=value))+

geom_point(aes(x=name,y=value,color=Ontology),size=5)+

scale_color_npg()+

labs(x=”Term_name”,y=” Gene count”,title = “Matchstick_plot”)+

scale_y_continuous(expand = c(0,0),

limits = c(0,90),

labels = c(0,25,50,75,90))+

theme_classic()+

theme(axis.text.x = element_text(angle=90,hjust=0.99,face=”bold”,size=9),

axis.text.y = element_text(face=”bold”,size=9),

plot.title=element_text(hjust=0.5))

Rplot01

最终小果还是绘制出了火柴杆图,看起来效果还不错,有需要的可以借鉴学习,小果今天的分享就到这里奥,GO富集分析的结果可以通过不同的方式来展示。