前面我們介紹過GO富集分析和結(jié)果可視化
2.GO富集分析四種風(fēng)格展示結(jié)果—柱形圖政敢,氣泡圖
3.GO和KEGG富集結(jié)果如何顯示基因symbol
4.GO和KEGG富集倍數(shù)(Fold Enrichment)如何計算
我們知道GO又可以進一步劃分成BP碎税,MF和CC
BP:biological process,生物學(xué)過程。
MF:molecular function,分子功能。
CC:cellular component, 細胞成分避诽。
所以在畫圖的時候盯孙,也需要區(qū)分這三類咧擂。下面這張表就是GO富集分析得到的結(jié)果榛做,我們可以根據(jù)ONTOLOGY這一列來分組,就可以得到BP蚕苇,CC和MF三個組哩掺。然后取每一個組的前10個條目或者前5個條目來繪制柱形圖或者氣泡圖。
那么問題來了涩笤,如何分組取前幾行嚼吞。今天小編就跟大家分享一個專業(yè)處理數(shù)據(jù)框的函數(shù)dplyr。然后基于這個R包蹬碧,我們用6種不同的方法來實現(xiàn)舱禽。
#讀取GO富集分析結(jié)果
GO_result=read.csv("GO_all_enrich.csv")
#如果沒有安裝dplyr這個R包,先去掉下面一行前面#锰茉,運行安裝
#BiocManager::install("dplyr")
#加載dplyr包
library(dplyr)
我們先來看看直接head的效果
#直接head呢蔫,結(jié)果不對
GO_result %>% group_by(ONTOLOGY) %>% head(n = 5)
雖然,我們使用了group_by進行了分組飒筑,但是head并沒有應(yīng)用到三個分組上面片吊,而是直接應(yīng)用到了整個數(shù)據(jù)框上,事與愿違协屡。
接下來我們來看正解
方法一俏脊、通過do來執(zhí)行
#通過do來執(zhí)行
r1=GO_result %>% group_by(ONTOLOGY) %>% do(head(., n = 5))
r1
可以看到15條結(jié)果,三類都有
方法二肤晓、使用top_n
#使用top_n
r2=GO_result %>% group_by(ONTOLOGY) %>% top_n(n=-5,wt=p.adjust)
r2
這里可以使用top_n這個函數(shù)來輸出每個組的前五行爷贫,wt是排序的依據(jù),根據(jù)校正之后的p值來排序补憾,n=-5是按從小到大排序漫萄。如果n=5,是按從大到小排序盈匾。
方法三腾务、使用slice_head
#使用slice_head
r3=GO_result %>% group_by(ONTOLOGY) %>% slice_head(n=5)
r3
方法四、使用slice_min
#使用slice_min
r4=GO_result %>% group_by(ONTOLOGY) %>% slice_min(order_by = p.adjust, n = 5)
r4
slice_min會根據(jù)指定的p.adjust有小到大排序削饵,然后取每組前5行
方法五岩瘦、使用group_modify結(jié)合head
#使用group_modify
r5=GO_result %>% group_by(ONTOLOGY) %>% group_modify(~ head(.x, 5))
r5
方法六、使用filter
#使用filter
r6=GO_result %>% group_by(ONTOLOGY) %>% filter(row_number() <= 5)
r6
通過filter來控制行數(shù)<=5
最后我們來看看這六種方法得到的結(jié)果究竟是不是一樣的窿撬,dplyr這個包里面有函數(shù)叫all_equal專門用來判斷兩個數(shù)據(jù)框是不是一樣的
> all_equal(r1,r2)
[1] TRUE
> all_equal(r1,r3)
[1] TRUE
> all_equal(r1,r4)
[1] TRUE
> all_equal(r1,r5)
[1] TRUE
> all_equal(r1,r6)
[1] TRUE
寫在最后
雖然這幾種方法得到的結(jié)果是一致的启昧,但是有一點需要注意。GO富集分析的結(jié)果劈伴,默認是會根據(jù)校正之后的p值(p.adjust)來由小到大排序密末,所以基于這個結(jié)果,直接取每組的前五行就是最顯著的5個條目跛璧。
如果GO富集結(jié)果默認沒有按p.adjust排過序苏遥,那么就需要選擇帶有排序的方法,如top_n和slice_min赡模。
參考資料:
2.GO富集分析四種風(fēng)格展示結(jié)果—柱形圖田炭,氣泡圖
3.GO和KEGG富集結(jié)果如何顯示基因symbol
4.GO和KEGG富集倍數(shù)(Fold Enrichment)如何計算
文中用到的“GO_all_enrich.csv”文件,參考下文獲取