MEGAN(Metagenome Analyzer)
是宏基因組學進行物種和功能研究的常用軟件,實際上現在的Diamond+MEGAN6
已經是一套比較完整的物種和功能注釋流程了。
但是由於各種原因,我們在流程中使用的並非最新版。不同版本的MEGAN
使用方法差別較大,尤其在命令行模式下。網上的關於這方面的資料也寥寥無幾,這里簡單記錄下使用方法,主要是針對Linux
平台的使用。
MEGAN
的GUI
版相對友好,如果你在Windows
平台使用過該軟件,那么在Linux
上使用和理解起來相對容易些。
MEGAN 4
歷史悠久,基本上已經淘汰了。命令行直接配置參數即可,貌似也不要license
。
示例如下:
xvfb-run.sh --auto-servernum --server-num=1 \\
MEGAN +g -x \\
"import blastfile=all.blastout_m8.add_taxoid meganfile=all.rma ;\\
recompute toppercent=5;\\
recompute minsupport=1;\\
update;\\
collapse rank=Species;\\
update;\\
select nodes=all;\\
export what=CSV format=readname_taxonid separator=tab file=all.result;\\
update;\\
close"
Megan
的參數非常之多,以上僅列出了一些最主要的參數,+g
表示開啟非圖形模式(即命令行模式),-x
后接引號內的MEGAN
參數,更多可參考MEGAN4 Manual。除了導入、導出之外,其中toppercent
表示取比對數目的前百分之多少,minsupport
表示至少取一條,collapse
表層級折疊,select nodes
表示選擇方式。命令行中參數是一行一行處理的,所以要加入updates
來鏈接命令。
MEGAN 5
主頁download。需要用教育網郵箱注冊獲取license
,將License certificate
內容新建一個名為MEGAN5-academic-license.txt
的文件保存。命令行使用時通過-L
參數來指定它。
另外,MEGAN5
需要新建一個參數配置文件,類似MEGAN4
中的引號內容,以便MEGAN
解析。為避免不同版本的差異,更多參數最好查看MEGAN5 Manual。
例如,制作參數文件command.txt
如下:
load taxRefSeqFile='./MEGAN/database/prot_acc2tax-Jul2019X1.abin';
import blastFile=Redtide.blastnr.all fastaFile=Redtide.fa meganFile=tab.rma blastFormat=BlastTAB;
recompute toppercent=5;
recompute minsupport=1;
update;
collapse rank=Species;
update;
select nodes=all;
export what=CSV format=readname_taxonid separator=tab file=tab.result;
update;
quit;
網上有些很舊的資料,如http://seqanswers.com/forums/showthread.php?t=43535加載的是load taxGIFile=gi_taxid_prot.bin
文件,但是GI
號NCBI
已經不再維護了,所以目前這個文件想下都下不到。包括blast
比對的結果也不再顯示GI
號,僅顯示accessionID
。關於ID
的解釋,生信技能樹有一篇總結比較全面,不了解的可以參考下。比較一下NCBI
的blast
結果以前的和現在的區別:
現在MEGAN
官網能下的數據庫如下(與MEGAN6
共用):
https://software-ab.informatik.uni-tuebingen.de/download/megan6/welcome.html
所以在參數文件中務必使用taxRefSeqFile=
參數,而非taxGIFile=
。
命令行運行:
xvfb-run.sh --auto-servernum --server-num=1 /software/bin/MEGAN/MEGAN -L MEGAN/MEGAN5-academic-license.txt -g -E -c command.txt
# 或
xvfb-run.sh --auto-servernum --server-num=1 /software/bin/MEGAN/MEGAN -L MEGAN/MEGAN5-academic-license.txt -g -E < command.txt
使用xvfb
是為了虛擬化屏幕,在Linux
上我們不想要MEGAN
顯示圖形界面,阻止窗口彈出,只要它在運行就行了。不過這個工具如果在你們集群平台上沒裝,而你又沒root
權限的話,就得搗鼓半天了。
運行megan
這一步一開始生成rma
文件,導出后可得到accessionID
和taxID
的對應關系。
接下來可以寫個腳本通過Taxonomy
數據庫(下載地址)中的names.dmp
和nodes.dmp
文件得到物種注釋的結果了。
MEGAN 6
MEGAN6
有Community Edition
和Ultimate Edition
兩個版本(download),因為后者需要license key
,我試了下社區版的,貌似不支持Linux
平台。
$ sh MEGAN_Community_unix_6_17_0.sh
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be at least 11.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
最終版本的MEGAN6
命令行模式后續如果有需求再試試吧,應該和5
差不多,因為兩者的數據庫文件都通用了。具體可參考MEGAN6 Manual。
Ref:
http://mp.weixin.qq.com/s?__biz=MzIwNTEwMTUyOQ==&mid=2649693810&idx=2&sn=0264e78fac1dc6ffd3b8a3f6027e3669&chksm=8f2dbec4b85a37d23526e1996837f5f1ebcd41c220dde631855e6d27278c349fc1890ff45aba&scene=4#wechat_redirec
http://megan.informatik.uni-tuebingen.de/t/welcome-to-megan-metagenome-analyzer-community/8
http://blog.sina.com.cn/s/blog_83f77c940102wh7j.html
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1800929/pdf/377.pdf