分享

mpiBlast的安装和使用 | Public Library of Bioinformatics

 勤悦轩 2015-10-23

之前一直在用NCBI新的blast+,速度不错。但是blast的线程是内存空享的,即只能单节点运算。手头能使用的计算资源只能达到单节点16 threads。动辄上万条的对比实在是太慢了。遂萌生用mpiblast的想法。步骤简述如下:

1 安装MPI,我这里用的是OpenMPI,安装结束后运行example,确认成功;

2 下载mpiBlast,解压;

3 下载NCBI toolbox,我用的地址 ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/ncbi.tar.gz,解压并mv到mpiblast下的ncbi directory里;

4 bulid NCBI : 在mpiblast下,./ncbi/make/makedis.csh;

5 configure mpiblast, 可能用到的@ARGV: –prefix, –with-mpi (指定位置为mpi的bin dir), –host=x86_64 (本来以为不需要加,但是出现了比较奇怪的error信息,加上就好了), 应该不需要加上别的帖子提到过的–with-ncbi;

6 make; make install;

7 修改~/.ncbirc文件,例子:

[NCBI]

Data=/public/home/gy/soft/mpiblast-1.6.0/ncbi/data

[BLAST]

BLASTDB=/public/home/gy/blast+/db

BLASTMAT=/public/home/gy/soft/mpiblast-1.6.0/ncbi/data

[mpiBLAST]

Shared=/public/home/gy/mpiblast_database

Local=/tmp/mpiblast

其中[NCBI]中的Data项,填写step3中安装的NCBI的data directory位置,主要包含了运行所需的打分矩阵和一些lib;BLASTMAT项一般与NCBI的Data相同; BLASTDB项是blast/blast+所用的database位置;而[mpiBLAST]下的shared和local才是mpiblast所使用的database位置 (shared是总数据库位置,而local一般是各工作节点把自己需要用到的那一部分db拿来存放的位置);

8 关于database: mpiblast不能使用blast formatdb创建的db,据称反之则可以,所以推荐用mpiformatdb格式化数据库,这样两者皆可使用;关于blast+是否可以兼容使用,尚未验证。我干脆又下载了fasta格式的nr database,mpiformat了一下。

9 使用简单说明:

mpirun -n 8 mpiblast -p blastp -d nr -i ../pro_seq.fa -m 8|9|0 -o pro_mpiblast_result

其中-n指定计算单元个数(进程数),当-n小于当前节点提供的计算单元数时,会仅用本节点;-p选择比对程序;-d选择database;-i为待比对序列;-o为结果文件;-m是输出格式,目前仅支持8(tab-delimited table with headers),9(tab-delimited table without headers),0(Normal)。若用m7输出xml格式,应该会输出多个文件(每节点一个),需要手动再放到一起。

From: http://www./?p=10

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多