2019-02-12浏览量:1427

敲击几行pathway代码,轻松绘制富集气泡图

干货分享

气泡图(bubble chart)是可用于展示三个变量之间的关系。它与散点图类似,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。排列在工作表的列中的数据(第一列中列出 x 值,在相邻列中列出相应的 y 值和气泡大小的值)可以绘制在气泡图中。气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比。

问:小锐,你知道怎么绘制气泡图吗?

答:知道哟,待我慢慢道来。

今天进行pathway富集气泡图代码放送,小伙伴们快快过来围观。

第一步:了解输入数据类型

Count:差异表达基因中,属于这个通路的基因的数量。

All_count:所有基因中属于这个通路的基因的数量。

P:富集分析p值。

FDR :富集分析的Q值。

第二步:上代码

setwd('C:/Users/Administrator/Desktop/')  #定义文件输入输出路径

library(ggplot2)  #加载ggplot2包

pdf("kegg.pdf",8,6)  #设定输出文件

pathway=read.table("pathway.txt",header=TRUE,sep="\t",check.names = 1)  #读入数据

pathway$richFactor=pathway$count/pathway$All_count  #计算pathway的richFactor值

p=ggplot(pathway,aes(richFactor,Pathway))  #画图

p=p+geom_point(aes(size=count))  #改变点的大小

p=p+geom_point(aes(size=count,color=-log(p)))  #根据p值自定义渐变颜色图

p=p+scale_colour_gradient(low="green",high="red") +  #改变图片的样式

   labs(color=expression(-log(p)),size="Gene number",

        x="Rich factor",y="KEGG Pathway") 

p=p+theme_bw()  #去除灰色背景

p

dev.off()

第三步:亮结果

是不是感觉瞬间眼前一亮呢,如果想在X轴显示pathway,你可以这样做:

p=ggplot(pathway,aes(Pathway,richFactor))  #画图

p=p+geom_point(aes(size=count,color=-log(p)))  #根据p值自定义渐变颜色图

p=p+ scale_colour_gradient(low="green",high="red") +  #改变图片的样式

   labs(color=expression(-log(p)),size="Gene number",

        x="Rich factor",y="KEGG Pathway") 

p=p+theme_bw()+theme(axis.text.x=element_text(size=8,angle=90,hjust=1))  #去除灰色背景,并对x轴字体进行设置

p

dev.off()

图形如下:

接下来再安利一个柱状图的代码:

data$value=-log(data$p)

#data$path=rownames(data)

data<-data[order(data$value,decreasing=T),]  #排序

pdf("pathway.pdf",4,6)

p<-ggplot(data,aes(x=rev(reorder(Pathway,value)),y=value)) + geom_bar(stat='identity',fill="red")+

   labs(y="-log(P value)",x="KEGG Pathway")+ theme(panel.background=element_rect(fill="white",color="#767676",size=0.5),panel.grid.minor = element_line(colour="#F0F0F0", size=0.25),

panel.grid.major=element_line(size=0.25,color="#F0F0F0"))+  #设置背景色,边框线以及内部线条的粗细及颜色     theme(axis.text.x=element_text(size=7,angle=90,hjust=1,colour="black"))

p

dev.off()

有了这些代码,就可以选取需要的pathway,绘制属于自己的图形。

神奇代码,学以致用

学无止境,下期继续

更多干货,敬请期待

下一篇

版权所有 上海锐翌生物科技有限公司 沪ICP备16022951号