R语言|KEGG通路分析图绘制|GO通路分析图绘制|按大小排列|David数据库|生物信息

R语言|KEGG通路分析图绘制|GO通路分析图绘制|按大小排列|David数据库|生物信息

  1. 首先提交gene symbol到David网站
    在这里插入图片描述
    在这里插入图片描述
    上传后选择相应的基因列表,然后点击Function Annotation Tool进行分析

在这里插入图片描述
选择通路分析中的Pathway,并且下载相关文件
在这里插入图片描述
在这里插入图片描述
将download file中的信息复制到自己创建的txt文件中,我将其命名为KEGG.txt。
在这里插入图片描述
然后使用R语言进行绘图

绘图

# R
library(stringi)
library(ggplot2)
library(dplyr)

#设置文件目录,将这里改成你自己的KEGG存放路径就行
setwd("C:\\Users\\Liao Minzhen\\Desktop")

#读取和整理KEGG的结果
downgokegg<-read.delim("KEGG.txt.txt")
#接下来对数据处理,选择需要可视化的数据:
enrich<-downgokegg
enrich_signif=enrich[which(enrich$PValue<0.05),]
enrich_signif=enrich_signif[,c(1:3,5)]
head(enrich_signif)
enrich_signif=data.frame(enrich_signif)
KEGG=enrich_signif
KEGG$Term<-stri_sub(KEGG$Term,10,100)

#可视化,用P_value做横轴,将p值按从小到大排列,且固定顺序
KEGG_sort <- KEGG[order(KEGG$PValue), ]
KEGG_sort$Term <- factor(KEGG_sort$Term, levels = KEGG_sort$Term)

ggplot(KEGG_sort,aes(x=PValue,y=Term))+
  geom_point(aes(color=Count,size=PValue))+
  scale_color_gradient(low='slateblue4',high='firebrick3')+
  theme_bw()+
  theme(panel.grid.minor = element_blank(),panel.grid.major = element_blank())+
  theme(axis.text.x = element_text(size = 15))+ 
  theme(axis.text.y = element_text(size = 15))+
  theme(axis.title = element_text(size = 20))+
  theme(axis.title = element_text(size = 20))+
  scale_size(range = c(5, 10))
ggsave("KEGG_plot_50.png", plot = last_plot(), width = 10, height = 6)

在这里插入图片描述

GO通路分析

  1. 下载如下三个数据,并且保存到txt文件中,分别命名为BP,CC,MF,这其实是三个生物过程,可以百度搜一下~
    在这里插入图片描述
GO_CC<-read.delim('CC.txt')
GO_CC_signif=GO_CC[which(GO_CC$PValue<0.05),]
GO_CC_signif=GO_CC[,c(1:3,5)]
head(GO_CC_signif)
GO_CC_signif=data.frame(GO_CC_signif)
GO_CC_signif$Term<-stri_sub(GO_CC_signif$Term,12,100)
GO_BP<-read.delim('BP.txt')
GO_BP_signif=GO_BP[which(GO_BP$PValue<0.05),]
GO_BP_signif=GO_BP_signif[,c(1:3,5)]
head(GO_BP_signif)
GO_BP_signif=data.frame(GO_BP_signif)
GO_BP_signif$Term<-stri_sub(GO_BP_signif$Term,12,100)
GO_MF<-read.delim('MF.txt')
GO_MF_signif=GO_MF[which(GO_MF$PValue<0.05),]
GO_MF_signif=GO_MF_signif[,c(1:3,5)]

head(GO_MF_signif)
GO_MF_signif=data.frame(GO_MF_signif)
GO_MF_signif$Term<-stri_sub(GO_MF_signif$Term,12,100)
enrich_signif=rbind(GO_BP_signif,rbind(GO_CC_signif,GO_MF_signif))
go=enrich_signif
go=arrange(go,go$Category,go$PValue)
#对于读取的数据小伙伴可以在参数设置选择自己想可视化的数据结果。接下来我们设置一下图例的名称:
##图例名称设置
m=go$Category
m=gsub("TERM","",m)
m=gsub("_DIRECT","",m)
go$Category=m
GO_term_order=factor(as.integer(rownames(go)),labels = go$Term)
COLS<-c("#66C3A5","#8DA1CB","#FD8D62")

###开始画图

ggplot(data=go,aes(x=GO_term_order,y=Count,fill=Category))+
  geom_bar(stat = "identity",width = 0.8)+
  scale_fill_manual(values = COLS)+
  theme_bw()+
  xlab("Terms")+
  ylab("Gene_counts")+
  labs()+
  theme(axis.text.x = element_text(face = "bold",color = "black",angle = 90,vjust = 1,hjust = 1))
ggsave("GO_plot.png", plot = last_plot(), width = 10, height = 6)
  1. 图片如下
    在这里插入图片描述
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值