最近有同学私聊我能不能出一期GO功能富作图
并且提出要求 要非常简单 小白一看就会的那种
那么如何对这些基因进行功能富集呢?
应要求必须为简单的~ 那就用在线工具富集
这里推荐的是DAVID https://david.ncifcrf.gov
界面是相当的清爽 我们点击Start Analysis
我们看看点击确认后的界面
需要我们比对Gene id 选择第一个就好了
我们选择以猪作为我们富集的参考基因组
接下来就是选择需要富集的目录
GO富集的3中模式 BP CC MF
在弹出的窗口点下载文件
下载的文件用记事本打开就是这个样子
然后记得把文件放置在桌面 并把名称修改为go_all.txt
最后一步是需要对结果进行可视化展示
说视化我觉得在线的可视化做的都太丑丑丑了~
所以我们还是选择R语言做可视化展示
我们来看看如何安装R语言 和Rstudio
https://www.jianshu.com/p/1a0f25086e8b 这个教程写的是相当的详细
我们来看看Rstudio 的界面
看到箭头了没有,把下面的代码复制到这里
setwd("这里写你的桌面路径") 比如 C:/Users/XXX/Desktop
install.packages("ggplot2")
install.packages("tidyverse")
library(ggplot2)
library(tidyverse)
shorten_names <- function(x, n_word=4, n_char=40){
if (length(strsplit(x, " ")[[1]]) > n_word || (nchar(x) > 40))
{
if (nchar(x) > 40) x <- substr(x, 1, 40)
x <- paste(paste(strsplit(x, " ")[[1]][1:min(length(strsplit(x," ")[[1]]), n_word)],
collapse=" "), "...", sep="")
return(x)
}
else
{
return(x)
}
}
data<-read.table("go_all.txt",header = T,sep = "\t")
data$Category<-gsub("GOTERM_BP_DIRECT", "biological_process", data$Category)
data$Category<-gsub("GOTERM_CC_DIRECT", "cellular_component", data$Category)
data$Category<-gsub("GOTERM_MF_DIRECT", "molecular_function", data$Category)
data<-separate(data = data, col = Term, into = c("GO_id", "GO_term"), sep = "~")
data <- subset(data,Count>3) #数目很多时才做
data$GO_term=(sapply(levels(data$GO_term)[as.numeric(data$GO_term)],shorten_names))
data<-data[order(data[,1]),] #排序
data$GO_term<- as.character(data$GO_term) #先转换成字符串
data$GO_term<-factor(data$GO_term,levels = c(data$GO_term)) #再强制加入因子
COLS <- c("#66C3A5", "#8DA1CB", "#FD8D62")
a<-ggplot(data=data, aes(x=GO_term,y=Count, fill=Category)) + geom_bar(stat="identity", width=0.8) + coord_flip() + xlab("GO term") + ylab("Num of Genes") +scale_fill_manual(values = COLS)+ theme_bw()
ggsave(a, file="go_all.pdf", width=9.03, height=5.74)
好~ 我们来看看效果
可以说是非常的好看~~~