保姆級教程??!小云教你如何使用DAVID數(shù)據(jù)庫并可視化結(jié)果?。。?/h1>
小伙伴們在做GO功能富集和KEGG通路富集分析時候,遇見過很多困難,其中之一就是在用R做KEGG分析時候,KEGG數(shù)據(jù)庫因為網(wǎng)絡進不去導致KEGG通路富集失敗。還有的小伙伴想做富集分析,但是只有基因名,少了logFC值,導致想做富集分析很苦惱。小云在這里教大家一個方式,使用DAVID數(shù)據(jù)去分析。 目前來說DAVID數(shù)據(jù)庫在2022年更新了,那就意味著我們又可以使用了,之前因為長時間沒跟新,導致許多的數(shù)據(jù)跟不上時代?,F(xiàn)在小云帶大家手把手教大家如何使用DAVID數(shù)據(jù)去做富集分析?。?我們先進入數(shù)據(jù)庫官網(wǎng)(https://david.ncifcrf.gov/)
上面有很多的功能,我們只需要點擊start?Analysis就可以了
輸入我們想要分析的基因名或者導入文件,小云在這里給大家演示,使用的示例數(shù)據(jù)。
接下來要注意我們在第二部要選擇
因為我們的基因是通過SYMBOL轉(zhuǎn)換過來的,小伙伴不要選錯了
選擇我們的人類,以及第三步,類型,是基因列表。 然后我們開始分析吧 ,點擊Submit List 等待幾秒鐘:
就出現(xiàn)這樣的界面,右側(cè)是在人類數(shù)據(jù)庫中找到了97個Gene我們只要這97個Use它 然后我們查看富集分析結(jié)果: 點擊這個:
我們查看結(jié)果我們先打開通路富集結(jié)果:
KEGG通路是我們需要的,我們點擊KEGG結(jié)果的Chart:
然后我們點右上角的下載 但是下載的結(jié)果是
這就需要我們新建一個txt文件,我們把結(jié)果保存進去
小伙伴自行保存,可以看到富集的通路以及其他信息。 接下來我們?nèi)タ梢暬疜EGG富集的結(jié)果。 我們先讀入數(shù)據(jù): library(stringi) library(ggplot2) library(dplyr) ##讀取和整理KEGG的結(jié)果 downgokegg<-read.delim("E:\\生信果
\\KEGG.txt
") 接下來對數(shù)據(jù)處理,選擇需要可視化的數(shù)據(jù): 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)
最后可視化: ggplot(KEGG,aes(x=Count,y=Term))+geom_point(aes(color=PValue,size=Count))+scale_color_gradient(low='slateblue4',high='firebrick3')+theme_bw()+theme(panel.grid.minor = element_blank(),panel.grid.major = element_blank())
我們以氣泡圖的形式展示,以Count值為橫坐標。 接下來我們?nèi)シ治鯣O富集結(jié)果
我們在這里找到GO富集的結(jié)果,其中有BP,CC,MF。和上述KEGG結(jié)果一樣把結(jié)果保存到txt文件中。小云在這里提前保存好了,小伙伴自行去保存。
把結(jié)果分成三個文件夾。接下來我們?nèi)シ治霭桑?我們把數(shù)據(jù)一一導入進去,然后在合并數(shù)據(jù) GO_CC<-read.delim('E:\\生信果\\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('E:\\生信果\\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('E:\\生信果\\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)
對于讀取的數(shù)據(jù)小伙伴可以在參數(shù)設置選擇自己想可視化的數(shù)據(jù)結(jié)果。接下來我們設置一下圖例的名稱:
##圖例名稱設置 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") 有的小伙伴想用Count值去展示,也是可以的,看小伙伴的需求。最后我們開始畫圖: ? ###開始畫圖 ? 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))?
這樣我們的結(jié)果就展示出來了,包含BP CC MF 我們以柱狀圖的形式展示,不過有的小伙伴想以其他的形式,比如氣泡之類,小云在這里就不一一教學了。感興趣的小朋友可以自行去設置。最主要的我們的結(jié)果已經(jīng)出來,小伙伴可以根據(jù)結(jié)果去可視化。 快去試試吧!