本教程为Linux下新版BLAST+的本地化安装与基本用法。BLAST的更详细使用方法可参考BLAST手册《BLAST Command Line Applications User Manual》,网址:http://www.ncbi.nlm.nih.gov/books/NBK279690/
1. 下载
从NCBI网址下载最新版BLAST程序:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/
根据自己的操作系统选择相应的BLAST可执行程序,如Ubuntu 12.04(64位)系统就下载:
$wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.6.0+-x64-linux.tar.gz
2. 安装
解压缩:
$tar -zxvf ncbi-blast-2.6.0+-x64-linux.tar.gz
移动到本地欲安装的目录(不带版本号,避免因升级而修改配置文件)
$sudo mv ncbi-blast-2.6.0+/ /opt/blast
将BLAST+可执行程序所在目录(bin)的绝对路径加入到环境变量$PATH中,方便通过程序名直接调用。
编辑~/.bashrc文件,在最后加入bin目录
如果显示版本正确,安装成功。
3.配置本地BLAST库
安装目录/opt/blast下新建一个文件夹,命名为blastdb 。
$mkdir /opt/blast/blastdb
在用户home目录下新建一个文件.ncbirc(文件名是以点号开头)。
$vi ~/.ncbirc
在文件中添加内容:
[BLAST]
BLASTDB=/opt/blast/blastdb
配置好后,以后做BLAST选择库的时候就可以只输入名称(比如nr),不用输入绝对路径了。
4.基本用法
执行BLAST程序要先准备待查找目标序列(Subject)的数据库,BLAST程序需要有特定格式数据库才能进行搜索,所以要先格式化序列数据库;也可以直接从NCBI下载已经格式化好的数据库,如NT, NR数据库等。然后根据你的查询序列(Query)为蛋白质或核酸序列选择相应BLAST程序,如blastp或blastn等搜索相似序列。
4.1 格式化序列数据库
如果该库需要经常使用,可将库文件移到前面配置的库文件的目录,今后在其它目录运行blast的时候,便可直接输入库名(不用输入绝对路径),直接使用。
$mv dbname.* /opt/blast/blastdb
4.2 运行BLAST程序
以核酸序列比对核酸数据库(blastn)为例:
更多参数信息可直接输入blastn -help查阅。
Blastn程序的default value为magablast。Megablast 是在intra-species或者very closely related species中使用的blast版本,其特点是word_size较大(默认值为28bp),这样就可以在initial match过程排除掉很多情况,从而加快比对速度。而对于inter-species的两个较短片段就无法搜寻到结果,这种情况可以增加参数 –task blastn,就按blastn程序进行搜寻。
新BLAST+中最拉风的功能是直接控制输出格式,如:-outfmt format “7 qacc sacc evalue length pident”
7表示带注释行的tab格式的输出,可以自定义要输出哪些内容,用空格分格跟在7的后面,并把所有的输出控制用双引号括起来,其中qacc查询序列的acc,sacc表示目标序列的acc,evalue即是e值,length即是匹配的长度,pident即是序列相同的百分比。其他可用的选项参见最后。
其它程序,如蛋白序列比对蛋白数据库(blastp)以及核酸序列比对蛋白数据库(blastx)等,用法与blastn类似:
完整的参数说明可以用-help查询。
4.3 也可以直接下载NCBI已经格式化好的库(NCBI-curated database),直接在本地库中比对,以蛋白质库nr为例:
下载库可使用BLAST+自带的update_blastdb.pl脚本
如果没有下载本地化nr库,可添加-remote选项,进行在线比对(就不能使用-num_threads参数了),但速度慢一些,适合序列不多的情况。
领取专属 10元无门槛券
私享最新 技术干货