blast+软件介绍

admin 7 2025-02-04 编辑

小编在科研工作中发现,blast和blast+的比对结果有一些出入,比对做NT库比对的时候,blast+比对的效率高,比上的会多。于是着手收集下blast+和blast的不同之处。

1.BLAST+的使用

BLAST+与BLAST相比,有很多改进和提高,NCBI强烈推荐放弃BLAST,使用BLAST+, 这里说的BLAST和BLAST+,都是本地的。

BLAST+的一般用法如下:

格式化数据库(注意这里建库的方法和blast不一样啦)

makeblastdb -in db.fasta -dbtype prot-parse_seqids -out dbname

参数说明:

-in:待格式化的序列文件

-dbtype:数据库类型,prot或nucl

-out:数据库名

蛋白序列比对蛋白数据库(blastp,注意没有blastall 啦,都是分开的)

blastp -query seq.fasta -out seq.blast -dbdbname -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 -dbdbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8

blastx -query seq.fasta -out seq.blast -dbdbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8

以上的参数说明只是一些常用的参数,完整的参数说明可以用-help查询。

2 blast+与blast的差异

BLAST已经成为序列比对软件代名词,且其词性也已经开始变化,诸如BLASTing之类的词汇在各种论文中已是屡见不鲜,可见其影响之深,使用之广,如同分子生物学领域中的PCR

自从1997年释出现有的BLAST版本后,这十多年来,BLAST经历了多次的升级,功能、性能一版比一版好,相应的其Source code也被修改的凌乱不堪,难于维护,极大的限制了对BLAST进一步的修改、功能提升。再加上NCBI C++ Toolkit项目的开展,促使BLAST的维护者们决定从头开始,重新编写 BLAST代码。

2009年7月,NCBI发布了BLAST升级版——BLAST+,BLAST+使用了BLAST的核心算法,延 续了BLAST的优势功能,发展并增强了如BLAST的fastacmd程序,新增了如update_blastdb.pl等 程序。下面简单列举此次修改的主要内容:

(1)高度模块化是本次修改的主要目标,不仅从理论上,更是从代码上明 确模块化了BLAST的三个过程:setup,scanning, trace-back。

(2)选择的ISO C99标准,使得源代码可以同时被c以及c++使用,不需要做任何修改。

(3)Database mask:之前的版本 需要第三方软件如RepeatMasker来mask数据库,c现在内置了WindowMasker和DUST来进行重复序列过滤。

(4)使 用Query split, Partialsubject sequence retrieval以及Retrieving subject sequences from an arbitrary source等策略来提高长序列(如染色体序列)的比对效率,有效的降低了CPU时间,充分使用了一、二级缓存。

(5)全新的命令行参数使用方式,添加了长字符串作为参数的支持,如-out,而不是以前的-o,关于每一个程序其具体的命令行参数,可以通过添加-help参数来查阅。

(6)分离blastn, blastp,blastx等作为独立的程序以替代之前的blastall -p blastn模式。

(7)makeblastdb, blastdb_aliastool,blastdbcmd三个程序都和数据库有关,增强了数据库方面的处理。

(8)添加 Best-Hit算法,只报告最优的Hit。比较有意思的是,最新的FASTA(version 36) 程序学习BLAST添加了multi-HSP 的功能,而BLAST+却学习FASTA添加了Best-Hit的功能。互相学习,互相提高。其实,在BLAST是学习并消化吸收了一大批文章中的先进成果而发展起来的,例如MPBLAST, BLAST++, miBLAST, BLAT等。

(9)添加了保存search strategy的功能,所谓searchstrategy也就是程序运行时的参数等信息。

总之,对于广大用户来说,BLAST+的发布绝对是一个好消息。它是对BLAST的一个全新设计,其在性能(主要对长序列的比对)以及易用性上均有了很大提高,尤其在易用性上。同时对于开发者来说,也是一个“解脱”,清晰的模块化将会极大的提高维护者的效率。

总结:能用blast+就用blast+吧。Blast都停止维护啦。

整理自网络

网上其它的好资料:

http://boyun.sh.cn/bio/?p=1887

http://blog.sina.com.cn/s/blog_7b41b69101015hbc.html

http://blast.ncbi.nlm.nih.gov/Blast.cgi

http://linxiao.name/archives/86

http://www.yelinsky.com/blog/archives/421.html

http://fhqdddddd.blog.163.com/blog/static/18699154201061935513495/

http://www.vcu.edu/csbc/bbsi/inst/archives/bioinf/SetupLocalBlast.html

http://www.plob.org/2012/10/13/4326.html

http://www.plob.org/2012/09/30/3860.html

http://www.plob.org/2012/06/04/2011.html

欢迎关注

blast+软件介绍

上一篇: 质粒构建工具推荐,实验室必备的分子克隆利器
下一篇: (SXR2023030035C )scATOMIC——最新微环境中单细胞的泛癌分类器
相关文章