MEGAN(Metagenome Analyzer)是宏基因组学进行物种和功能研究的常用软件,实际上现在的Diamond+MEGAN6已经是一套比较完整的物种和功能注释流程了。

但是由于各种原因,我们在流程中使用的并非最新版。不同版本的MEGAN使用方法差别较大,尤其在命令行模式下。网上的关于这方面的资料也寥寥无几,这里简单记录下使用方法,主要是针对Linux平台的使用。

MEGANGUI版相对友好,如果你在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文件,但是GINCBI已经不再维护了,所以目前这个文件想下都下不到。包括blast比对的结果也不再显示GI号,仅显示accessionID。关于ID的解释,生信技能树有一篇总结比较全面,不了解的可以参考下。比较一下NCBIblast结果以前的和现在的区别:

现在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文件,导出后可得到accessionIDtaxID的对应关系。

接下来可以写个脚本通过Taxonomy数据库(下载地址)中的names.dmpnodes.dmp文件得到物种注释的结果了。

MEGAN 6

MEGAN6Community EditionUltimate 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

MEGAN4,MEGAN5和MEGAN6的Linux安装和使用的更多相关文章

  1. 【宏基因组】MEGAN4,MEGAN5和MEGAN6的Linux安装和使用

    MEGAN(Metagenome Analyzer)是宏基因组学进行物种和功能研究的常用软件,实际上现在的Diamond+MEGAN6已经是一套比较完整的物种和功能注释流程了. 但是由于各种原因,我们 ...

  2. 搜狗输入法linux安装 以及 12个依赖包下载链接分享

    搜狗输入法linux安装版,先安装各种依赖包,大概12个依赖,可能中途还需要其他依赖,可以效仿解决依赖问题.如图这12个文件要是手动点击下载,那也太笨点了,我们要用shell命令批量下载.命令如下:w ...

  3. linux安装php

    接上篇:linux安装apache 一.安装php 先安装libxml2库 [root@ctxsdhy package]# yum -y install libxml2-devel 最新地址在:htt ...

  4. linux安装oracle11g

    准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...

  5. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

  6. Symantec Backup Exec 2010 Agent For Linux安装

    以前写过一篇文章介绍过Symantec Backup Exec 2012 Agent For Linux安装安装,今天介绍一下Symantec Backup Exec 2010 Agent For L ...

  7. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  8. linux 安装jdk

    1.Linux安装JDK步骤1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也 ...

  9. Hadoop Linux安装

    Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...

随机推荐

  1. Scrum Meeting 10

    第10次例会报告 日期:2021年05月30日 会议主要内容概述: 目前组员均无暇软工,进展较慢. 一.进度情况 我们采用日报的形式记录每个人的具体进度,链接Home · Wiki,如下记录仅为保证公 ...

  2. Noip模拟17 2021.7.16

    我愿称这场考试为STL专练 T1 世界线 巧妙使用$bitset$当作vis数组使用,内存不会炸,操作还方便,的确是极好的. 但是这个题如果不开一半的$bitset$是会炸内存的,因为他能开得很大,但 ...

  3. 关于stm32串口必须要学的5个串口以及串口应用和注意事项

    串口是我们常用的一个数据传输接口,STM32F103系列单片机共有5个串口. 其中1-3是通用同步/异步串行接口USART(Universal Synchronous/Asynchronous Rec ...

  4. binary-tree-postorder-traversal leetcode C++

    Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...

  5. PWN学习之栈溢出

    目录 PWN学习之栈溢出 前言 写bug bug.cpp源码 OD动态调试bug.exe OD调试观察溢出 栈溢出攻击之突破密码验证 x64位栈溢出 PWN学习之栈溢出 前言 我记得我在最开始学编程的 ...

  6. python中的itertools模块简单使用

    itertools 高效循环下创建循环器的标准库 Infinite itertools,无限迭代器 itertools.count(start=0, step=10) 默认返回一个从0开始,依次+10 ...

  7. windows server 2012 开机运行一段时间死机的故障

    环境: 物理机:华为2288 V5 虚拟化:esxi 6.5.2 虚拟操作系统 windwos server 2012 标准版 内安装sql server 和其他应用软件 故障描述:window se ...

  8. JAVA POI导出EXCEL 动态表头、多级表头、动态数据

    导出Excel文件是业务中经常遇到的需求,以下是经常遇到的一些问题: 1,导出中文文件名乱码 String filename = "sheet1";response.setChar ...

  9. 移动GPU分类/百科

    ARM mali gpu四大微架构概述 https://zhuanlan.zhihu.com/p/107141045 http://www.neardi.com/news_23/487.html

  10. 关于Thread的interrupt

    关于Thread的interrupt Thread的interrupt方法会引发线程中断. 主要有以下几个作用: 如Object的wait方法,Thread的sleep等等这些能够抛出Interrup ...