1)  产生背景
---------------------------------------------------
2002年的时候,随着人类基因组项目不断推进,需要将大量ESTs(300万)
及mouse基因组的reads (130万)比对到人类基因组来进行注释,而这项任务需要在2周内完成 (90 CPU  Linux
集群),因为blast工具速度相对偏慢,结果也不易处理,无法提供intron
的信息等,因此一款新的比对软件的开发迫在眉睫。为了完成这项任务,W.James
Kent(UCSC)开发了一款生物信息学软件BLAT全称为BLAST-Like Alignment Tool。blat的速度大概是blast
的500倍,且可以共线性输出结果,易解读。
2)大致原理
---------------------------------------------------
比对软件一般是分为两部分来完成的.首先是搜索阶段(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是蛋白还是核酸会采用不用的算法进行比对。想深入了解可以看最下面文献  
                                                                                                                      
3) 应用
--------------------------------------------------

DNA上的BLAT被设计为快速发现长度>=25个碱基,相似性>=95%的序列。 蛋白质上的BLAT将发现长度>=20个碱基,相似性>=80%的序列。
3.1)将mRNA 
比对到同种基因组来预测其在基因组上的坐标3.2)一个物种的蛋白或者mRNA比对到另外一个同源物种的数据库(
基因组),来请确定同源区域,适用于进化不太远的物种。3.3)可以用来做蛋白序列间的比对,但是作者并不推荐。因为利用BLASTP足够灵敏胜任,而blat相对不足。
3.4)确定基因的外显子和内含子在基因上的分布
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)。
5)  在linux中安装及命令的运用
---------------------------------------------------
这里不做重点介绍,详细可参考
https://www.cnblogs.com/adawong/articles/7460300.html
http://www.mamicode.com/info-detail-107191.html
基本命令为:blat database query [-参数] output
6)  格式解读(默认格式为例,M8格式会在blast结果中介绍)

---------------------------------------------------
以数据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) 习题(因为可以输出多种格式,我们以上述结果格式为例)
---------------------------------------------------
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中查找外显子的序列信息

8)参考资源:
---------------------------------------------------

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)

blat的更多相关文章

  1. linux_x86_64 blat安装

    blatSrc35.zip下载地址:http://users.soe.ucsc.edu/~kent/src/ 对于下载好的源代码安装包blatSrc35.zip,需进行编译,安装过程如下: 1.用un ...

  2. 批处理协同blat自动发邮件

    Blat - A Windows (32 & 64 bit) command line SMTP mailer. Use it to automatically eMail logs, the ...

  3. Windows下才有blat进行命令行邮件发送

    1.先下载blat.exe文件,下载地址: https://sourceforge.net/projects/blat/files/ 2.解压后只需要blat.exe即可,进入此文件夹,运行如下脚本进 ...

  4. MFC之使用blat发送邮件

    blat的下载地址:http://www.blat.net 我用它进行了smtp服务的邮件发送.这里我使用的qq邮箱,qq邮箱使用的密码是授权码,可以再qq邮箱设置里面开启smtp服务.下载下来是文件 ...

  5. 【算法】(查找你附近的人) GeoHash核心原理解析及代码实现

    本文地址 原文地址 分享提纲: 0. 引子 1. 感性认识GeoHash 2. GeoHash算法的步骤 3. GeoHash Base32编码长度与精度 4. GeoHash算法 5. 使用注意点( ...

  6. 生物信息大数据&数据库(NCBI、EBI、UCSC、TCGA)

    想系统的学习生信数据库可以先看一下北大的公开课,有一章专门讲的数据库与软件: -生物信息学:导论与方法 北大\ 生物信息数据库及软件资源 一个优秀的生信开发者能够解决如下问题: 如何鉴定一个重要的且没 ...

  7. 安装生物信息学软件-bowtie2

    好吧,这是本周(2016.10.21-28)的学习任务之一:安装bowtie2并学习其使用方法&参数设置 所以,啃文档咯,官方文档Version 2.2.9 http://bowtie-bio ...

  8. geohash算法原理及实现方式

    1.geohash特点 2.geohash原理 3.geohash的php .python.java.C#实现代码 4.观点讨论 w微博:http://weibo.com/dxl0321 geohas ...

  9. GATK-BWA-MEM handle GRCh38 alternate contig mappings

    1. For the Impatient # Download bwakit (or from <http://sourceforge.net/projects/bio-bwa/files/bw ...

随机推荐

  1. Django url反向解析与路由分发名称空间

    url反向解析 url.py from django.conf.urls import url from django.contrib import admin from app01 import v ...

  2. JVM内存监视手段和内存溢出解决方案

    引言 本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性.概念性的了 ...

  3. img atl和a title

    今天发现一个有趣的现象.   <a href="#" title="a"><img src="xxx.jpg" alt=& ...

  4. [UE4]创建多把枪,使用Class,参数的对象类型

    先来说说函数输入参数的区别: 1.Object Reference 2.Class Reference 会出现可以让你选择一个类 3.Soft Object Reference 4.Soft Clas ...

  5. [UE4]多播代理

    1. 第一种 DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FReceiveDelegateEvent, FString, Value1, FString, ...

  6. Ubuntu登录系统失败的解决方案

    问题一: 只能用guest用户登录下,如何切换成普通用户登录 解决: 重启,同时按Esc建,直至进入到恢复模式下: 选择第一项,进入: 找到ro...那一行,把ro之后的删除,并把ro修改为rw si ...

  7. Tornado 框架的使用

    Tornado tornado是一个轻量级python的web框架,他是非阻塞式的,而且速度非常快.得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着 ...

  8. bravado哺乳内衣适合试穿体验,分享给需要买哺乳内衣的妈妈们。

    看来看去还是觉得在美德乐天猫旗舰店(www.bravadobravado.com)购买最保险. 这款内衣穿起来非常舒服,感觉一点都不勒,而且面料也很透气,我生宝宝之前怀孕的时候穿80C,这个本来一开始 ...

  9. docker容器修改时区(java应用log信息与标准容器时间有八个小时时间差)

    在docker容器中运行的java应用打出的日志时间和通过date -R方式获取的容器标准时间有八个小时时间差- 因为docker容器的原生时区为0时区,为了和国内时区保持一致,需要把容器时区调为东八 ...

  10. css基础示例代码

    选择器 引入方式 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...