blast+命令求助

blast+命令求助,第1张

Blast的运行方式是先用目标序列建数据库(这种数据库称为database,里面的每一条序列称为subject),然后用待查序列(query)在database中搜索,每一条query与database中的每一条subject都要进行双序列比对,从而得出全部比对结果。

Blast是一个继承的程序包,通过调用不同的比对模块,blast实现了物种可能的序列比对方式:

blastp:蛋白序列与蛋白库做比对。

blastx:核酸序列对蛋白库的比对,先将核酸序列翻译成蛋白序列(根据相位可以翻译成6种可能的蛋白序列),然后再与蛋白库作比对。

blastn:核酸序列对核算库的比对。

tblastn:蛋白序列对核算库的比对,将库中的核酸序列翻译成蛋白序列,然后进行比对。

tblastx:核酸序列对核算库在蛋白级别的比对,将库和待查序列都翻译成蛋白序列,然后对蛋白序列进行比对。

Blast提供了核酸和蛋白序列之间所有可能的比对方式,同时具有较快的比对速度和较高的比对精度,因此在常规双序列比对分析中应用最为广泛,可以毫不夸张的说,blast是做比对基因组学乃至整个生物信息学研究所必须掌握的一种比对工具。

使用:

blast的运行分为两个步骤:第一,建立目标序列的数据库;第二,做blast比对。

1、运行建库程序formatdb:

建库的工程是建立目标序列的索引文件,所以程序是formatdb。程序允许的输入格式是FASTA或者ASN.1格式,通常我们使用的FASTA格式的序列作为输入。用于建库的FAST序列是db.seq, formatdb的基本命令是:

formatdb –i db.seq [-options]

常用参数:

-p (T/F): -p参数的意义是选择建库的类型,“T”表示蛋白库,“F”表示核算库,缺省值为“T”

-o(T/F): -o参数的意义是判断是否分析序列名并建立序列名索引。“T”表示建立序列名索引,“F”表示不建立序列索引。缺省值为“F”。

程序输出:

如果建立的是核算库,输出为db.seq.nhr、db.seq.nin、db.seq.nsq,三个文件,如果选择了“-o T”,还会同时输出db.seq.nsd、db.seq.nsi、db.seq.nni、db.seq.nnd四个文件,一共七个。

蛋白库和核算库的输出类似,相应的输出文件为:db.seq.nhr、db.seq.nin、db.seq.nsq和db.seq.nsd、db.seq.nsi、db.seq.nni、db.seq.nnd七个文件。

除了这个结果,程序还会输出LOG文件(默认为formatdb.log),里面记录了运行时间、版本号、序列数量等信息。

几点需要注意的问题:

1)、建库以后,做blast比对的输入文件就是建库所得的文件db.seq.n**或者db.seq.p**,而不是原始的FASTA序列,也就是说,建库以后,原始序列文件是可以删除的。

2)、如果命令行中选择了“-o T”,并且目标序列中好友gi号重复的序列名时,程序会停止建库并报错。

就是说库文件中不能出现重复的序列(标志是序列号,跟具体的序列没有关系)。

3)、如果输入序列不符合FASTA格式或者ASN.1格式,程序会自动退出,并报错。

[formatdb] ERROR: Could not open db.

4)、核酸序列可以用于建核算库和蛋白库,但是蛋白序列不能用于建核算库,这个是显然的,密码子的问题哦!

其他参数介绍:

-l : “-l 文件名”用来改变LOG文件的命名

-n : “-n 文件名”可以自定义生成的库文件命名

-a : 输入文件为ASN.1格式

2、运行比对程序blastall:

Blast的主程序是blastall。程序的输入文件是query序列(- i参数)而和库文件(-d 参数),比对类型的选择(- p参数)和输出文件(- o 参数)由用户指定。其中“-p”参数有5中取值:

-p blastp:蛋白序列与蛋白库做比对。

-p blastx:核酸序列对蛋白库的比对。

-p blastn:核酸序列对核酸库的比对。

-p tblastn:蛋白序列对核酸库的比对。

-p tblastx:核酸序列对核酸库在蛋白级别的比对。

这些元素就构成了 blast 的基本运行命令(以 blastn 为例):

blastall -i query.fa -d database -o blast.out -p blastn

其中如果"-o"参数缺省,则结果输出方式为屏幕输出。

参数:

