进行迭代检索命令:blastpgp
它本质上进行的是blastp的检索(所以在运行时无须指定程序名),但是它可以被用来在psi-blast和phi-blast模式中实现迭代检索。
“iterative search”就是指在一轮检索中所获得的序列被用来构建一个新打分矩阵,而以此进行下一轮的检索。
按照这种用法,这个程序被称为位点特异迭代BLAST(Position-Specific Iterated BLAST) 简称PSI-BLAST。
可以在命令行中使用“blastpgp-”命令来获取详细的参数说明。
blastpgp的大部分参数是与通用检索程序blastall一致的,只有少数与迭代检索相关的选项是特别的:
-j:最大迭代检索的次数,缺省值1,即等同与在blastall中所使用blastp程序
-h:在每轮检索后构建新的打分矩阵时所选择的序列的期望值(E value)的阈值,缺省值0.001
-C:将生成的位点特异性的打分矩阵输出到一个文件(二进制格式)
-R:从文件读取一个原先输出的位点特异性的打分矩阵,然后使用这个矩阵来继续进行以后的检索比对
-Q: 输出一个可读的文本(ASCII)格式的PSI-BLAST的打分矩阵
-B:设置让blastpgp读取一个已经存在的多重比对文件来构建位点特异性的打分矩阵而进行以后的检索
命令举例:
blastpgp -i query.faa-d nr -o query1.out
blastpgp -i query.faa-d nr -o query2.out -j 2 -Q matrix2 -C psi2
blastpgp -i query.faa-d nr -o query5.out -j 5 -Q matrix5 -R psi2
PHI-BLAST (Pattern-Hit Initiated BLAST)是用于检索对于正则表达式(regular expressions)的匹配的程序
当给出一个蛋白质序列S和一个出现在S中的正则表达式的模式(pattern)P,则PHI-BLAST可以找出有哪些其他的蛋白质序列既包含P又在此模式出现的区域与S具有同源性(homologous)
PHI-BLAST的算法基础:
R. Baeza-Yates and G. Gonnet, Communications of the ACM 35(1992), pp. 74-82.
S. Wu and U. Manber, Communications of the ACM 35(1992), pp. 83-91.
PHI-BLAST中所使用的模式的语法规则遵循PROSITE数据库的协定
在单独(stand-alone)使用中,允许在一个文件中包含多个模式,其间应该用一个空行隔开。但是在网页上使用时只允许一次提交一个模式
在模式中有效的蛋白符号为:
ABCDEFGHIKLMNPQRSTVWXYZU
有效的DNA符号为:ACGT
其他有用的分隔符(delimiters):
[ ] 表示在括号中任意某一个残基
- 无意义,是PROSITE使用的间隔符
x 其后没有修饰符时表示任意残基
x(5)表示任意5个残基(residue)
x(2,4)表示2到4个的任意残基
> 无意义,只能出现在一个模式的结尾,是PROSITE使用的另一个间隔符
. 无意义,可以出现在一个模式的结尾
在单独使用PHI-BLAST程序时,模式应该写入一个文件中,至少包含下列两个起始行内容:
ID
其后跟随两个空格和一个字符串用来表示此模式的名称
PA
其后跟随两个空格和一个符合语法的模式描述
其他的PROSITE的描述符都是允许的,但是除了HI以外都将被忽略
典型的单独运行的用法如下:
blastpgp-i seq-k pat -p patseedp -d database
这里,seq是要查询的FASTA格式的序列文件名;pat是其所包含的模式的文件名;patseedp是指明所使用的方法;database是要进行检索的序列数据库名。
因为其本质上是blastp的检索,所以其他大部分命令行参数类似于blastall
PHI-BLAST还有一种用法是针对所指定的模式多次的出现在查询序列中的情况的。因为在这种情况下,用户可以限制检索在指定的范围内进行。基本用法如下:
blastpgp -i seq -k pat -p seedp -d database
这里与第一种用法唯一的不同点就是-p参数所指定的用法上的区别
另外,对于这种用法,输入的模式文件中还应该包含至少一个以HI开头的行,以指明模式出现的位置
以下是一个用于seedp用法的模式文件的例子:
ID ER_TARGET
PA [KRHQSA]-[DENQ]-E-L>.
HI (19 22)
HI (201 204)
两个与模式匹配相关的问题:
Q1、给定一个蛋白质序列和一个各种模式的数据库,有那些模式出现在这个序列中以及具体位置
Q2、给定一个模式和一个蛋白质序列数据库,有那些序列包含这个模式以及模式出现的具体位置
这两个问题可以用与PHI-BLAST相似的算法来解决,但是其输出不符合BLAST的框架(framework)要求。
BLAST的程序包中目前包含一个名为seedtop的程序用来解决这两个问题
基本的解决方法:
A1、seedtop -i -k -p patmatchp
A2、seedtop -d -k -p patternp
命令举例:
seedtop -d U00096.faa -k pat1 -p patternp
两序列比对命令:bl2seq
仅限于两条序列之间进行的比对,可以免去用blastall进行检索时必须进行formatdb的烦琐过程
因为其本质上是就是实现的blastall中的5种不同的比对程序的算法,所以它要求在设置输入序列时的序列类型应该与所选择的程序相对应
可以在命令行中使用“bl2seq -”命令来获取详细的参数说明。
bl2seq的绝大部分参数是与通用检索程序blastall一致的,只是没有了-d 的选项,另外增加了两个输入选项:
-i:第一个输入序列文件
-j:第二个输入序列文件
(注:这两个输入序列都应该是FASTA格式,各自的序列类型——核酸或蛋白——应由所选择的-p 参数决定)
命令举例:
bl2seq -i query.faa -j sbjct.faa -e 0.01 -o out
bl2seq -i query.ffn -j sbjct.faa -p blastx -e 1e-5 -o out
bl2seq -i query.ffn -j sbjct.ffn -p tblastx -e 1e-5 -o out
MegaBLAST使用了Webb Miller等人提出的“greedy algorithm”来进行核酸序列的快速检索。
程序专门针对由于测序或其他类似的“错误”而产生的差异较小(differ slightly)的序列间的比对进行了优化。
它的运行速度可以达到通用序列比对程序的十倍,因此可以用于进行两个较大的序列集直接的快速比对。
megablast的绝大部分参数是与通用检索程序blastall一致的,但是它不需要-p的选项。
特殊选项:
-D:设置megablast输出文件的格式。0表示对每一个比对生成一个单行的输出;1与0输出形式类似,但是增加了一些信息;2是产生标准的blastn的输出格式;3也是单行的输出,但是以tab作为分隔符。缺省值0
评论