對于非模式物種,需要做GO或KEGG富集,可以嘗試使用EGGNOG-Mapper來對你的物種序列進行快速注釋。在注釋結果文件中,可以同時獲得序列映射上的GO號或KO號,直接提取出來即可。
此外,EGGNOG-Mapper對序列進行注釋,似乎對區分旁系同源基因和直系同源基因上有更好的表現。
-
EGGNOG-Mapper可以直接使用網頁版,也能在服務器上進行本地化。由于比對調用的是diamond,因此運行速度很快,2W+基因只需要十來分鐘,推薦直接使用網頁版。
工作流程
一、EGGNOG-Mapper網頁注釋
- 注釋網址
http://eggnog-mapper.embl.de/
-
運行提交的任務
-
注釋完成之后會收到通知郵件,通過郵件中的鏈接下載注釋結果
-
其中,out.emapper.annotations是最終的注釋結果
- 結果文件如下,其中我們最關注的是第十列的GO號以及第十二列的KO號。
- 這里以提取KO號為例,制作query2ko背景文件,可以以此直接使用TBtools進行富集分析。
- 提取基因及其映射上的KO號,KO號在第12列
cut -f 1,12 out.emapper.annotations > out.emapper.annotations.query2ko
- 查看提取結果發現有些基因沒有被注釋上,需要去掉沒有注釋的基因以及去掉KO號前面的
ko:
注意:需要保持ID的一致性,否則注釋不出結果(例如拿來做注釋的往往是蛋白序列,一般會包括可變性剪切的標識符AT4G36920.1
,這個時候需要注意做富集的差異基因是否包含該標識符,需要統一;再者,如果使用的是ensembl ID,則需要注意統一使用Transcript ID或Gene ID)
- 去掉沒有注釋的基因以及去掉KO號前面的
ko:
grep -v '-' out.emapper.annotations.query2ko|sed 's/ko://g' > out.emapper.annotations.query2ko.final
-
整理好的query2ko文件如圖
-
直接使用TBtools進行富集分析
二、本地化EGGNOG數據庫及注釋
- 需要python3.7以上的版本
- 安裝,直接使用conda安裝,可以一鍵解決eggnog-mapper需要的環境以及分析需調用的軟件,省事
conda install -c bioconda eggnog-mapper
- 下載數據庫,eggnog-mapper的新版本已經將幾個主要數據庫都整合在一起,直接運行下載腳本即可。也可以上官網選擇自己所需要的物種數據庫進行下載
http://eggnog5.embl.de/#/app/downloads
download_eggnog_data.py
- 使用emapper.py腳本進行注釋
emapper.py --cpu 80 -i 待注釋文件 -o 輸出文件名
- 注釋結果整理參考前述的結果整理
寫在后面
碩士三年匆匆而過,現在也步入新的研究領域,就如同三年前初到914一樣。
一切重來,要學的還有很多,大家加油!
最后,干飯喊我 哈哈。