Gene Ontology
可分為分子功能(Molecular Function),生物過程(biological process)和細胞組成(cellular component)三個部分。蛋白質或者基因可以通過ID對應或者序列注釋的方法找到與之對應的GO號,而GO號可對于到Term,即功能類別或者細胞定位。
?根據挑選出的差異基因,計算這些差異基因同GO 分類中某(幾)個特定的分支的超幾何分布關系,GO 分析會對每個有差異基因存在的GO 返回一個p-value,小的p 值表示差異基因在該GO 中出現了富集。
GO 分析對實驗結果有提示的作用,通過差異基因的GO 分析,可以找到富集差異基因的GO分類條目,尋找不同樣品的差異基因可能和哪些基因功能的改變有關。
上一篇提到的Pathway指代謝通路,對差異基因進行pathway分析,可以了解實驗條件下顯著改變的代謝通路,在機制研究中顯得尤為重要。
GO分析好比是將基因分門別類放入一個個功能類群的籃子,而pathway則是將基因一個個具體放到代謝網絡中的指定位置。
下面我們來總結一下R語言如何做GO分析
1.準備數據,需要導入與基因對應的ENTREIZID的數據框DEG
因此首先你要先準備這個數據框,這里不詳細闡述,可自學ID注釋部分
首先理解一下即將用到的代碼:
#gene: 通路編號
#"org.Hs.eg.db":OrgDb
#ont: One of "MF", "BP", and "CC" subontologies.
#pvalueCutoff:pvalue的最大值
#pAdjustMethod:多重假設檢驗矯正的方法:"holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none"
#universe: 背景基因-所有測序的基因
#qvalueCutoff: qvalue的最大值
#minGSSize: minimal size of genes annotated by Ontology term for testing.
#maxGSSize: maximal size of genes annotated for testing
#readable: TRUE\FALSE:是否將基因ID轉換為gene symbol
#pool: If ont=’ALL’, whether pool 3 GO sub-ontologies
#細胞組分
erich.go.CC = enrichGO(gene = DEG$ENTREZID,
OrgDb = org.Hs.eg.db,
keyType = "ENTREZID",
pAdjustMethod = "BH",
ont = "CC",
pvalueCutoff = 0.5,
qvalueCutoff = 0.5,
readable=T)
## 畫圖
barplot(erich.go.CC)
ggsave("erich.go.CC.png")
#生物過程
erich.go.BP = enrichGO(gene = DEG$ENTREZID,
OrgDb = org.Hs.eg.db,
keyType = "ENTREZID",
ont = "BP",
pvalueCutoff = 0.5,
qvalueCutoff = 0.5,
readable=T)
##分析完成后,作圖
barplot(erich.go.BP)
#分子功能:
ego_MF <- enrichGO(gene = DEG$ENTREZID,
OrgDb= org.Hs.eg.db,
keyType = "ENTREZID",
ont = "MF",
pvalueCutoff = 0.5,
qvalueCutoff = 0.5)
barplot(ego_MF)
ALL <- enrichGO(gene=DEG$ENTREZID,
OrgDb=org.Hs.eg.db,
keyType = "ENTREZID",
ont = 'ALL',
pvalueCutoff = 0.5,
pAdjustMethod = "BH",
qvalueCutoff = 0.5,
readable=T)
barplot(ALL)
#BB,CC,MF全部顯示出來
#條形圖
barplot(ALL, split="ONTOLOGY")+ facet_grid(ONTOLOGY~.,scale="free")
#泡泡圖
dotplot(ALL, split="ONTOLOGY")+ facet_grid(ONTOLOGY~.,scale="free")
ALLGO <- as.data.frame(ALL@result)
write.csv(as.data.frame(ALL@result), file="GOALL-ADM.csv",quote=FALSE)
圖形解讀:
#橫坐標是GeneRatio,意思是說輸入進去的基因,它每個term(縱坐標)占整體基因的百分之多少
條形的顏色代表P-value,顏色代表的P值越小,這事就越可信。