blat简介与格式解读

产生背景

2002年的时候,随着人类基因组项目不断推进,需要将大量ESTs(300万) 及mouse基因组的reads (130万)比对到人类基因组来进行注释,而这项任务需要在2周内完成 (90 CPU  Linux 集群),因为blast工具速度相对偏慢,结果也不易处理,无法提供intron 的信息等,因此一款新的比对软件的开发迫在眉睫。为了完成这项任务,W.James Kent(UCSC)开发了一款生物信息学软件BLAT全称为BLAST-Like Alignment Tool。blat的速度大概是blast 的500倍,且可以共线性输出结果,易解读。

大致原理

比对软件一般是分为两部分来完成的.首先是搜索阶段(search stage):搜索两个序列之间可能是同源的部分;然后是比对阶段(alignment stage):更加仔细的审视上述可能是同源的部分,对于按照一定的标准被确定是同源的部分进行比对(align)。

2.1)首先是对物种数据库(以下称为基因组)构建索引(index),形成一个索引表(index list),索引表里存放着非重叠k-mer的坐标信息( non-overlapping k-mers)

2.2)将query中的重叠kmer(overlapping k-mers)在基因组中进行搜索 ,建立序列之间存在匹配的hits列表。采用不同的搜索策略会对下游的比对计算量产生影响

2.3)在比对阶段,根据query是蛋白还是核酸会采用不用的算法进行比对。想深入了解可以看最下面文献

应用

DNA上的BLAT被设计为快速发现长度>=25个碱基,相似性>=95%的序列。 蛋白质上的BLAT将发现长度>=20个碱基,相似性>=80%的序列。

3.1)将mRNA  比对到同种基因组来预测其在基因组上的坐标;

3.2)一个物种的蛋白或者mRNA比对到另外一个同源物种的数据库( 基因组),来请确定同源区域,适用于进化不太远的物种;

3.3)可以用来做蛋白序列间的比对,但是作者并不推荐。因为利用BLASTP足够灵敏胜任,而blat相对不足;

3.4)确定基因的外显子和内含子在基因上的分布。

与blast的区别

4.1)blat是对目标数据库构建索引,然后通过查询序列(query sequence)  线性搜索;Blast是将查询序列索引化,然后线性搜索庞大的目标数据库;

4.2)blast是将搜索数据库中所有与子系列精确匹配的序列(hits),作为种子,向两个方向继续延伸(extonsion)每个精确匹配,即延伸发生在一两个相邻位置hits ;blat则可以扩展任何数目的hits(perfect or near-perfect hits)。

4.3) blast将两个序列之间的每个同源区域作为单独的比对结果返回 (often exons),BLAT将它们’’缝合''在一起形成一个大的比对 (larger alignments  ,typically genes)。blat有特殊的代码处理RNA/DNA比对过程中的内含子 。因此在RNA/DNA比对中,blast 返回的是一个包含每个exton的比对结果,而blat返回的结果是一个大的比对结果,可以给出正确的剪切位点(splice sites)。

在linux中安装及命令的运用

这里不做重点介绍,详细可参考

https://www.cnblogs.com/adawong/articles/7460300.html

http://www.mamicode.com/info-detail-107191.html

基本命令为:blat database query [-参数] output

格式解读

以数据NM_000531.5 ,U10421.1为例,在网页版中,选择参考基因组 (Feb 2009 GRCh37/hg19),默认输出排序参数为 (query, score),输出文件类型默认为 hyperlink。

  输出结果  

第一列:ACTIONS,其中点击ucsc browser可以在浏览详细图解信息,detials可以参看序列比对的详细信息

第二列:QUERY,表示query的序列名称

第三列:SCORE,得分情况,得分越高说明比对越好 。参数以score排序

第四列:START,query比对的其实位置

第五列:END,query比对结束的位置

第六列:QSIZE,表示query序列长度

第七列:IDENTITY,比对相似率

第八列:CHRO,位于哪条染色体上

第九列:STRAND,表示位于染色体的正链还是负链

第10列:START,表示位于染色体的起始位置

第11列:END,表示位于染色体的终止位置

第12列:SPAN,表示的是比对位置在染色体上的跨度。

而在linux中默认输出格式为psl格式,因为blat可以输出多种格式,因此这里就不在一一介绍。

习题

7.1)blat产生的背景是什么

7.2)blat有哪些用处?

7.3)blat和blast有哪些区别?

7.4)为什么在蛋白--蛋白比对的时候不太推荐blat?

7.5) 为什么在跨物种比对的时候,不建议进化分支太远的物种?

7.6)blat为什么速度会比blast快几百倍?

7.7)blat输入的格式是什么?

7.8)blat是如何识别基因的Exon-Intron的?

7.9)你的query确定在基因组中存在,为什么blat比对的时候没有找到?

7.10)kmer的选择如何影响blat的速率?

7.11)输出共有多少条query参与了比对

7.12)输出每个query最好的比对信息

7.13)计算每个query中最长的比对长度

7.14)输出每个query中位于负链上比对最好的信息

7.15)输出每个query在染色体上跨度最大的信息

7.16) 输出所有query在1号染色体中比对最好的信息

7.17)输出所有query在1号染色体中位于负链上比对最好的信息

7.18) 输出query比对最长,且在染色体上跨度最大的信息

7.19) 在detail中如何判断mRNA对应有几个外显子

7.20)在detail中查找外显子的序列信息

参考资源

  • Systematic identification of novel protein domain families associated with nuclear functions

  • Using BLAT to find sequence similarity in closely related genomes

  • https://www.cnblogs.com/adawong/articles/7460300.html

  • http://genome.ucsc.edu/FAQ/FAQblat.html

  • https://baike.baidu.com/item/blat/2088564

  • https://en.wikipedia.org/wiki/BLAT_(bioinformatics)

(0)

相关推荐