BLAST+与BLAST相比,有很多改进和提高,NCBI强烈推荐放弃BLAST,使用BLAST+, 这里说的BLAST和BLAST+,都是本地的。BLAST下载地址:NCBI BLAST+ (ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/) 。
BLAST+的一般用法如下:
格式化数据库
makeblastdb -in db.fasta -dbtype prot -parse_seqids -out dbname
参数说明:
-in:待格式化的序列文件
-dbtype:数据库类型,prot或nucl
-out:数据库名
蛋白序列比对蛋白数据库(blastp)
blastp -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8
参数说明:
-query: 输入文件路径及文件名
-out:输出文件路径及文件名
-db:格式化了的数据库路径及数据库名
-outfmt:输出文件格式,总共有12种格式,6是tabular格式对应BLAST的m8格式
-evalue:设置输出结果的e-value值
-num_descriptions:tabular格式输出结果的条数
-num_threads:线程数
核酸序列比对核酸数据库(blastn)以及核酸序列比对蛋白数据库(blastx)
与上面的blastp用法类似:
blastn -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8
blastx -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8
以上的参数说明只是一些常用的参数,完整的参数说明可以用-help查询。
转载自:有个博客 [ http://www.yelinsky.com/blog/ ]
1F
谢谢博主!
2009年7月,NCBI发布了BLAST升级版——BLAST+,BLAST+使用了BLAST的核心算法,延 续了BLAST的优势功能,发展并增强了如BLAST的fastacmd程序,新增了如update_blastdb.pl等 程序。下面简单列举此次修改的主要内容:
高度模块化是本次修改的主要目标,不仅从理论上,更是从代码上明 确模块化了BLAST的三个过程:setup, scanning, trace-back。
选择的ISO C99标准,使得源代码可以同时被c以及c++使用,不需要做任何修改。
Database mask:之前的版本 需要第三方软件如RepeatMasker来mask数据库,c现在内置了WindowMasker和DUST来进行重复序列过滤。
使 用Query split, Partial subject sequence retrieval以及Retrieving subject sequences from an arbitrary source等策略来提高长序列(如染色体序列)的比对效率,有效的降低了CPU时 间,充分使用了一、二级缓存。
全新的命令行参数使用方式,添加了长字符串作为参数的支持,如-out,而不是以前的-o,关 于每一个程序其具体的命令行参数,可以通过添加-help参数来查阅。
分离blastn, blastp, blastx等作为独立的程序以替代之前的blastall -p blastn模式。
makeblastdb, blastdb_aliastool, blastdbcmd三个程序都和数据库有关,增强了数据库方面的处理。
添加 Best-Hit算法,只报告最优的Hit。比较有意思的是,最新的FASTA (version 36) 程序学习BLAST添加了multi-HSP 的功能,而BLAST+却学习FASTA添加了Best-Hit的功能。互相学习,互相提高。其实,在BLAST是学习并消化吸收了 一大批文章中的先进成果而发展起来的,例如MPBLAST, BLAST++, miBLAST, BLAT等。
添加了保存search strategy的功能,所谓search strategy也就是程序运行时的参数等信息