詳解如何獲取物種所有基因對應的GO註釋
歡迎關注微信公眾號《生信修煉手冊》!
Gene Ontology是研究基因功能的重要資料庫之一,在進行GO的富集分析時,需要提供所有基因對應的GO註釋資訊,本文介紹幾種獲取該資訊的方式
1. 從GO官網進行下載
官網提供了幾種常見物種對應的GO註釋資訊,檔案格式為GAF, 下載連結為
human對應的檔案如下 該檔案中提供的是uniprot資料庫中的蛋白對應的GO資訊,會給出蛋白對應的uniprot資料庫編號,蛋白對應的基因symbol, 以及GO註釋,示例如下
UniProtKB A0A024R161 DNAJC25-GNG10 GO:0003924
原始檔案列數很多,我只選了前4列,第一列表示資料庫的名字,第二列為資料庫中的編號,第三列為gene symbol, 第四列為對應的GO註釋。
2. 從GOA專案進行下載
EBI對uniprot資料庫中的蛋白進行了GO註釋分析,這個專案名為gene ontology annotation, 簡稱GOA, 在FTP也提供了物種對應的註釋資訊,示意圖如下 以human為例,FTP地址如下
這裡的檔案和GO官網的檔案內容和格式是一致的,只不過數量上稍有差異。
3. 從NCBI Gene 資料庫進行下載
在NCBI檢索基因時,在結果頁面會看到該基因對應的很多註釋資訊,其中就包括了GO註釋,這些資訊在FTP上都提供了原始檔,以供下載,連結如下
幾個主要的檔案示例如下
gene2go
就是基因對應的GO註釋檔案,這個檔案包含了所有物種的GO資訊,可以根據物種對應的tax id提取指定物種。
NCBI中用Entrez Id 標識每個基因,通過另外的幾個檔案,可以得到Entrez ID
, Ensemble Id
, Gene Symbol
對應的GO資訊。
4. 從Bioconductor 獲取
對於常見的物種,Bioconductor上也提供了對應的註釋包,示意如下
以org.Hs.eg.db
為例,這個R包儲存了很多human基因對應的資訊,通過keys
和select
函式可以獲得基因對應的GO註釋資訊,程式碼如下
> k <- keys(org.Hs.eg.db, keytype = "ENTREZID")[1:3] > select(org.Hs.eg.db, keys = k, columns = c("GO", "ONTOLOGY"), keytype="ENTREZID") 'select()' returned 1:many mapping between keys and columns ENTREZID GO EVIDENCE ONTOLOGY 1 1 GO:0002576 TAS BP 2 1 GO:0003674 ND MF 3 1 GO:0005576 IDA CC
這裡的程式碼只是根據Entrez ID 得到了GO註釋資訊,其實這個R包也包含了gene symbol
, ensembl id
等很多其他的基因ID。
許多做富集分析的包就會從物種對應的db
包中讀取GO註釋資訊。