Blast+使用
安装
安装
通过https://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/网站下载,并执行安装
$ tar zxvpf ncbi-blast-2.10.1+-x64-linux.tar.gz
设置路径:
vim ~/.bashrc
$ export PATH=$PATH:$HOME/ncbi-blast-2.10.1+/bin:$PATH
source ~.bashrc
为了使用BLAST的数据库,需要建立一个文件夹储存它们
$ mkdir $HOME/blastdb
$ export BLASTDB=$HOME/blastdb
下载数据库
BLAST数据库在BLAST搜索中是一个重要元素,下面为下载single-volume database named 16S_ribosomal_RNA的例子:
$ cd $HOME/blastdb
$ perl ../bin/update_blastdb.pl --passive --decompress 16S_ribosomal_RNA
运行此步需下载perl,并且根据报错信息,需要下载软件,可以通过Search the CPAN - metacpan.org搜索软件名,并执行
$ perl Makefile.PL
$ make
$ sudo make install
下载数据库后会出现
$ ls -l
total 172388
-rw-r--r-- 1 tao sdesk 1142784 Jun 6 12:05 16S_ribosomal_RNA.ndb
-rw-r--r-- 1 tao sdesk 3326945 Jun 6 12:05 16S_ribosomal_RNA.nhr
-rw-r--r-- 1 tao sdesk 252508 Jun 6 12:05 16S_ribosomal_RNA.nin
-rw-r--r-- 1 tao sdesk 170664 Jun 6 12:05 16S_ribosomal_RNA.nnd
-rw-r--r-- 1 tao sdesk 716 Jun 6 12:05 16S_ribosomal_RNA.nni
-rw-r--r-- 1 tao sdesk 84152 Jun 6 12:05 16S_ribosomal_RNA.nog
-rw-r--r-- 1 tao sdesk 424244 Jun 6 12:05 16S_ribosomal_RNA.nos
-rw-r--r-- 1 tao sdesk 252764 Jun 6 12:05 16S_ribosomal_RNA.not
-rw-r--r-- 1 tao sdesk 7761701 Jun 6 12:05 16S_ribosomal_RNA.nsq
-rw-r--r-- 1 tao sdesk 548864 Jun 6 12:05 16S_ribosomal_RNA.ntf
-rw-r--r-- 1 tao sdesk 148812 Jun 6 12:05 16S_ribosomal_RNA.nto
-rw-r--r-- 1 tao sdesk 59 Jun 11 12:14 16S_ribosomal_RNA.tar.gz.md5
-rw-r--r-- 1 tao sdesk 146879591 Jun 6 12:05 taxdb.btd
-rw-r--r-- 1 tao sdesk 15506928 Jun 6 12:05 taxdb.bti
$
功能
-
基本原理:BLAST从头至尾将两条序列扫描,找出所有的片段对,并在允许的阈值范围内对片对进行延伸,最终找出HSPs,即高分值片段对。做双序列对比时要构建n*n的表格,计算复杂度是n的二次方,所以会节省大量的时间,但是牺牲了一定的牺牲度。
片段对:两个给定序列中的一对子序列,它们的长度相等并且可形成无空位的完全匹配。 -
BLAST种类
-
Blastn:核酸序列与核酸序列数据库进行查询
-
Blastp:蛋白质序列与蛋白质序列数据库进行查询
-
Blastx:将核酸序列翻译成蛋白质序列,然后与蛋白质序列数据库进行查询
-
tBlastn:将核酸序列数据库中的核酸序列翻译成蛋白质序列,然后将蛋白质序列与由数据库翻译的蛋白质序列进行查询
-
tBlastx:将核酸序列和核酸序列数据库中的核酸序列翻译成蛋白质,再从蛋白质水平进行查询
(其中从核酸翻译成蛋白质&蛋白质翻译成核酸,均用六种可读框架)
-
使用
-
常用参数
-query: 输入文件路径及文件名;
-out:输出文件路径及文件名;
-db:数据库路径及数据库名;
-task: 共五个程序选择’blastn’ ‘blastn-short’ ‘dcmegablast’ ‘megablast’ ‘rmblastn’ ,默认megablast;具体区别如下:
-
blastn 完全匹配的传统blastn;
-
blastn-short 优化查询:短于50个碱基;
-
megablast 查找十分相似的序列(如物种内部或相关的物种间);
-
dc-megablast 查找亲缘关系比较远的序列(如物种间);
-
rmblastn 兼容了RepeatMasker。
-evalue:设置输出结果的e-value值,一般1e-5;
-num_threads:线程数;
-num_alignments:输出数据库中能与Query比对上的的序列数目,与max_target_seqs不能同时使用;
-max_target_seqs:最多允许比对到数据库中的序列数目,参数仅适用于outfmt >4;
-perc_identity :比对的最低相似度;
-max_hsps:由于不对时一条序列比对成多段,如果只想输出其中的几段,就设定相应的数目,与-num_alignments不能同时使用;
-outfmt:输出文件格式,总共有15种格式,一般设置为7。
-
-
构建自定义搜索库
makeblastdb -in xx.fasta -parse_seqids -hash_index -dbtype prot
-in参数后面接将要格式化的数据库;
-parse_seqids, -hash_index两个参数一般都带上;
-dbtype 后接所格式化的序列的类型,核酸用 nucl,蛋白质用prot;
-title 给数据库起个名(不能用在后面搜索时-db的参数);
-out 输出文件的前缀。