Bioconductor基因芯片數據分析之GO分析

Bioconductor基因芯片數據分析之GO分析

上一期我們一起學習瞭如何差異表達基因的註釋,接下來的工作就是統計分析和可視化。

對於差異表達分析,最主要的兩種統計分析就是GO的富集分析和KEGG通路的富集分析。

今天我們一起學習GO分析

GO分析即基因本體論(Gene Onotology)分析,包括GO註釋和GO富集分析。

GO是基因本體聯合會(Gene Ontology Consortium)所建立的數據庫,它由一組預先定義好的術語(GOterm)組成,這組術語對基因和蛋白質功能進行限定和描述,適用於各種物種,並能隨著研究不斷深入而更新。

GO中的每個術語都有唯一的一個GOID,GO的所有術語由有向無環圖(DAG)來相互聯繫,術語之間通常有三種關係:"is_ a"、"part_ of" 和"regulates"。

在R語言中GO分析主要是由Bioconductor的GOstats包實現的。

我們這一期的代碼內容是在上一期的內容的基礎上運行的

Bioconductor基因芯片數據分析之註釋

#加載所需R包

BiocManager::install("GOstats")
library(GOstats)

#提取HG_U95Av2芯片中所有探針組對應的EntrezID,注意保證uniq

entrezUniverse 

#提取所有差異表達基因及其對應的EntrezID,注意保證uniq

entrezSelected 

#設置GO富集分析的所有參數

params 

#對所有的GOterm根據params參數做超幾何檢驗。

hgOver 

#生成所有GOterm的檢驗結果報表

bp 

#同時生成所有GOterm的檢驗結果文件,每個GOterm都有指向官方網站的鏈接,可以獲得其詳細信息

htmlReport(hgOver, file='ALL_ go.html')
Bioconductor基因芯片數據分析之GO分析

#顯示結果的前六行

head(bp)
Bioconductor基因芯片數據分析之GO分析

從變量"bp"的結果可以看到每個顯著性富集的GOterm含有六列信息(不包括行號):

  • 第1列是GO term的ID,該ID對應的內容在後面列出,如"GO:0022900"對應後面的"respiratory electron transport chain";
  • 第2列"Pvalue"是超幾何檢驗的P值;
  • 第3列"OddsRatio"是超幾何分佈中的比值比;
  • 第4列"ExpCount"是根據超幾何分佈,差異表達基因中期望屬於這個GO term的基因數量;
  • 第5列"Count"是差異表達基因中實際屬於這個GO term的基因數量;
  • 第6列"Size"是總基因中屬於這個GO term的基因數量。

以"GO:0022904"為例,此次分析的總基因數量為8804,差異表達基因數量為113個基因中有75個基因(即"Size")屬於"GO:0022904",如果從8804個基因中隨機抽取113個基因,那麼113個基因中期望屬於"GO:0022904"的基因數量應該是2.25 (即"ExpCount"),而實際上是12個(即"Count"),根據這個情況,計算出來的P值應該是1.506871e-10(遠遠小於 0.01),因此可以說差異顯著基因在"GO:0022904"上是顯著富集的。

我們還通過函數htmlReport輸出一個HTML的報告文件,它在前面六列信息的基礎上,多加了一列GO term的描述,並且鏈接到GO的官方網站,便於讀者進一步查看相關信息。


分享到:


相關文章: