最近有同學(xué)私聊我能不能出一期GO功能富作圖
并且提出要求 要非常簡(jiǎn)單 小白一看就會(huì)的那種
那么如何對(duì)這些基因進(jìn)行功能富集呢溢陪?
應(yīng)要求必須為簡(jiǎn)單的~ 那就用在線工具富集
這里推薦的是DAVID https://david.ncifcrf.gov
界面是相當(dāng)?shù)那逅?我們點(diǎn)擊Start Analysis
我們看看點(diǎn)擊確認(rèn)后的界面
需要我們比對(duì)Gene id 選擇第一個(gè)就好了
我們選擇以豬作為我們富集的參考基因組
接下來就是選擇需要富集的目錄
GO富集的3中模式 BP CC MF
在彈出的窗口點(diǎn)下載文件
下載的文件用記事本打開就是這個(gè)樣子
然后記得把文件放置在桌面 并把名稱修改為go_all.txt
最后一步是需要對(duì)結(jié)果進(jìn)行可視化展示
說視化我覺得在線的可視化做的都太丑丑丑了~
所以我們還是選擇R語言做可視化展示
我們來看看如何安裝R語言 和Rstudio
http://www.reibang.com/p/1a0f25086e8b 這個(gè)教程寫的是相當(dāng)?shù)脑敿?xì)
我們來看看Rstudio 的界面
看到箭頭了沒有,把下面的代碼復(fù)制到這里
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) #數(shù)目很多時(shí)才做
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) #先轉(zhuǎn)換成字符串
data$GO_term<-factor(data$GO_term,levels = c(data$GO_term)) #再強(qiáng)制加入因子
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)
好~ 我們來看看效果
可以說是非常的好看~~~