仅仅运行blast的基本运行命令,得到的结果往往不能清晰准确的表示出有用的信息。最大的问题就是有太多的冗余,很多很短的比对都会出现在输出结果中,导致结果杂乱无章。为了处理杂乱无章的比对结果,满足各种比对需求,blast设置了很多参数来限制比对的范围和输出的形式。一下多数结果以blastn距离,如不做特殊说明,这些参数适合于所有比对方式。

-e 参数

-e(value)参数是用来过滤比对较差的结果的,用“-e”参数指定一个实数,blast会过滤掉期望值大于这个数的比对结果(就是说这个值越小比对结果就越好)。

blastall -i query.fa -d database -o blast.out -p blastn -e 1e-10

通常情况下,对于不同物种之间的比对,期望值设在1e-5左右即可;而对于同源性较高的物种或者同种的比对,可以适度将期望值调的更小来过滤垃圾结果。比对同一物种cDNA和染色体的比对,参数可用1e-10或更高。

-F 参数

-F(T/F)参数是用来屏蔽简单重复和低复杂度序列的。如果选“T”,程序在比对过程中会屏蔽掉query中的简单重复和低复杂度序列;选“F”则不会屏蔽。缺省值为“T”。

比较两个结果,我们看出使用缺省参数的比对结果损失了一部分信息,得到的统计结果也

出现失真,期望值和 identity 都没有反映出真实情况。有时较长的重复序列甚至会导致比对终止。加了"-F F"就保证了比对结果的完整性。通常在大规模、低精度的比对中,往往用缺省参数,这样能避免程序把过多的时间浪费在无意义的简单重复上,提高运行速度;而在小规模、高精度的比对中,需要加上参数"-F F",保证比对的精确度和完整性。

-m 参数:

“-e”参数能够做到筛选适当的比对结果,但是即使如此,blast的输出结果仍然非常庞大并且难以处理。为了精简输出、节省存储空间、实现更多功能并使结果易于处理,blast 提供了参数“-m (integer)”来设定输出格式,可供选择的值为 0~11 之间的整数,缺省为 0。下面就通过实例逐个解析“-m”参数能够实现的输出功能。

-m 8 : 列表格式的比对结果。从做导游割裂的意义一次是:query名/subject名/identify/比对长度/错配数/空位数/query比对起始坐标/query比对终止坐标/subject比对起始坐标/subject比对终止坐标/期望值/比对得分

在 m8 格式中通过 subject 的比对起止位置可以判断出序列的比对方向。判断方法就是:query和subject的起始和终止坐标是否一致增减。

BLAST包含五 个程序和若干个相应的数据库,分别针对不同的查询序列和要搜索的数据库类型。其中翻译的核酸库指搜索比对时会把核酸数据按密码子按所有可能的阅读框架转换成蛋白质序列。

BLAST对序列格式的要求是常见的FASTA格式。FASTA 格式第一行是描述行,第一个字符必须是“>”字符;随后的行是序列本身,一般每行序列不要超过80个字符,回车符不会影响程序对序列连续性的看法。 序列由标准的IUB/IUPAC氨基酸和核酸代码代表;小写字符会全部转换成大写;单个“-”号代表不明长度的空位;在氨基酸序列里允许出现“U”和 “*”号;任何数字都应该被去掉或换成字母(如,不明核酸用“N”,不明氨基酸用 “X”)。此外,对于核酸序列,除了A、C、G、T、U分别代表各种核酸之外,R代表G或A(嘌呤);Y代表T或C(嘧啶);K代表G或T(带酮基);M 代表A或C(带氨基);S代表G或C(强);W代表A或T(弱);B代表G、T或C;D代表G、A或T;H代表A、C或T;V代表G、C或A;N代表A、 G、C、T中任意一种。对于氨基酸序列,除了20种常见氨基酸的标准单字符标识之外,B代表Asp或Asn;U代表硒代半胱氨酸;Z代表Glu或Gln; X代表任意氨基酸;“*”代表翻译结束标志。

BLASTp:用蛋白质序列搜索蛋白质序列库

BLASTn:用核酸序列搜索核酸库

BLASTx:核酸序列对蛋白质库的比对,核酸序列在比对之前自动按照六个读码框翻译成蛋白质序列

tBLASTn:蛋白质序列对核酸库的比对,核酸库中的序列按照六个读码框翻译后与蛋白质序列进行比对搜索

tBLASTx:核酸序列对核酸库在蛋白质质级别的比对,两者都在搜索之前翻译成为蛋白质质进行比对


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12029798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存