MEGAN4,MEGAN5和MEGAN6的Linux安裝和使用
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