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