簡要介紹利用eggNOG進行在線注釋GO
其原理將query序列與eggNOG編號的蛋白進行多序列比對,確定保守位點,分析其進化關系。 每個eggNOG編號的蛋白為一類蛋白。
簡單操作
進入在線地址,提交蛋白序列,郵箱,其他可以選擇默認,點擊run即可。
有時候人多會特別的慢?。?!
結果處理
首先需要下載GO的obo文件,點擊此處下載,下載后利用腳本進行解析
python parse_go_obofile.py -i go-basic.obo -o go.tb
處理后的文件如下:
GO Description level
GO:0000001 mitochondrion inheritance biological_process
GO:0000007 low-affinity zinc ion transmembrane transporter activity molecular_function
而后,解析eggNOG的結果
python parse_eggNOG.py -i annotations \
-g go.tb \
-O ath,osa \
-o test
## 參數:
-i eggNOG結果
-g obo解析的文件
-O 參考物種(只用于KEGG注釋,使用KEGG三字母物種縮寫表示)。比如做植物可以選擇擬南芥 水稻作為參考,可排序富集到動物通路上
-o 輸出文件夾
處理的結果文件有兩個:「GOannotation.tsv」和「KOannotation.tsv」 分別對應GO注釋和KO注釋。
GOannotation.tsv
Gene GO level
Pg_S3686.2 GO:0000165 biological_process
Pg_S3686.2 GO:0003674 molecular_function
KOannotation.tsv
Gene KO pathway decription
Pg_S6540.1 K05907 map00920 Sulfur metabolism
Pg_S6540.1 K05907 map01100 Metabolic pathways
富集分析
利用clusterProfiler中的enricher這個通用函數進行富集
library(clusterProfiler)
KOannotation <- read.delim("D:/RProject/MedicalPlantDB/KOannotation.tsv", stringsAsFactors=FALSE)
GOannotation <- read.delim("D:/RProject/MedicalPlantDB/GOannotation.tsv", stringsAsFactors=FALSE)
GOinfo <- read.delim("D:/RProject/MedicalPlantDB/go.tb", stringsAsFactors=FALSE)
# 前面獲取gene list的過程略
gene_list<- # 你的gene list
# GO富集
## 拆分成BP,MF,CC三個數據框
GOannotation = split(GOannotation, with(GOannotation, level))
## 以MF為例
enricher(gene_list,
TERM2GENE=GOannotation[['molecular_function']][c(2,1)],
TERM2NAME=GOinfo[1:2])
# KEGG富集
enricher(gene_list,
TERM2GENE=KOannotation[c(3,1)],
TERM2NAME=KOannotation[c(3,4)])
上述設計到的腳本來自https://github.com/Hua-CM/HuaSmallTools/blob/master/parse/parse_go_obofile.py
本文來自Y叔公眾號投稿內容,詳情可查看https://mp.weixin.qq.com/s/Mr3YLoc_-Y1WeLKJku1TzQ