如何构建本地Blast?
对于少量的序列,如果要在跟整个(或者某一物种)核酸或者蛋白库比对,一般采用在线BLAST,简单易用,直观,容易被人接受其;对于大量序列,或者是目前不方便公开的数据库,或者是自定义的数据库,一般采用本地BLAST,其效率高,能满足用户更多的要求,但操作相对有点繁琐;
在线blast的说明看这里:NCBI在线Blast的图文说明
blast软件下载看这里: 最新版本地blast下载
构建本地Blast首先要准备什么:
下载blast软件
构建本地的blast数据库
学习blast的常用参数与命令
如何构建本地的blast数据库:
假设有一序列数据(sequence.fa,多序列,fasta格式),欲自己做成Blast数据库,典型的命令如下:
核酸序列:
$ ./formatdb –i sequence.fa –p F –o T/F
蛋白序列:
$ ./formatdb –i sequence.fa –p T –o T/F
执行blast:
获得了单机版的Blast程序,解压开以后,如果有了相应的数据库(db),那么就可以开始执行Blast分析了。
单机版的Blast程序包,把基本的blast分析,包括blastn,blastp,blastx等都整合到了blastall一个程序里面。
以下是一个典型的blastn分析命令:
(待分析序列seq.fa,数据库nt_db)
$./blastall –p blastn –i seq.fa -d nt_db –w 7 –e 10 –o seq.blastn.out
(该命令的意思是,对seq.fa文件中的核酸序列对nt_db数据库执行blastn搜索,窗口大小是7,e值限制是10,输出的结果保存到文件seq.blastn.out 中)。
Blastall的常用参数:
-p 程序名应该是blastn,blastp,blastx,tblastn,tblastx中的一个
-d 数据库名称,默认nr
-i 查询序列文件,默认stdin
-e E值限制,默认10
-o 结果输出文件,默认stdout
-F 过滤选项,默认T
-a 选择进行运算的CPU个数
详细blast参数请看:本地blast的详细用法