生物狗应该都知道、用过blast的吧,出于代码维护等原因,NCBI在原有核心算法基础上重写了blast,使用分别的blastp
, blastn
, blastx
, tblastn
, tblastx
代替了原来的blastall
,软件包名称也变成blast+(与之前老版本blast区分),以下文中blast都指新版blast+。
blast
ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载系统对应版本,linux用户可直接下载编译好的版本,解包急用,简单粗暴,windows用户下载ncbi-blast+
,和正常windows软件一样安装(建议安装非系统盘,存放数据库文件,占用系统盘空间),最后添加环境变量
就好。
###blast 输出格式
blast支持txt
、xml
、ASN.1
等多种输出格式,具体可通过参数-outfmt int
参数进行设置(int
取值0-11
),其中以xml(-outfmt 5
)和txt(-outfmt 6
)使用较多。
xml输出信息全面,可能不便于查看,txt格式便于查看,而仅显示有限的匹配信息,但是blast支持自定义输出信息,可通过-outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore"
实现,具体输出信息参考blastp -help
信息。
###blast task 参数设置
一直很好奇为啥网页版 blast 中的 blastn 有megablast
, discontiguous megablast
, blastn
三种选项,而在单机版中找不到对应可执行程序,看NCBI介绍也有说 megablast 对比速度上更快一些,一直想要自己动手试试,找不到执行程序。某天瞎逛各种论坛的时候,偶然发现了还有-task
这么一个参数选择不同的比对模式,就先记录了解下,准备后续测试。
- blastp,
-task
参数有blastp
,blastp-short
和deltablast
三种选择 - blastn,
-task
参数可选blastn
,blastn-short
,dc-megablast
,megablast
,rmblastn
,这里blastn软件默认就采用megablast
进行同源搜索 - blastx,
-task
参数可选blastx
,blastx-fast
,测试结果可以参看 genedock 博客,https://www.genedock.com/blog/2017/02/22/20170222_blastx-survey/
###其他比对工具
- Diamond, 类blast程序吧,运行时间、速度上甩blast+ n条街,空间换时间的策略吧,占用内存、CPU也是够够的了,不过最新版本加入了
-b
参数限制内存、虚拟磁盘空间的占用,同时新增--sensitive
和--more-sensitive
参数比对结果的灵敏性 - Blat, UCSC出品,没仔细研究,某些时候比 blast 好用