新浪博客

BLAT 的使用

2016-08-20 08:37阅读:
Blat,全称The BLAST-Like Alignment Tool, 可以称为“类BLAST比对工具”,由W.James Kent于2002年开发。当时随着人类基因组计划的进展,把大量的基因和ESTs快速定位到较大的基因组上称为一种迫切需要。blast相对于这种比对有几个缺陷:速度偏慢、结果难于处理、无法表示包含intron的基因定位。Blat就是再这种形势下应运而生了。
Blat的主要特点是:速度快,共线性输出结果简单易读。对于比较小的序列(如cDNA等)对大基因组的比对,blat无疑是首选。Blat把相关的呈共线性的比对结果连接成更大的比对结果,从中也可以很容易的找到exons和introns。因此,在相近物种的基因同源性分析和EST分析中,blat得到了广泛的应用。
如下图所示,blast会把每一个比对作为一个输出,而blat会把一些符合共线性关系的比对连接起来作为一个输出。
Blat的输入文件必须满足fasta格式,运行时非常的简单,不需要进行建库就可以直接比对。Blat的基本命令:
blat database query [-参数] output
程序正常运行时,会在读完database中的所有subject序列时在屏幕输出database的统计结果:
Loaded 1493629 letters in 486 sequences###486条序列中有1493629个letters
Searched 1493629 bases in 486 sequences###自己和自己比对
默认的输出结果是列表形式的文本文件,即psl格式。
psl格式的结果包含了详细的比对位置信息,每一列的意义都在文件开头列出。第1~8列是通体的比对统计,包括精确比对碱基数、错配、query和subjec
t上的gap个数与gap总长等;第9~17列是比对位置信息,包括比对方向、query和subject的名字、长度、比对起止位置;18~21列是显示每一个精确比对的block的信息,包括blocks数、每个block的长度和在query、subject上的位置。
对psl输出结果,需要注意一下几点:
1.blat的结果在subject上允许存在很大的gap(intron区域),所以同一个结果在query和subjects上覆盖的区域可能会相差很多,这一点与blast不同。
2.在基因对基因组的比对中,block的个数不能等同于exon的个数。因为blat对block的定义是一个没有插入缺失的比对,任何插入或者缺失的碱基都会使一个block终止,所以一个exon很可能是有很多block构成的。因此exon和intron的个数要通过足够大的gap来判断。
3.psl结果里面碱基位置的计算是从0开始的而不是1.

做不同类型的比对时候需要注意一个问题,就是 “-t”和“-q”的定义必须为同一类型。比如database和query都是蛋白序列,并且两者同时定义为 “prot”的时候,比对能够正常进行;如果database是DNA序列而query序列是蛋白序列,那么在定义 “-q=prot”的同时还需要定义 “-tdnax”.下面就用同一个基因的DNA和蛋白序列举几个例子。
运行命令1:
blat cdna.seq pro.seq -q=prot out.psl
程序报错退出:
d and q must both be either protein or dna
运行命令2:
blat cdna.seq pro.seq -t=dnax -q=prot -noHead out.psl
ok, right
注意蛋白比对和核酸比对在输出上的不同点,在显示方向的位置显示了2个“+”,表示query和subject都是正向比对。
运行命令3,核酸序列的蛋白级别比对:
blat cdna.seq cdna.seq -t=dnax -q=dnax -noHead out.psl

我的更多文章

下载客户端阅读体验更佳

APP专享