《生物序列的相似性搜索-blast简介及其应.ppt》由会员分享,可在线阅读,更多相关《生物序列的相似性搜索-blast简介及其应.ppt(73页珍藏版)》请在三一办公上搜索。
1、生物序列的相似性搜索 blast简介及其应用,2010年6月科教信息科,2,序列数据的保存格式与相关数据库资源在数据库中进行序列相似性搜索多序列比对进化树构建与分子进化分析Motif的寻找与序列的模式识别RNA二级结构,蛋白质二、三级结构的预测基因芯片的数据分析,生物信息学常见的应用与软件,3,内容提要,1.基本概念 相似性,同源性2.Blast介绍 Blast资源和相关问题3.Blast的应用 网络版,单机版4.深入了解Blast(改进程序,算法基础)5.其他的序列相似性搜索工具(fasta),4,生物序列的相似性,相似性(similarity):是指一种很直接的数量关系,比如部分相同或相似
2、的百分比或其它一些合适的度量。比如说,A序列和B序列的相似性是80,或者4/5。这是个量化的关系。当然可进行自身局部比较。,5,同源性(homology):指从一些数据中推断出的两个基因或蛋白质序列具而共同祖先的结论,属于质的判断。就是说A和B的关系上,只有是同源序列,或者非同源序列两种关系。而说A和B的同源性为80都是不科学的。,生物序列的同源性,6,相似性和同源性关系,序列的相似性和序列的同源性有一定的关系,一般来说序列间的相似性越高的话,它们是同源序列的可能性就更高,所以经常可以通过序列的相似性来推测序列是否同源。正因为存在这样的关系,很多时候对序列的相似性和同源性就没有做很明显的区分,
3、造成经常等价混用两个名词。所以有出现A序列和B序列的同源性为80一说。,7,序列相似性比较和序列同源性分析,序列相似性比较:就是将待研究序列与DNA或蛋白质序列库进行比较,用于确定该序列的生物属性,也就是找出与此序列相似的已知序列是什么。完成这一工作只需要使用两两序列比较算法。常用的程序包有BLAST、FASTA等;序列同源性分析:是将待研究序列加入到一组与之同源,但来自不同物种的序列中进行多序列同时比较,以确定该序列与其它序列间的同源性大小。这是理论分析方法中最关键的一步。完成这一工作必须使用多序列比较算法。常用的程序包有CLUSTAL等;,8,Blast简介(一),BLAST 是由美国国立
4、生物技术信息中心(NCBI)开发的一个基于序列相似性的数据库搜索程序。BLAST是“局部相似性基本查询工具”(Basic Local Alignment Search Tool)的 缩写。,9,Blast 是一个序列相似性搜索的程序包,其中包含了很多个独立的程序,这些程序是根据查询的对象和数据库的不同来定义的。比如说查询的序列为核酸,查询数据库亦为核酸序列数据库,那么就应该选择blastn程序。下表列出了主要的blast程序。,Blast简介(二),10,主要的blast程序,11,Blast相关的问题,怎么获得blast服务,怎么使用的问题?为什么使用blast,可以获得什么样的信息?其他问
5、题:实际使用时选择哪种方式(网络,本地化),参数的选择,结果的解释,12,Blast资源,1.NCBI主站点:(网络版)(单机版)2.其他站点:http:/blast/(果蝇),13,Blast结果给出的信息,Blast结果会列出跟查询序列相似性比较高,符合限定要求的序列结果,根据这些结果可以获取以下一些信息。1.查询序列可能具有某种功能2.查询序列可能是来源于某个物种3.查询序列可能是某种功能基因的同源基因这些信息都可以应用到后续分析中。,14,两种版本的Blast比较(一),网络版本 包括NCBI在内的很多网站都提供了在线的blast服务,这也是我们最经常用到的blast服务。网络版本的b
6、last服务就有方便,容易操作,数据库同步更新等优点。但是缺点是不利于操作大批量的数据,同时也不能自己定义搜索的数据库。,15,单机版 单机版的blast可以通过NCBI的ftp站点获得,有适合不同平台的版本(包括linux,dos等)。获得程序的同时必须获取相应的数据库才能在本地进行blast分析。单机版的优点是可以处理大批的数据,可以自己定义数据库,但是需要耗费本地机的大量资源,此外操作也没有网络版直观、方便,需要一定的计算机操作水平。,两种版本的Blast比较(二),16,本地WEB版的Blast,在NCBI的FTP上,在blast程序的目录下,还提供了一种供用户在自己的服务器上建立Bl
7、ast网页服务的软件包(wwwblast)。使用该软件包,用户可以建立一个简易的进行Blast运算的网站供实验室人员使用。用于搜索的数据库同样可以灵活的定义。,17,Blast程序评价序列相似性的两个数据,Score:使用打分矩阵对匹配的片段进行打分,这是对各对氨基酸残基(或碱基)打分求和的结果,一般来说,匹配片段越长、相似性越高则Score值越大。E value:在相同长度的情况下,两个氨基酸残基(或碱基)随机排列的序列进行打分,得到上述Score值的概率的大小。E值越小表示随机情况下得到该Score值的可能性越低。,18,NCBI提供的Blast服务,登陆ncbi的blast主页,核酸序列
8、,蛋白序列,翻译序列,底下有其他一些针对特殊数据库的和查看以往的比对结果等,19,Blast任务提交表单(一),1.序列信息部分,填入查询(query)的序列,序列范围(默认全部),选择搜索数据库,如果接受其他参数默认设置,点击开始搜索,20,Blast任务提交表单(二),设置搜索的范围,entrez关键词,或者选择特定物种,2.设置各种参数部分,一些过滤选项,包括简单重复序列,人类基因组中的重复序列等,E值上限,窗口大小,如果你对blast的命令行选项熟悉的话,可以在这里加入更多的参数,21,Blast任务提交表单(三),3.设置结果输出显示格式,选择需要显示的选项以及显示的文件格式,显示数
9、目,Alignment的显示方式,筛选结果,E值范围,其他一些显示格式参数,点击开始搜索,22,提交任务,返回查询号(request id),可以修改显示结果格式,修改完显示格式后点击进入结果界面,23,结果页面(一),图形示意结果,24,结果页面(二),目标序列描述部分,带有genbank的链接,点击可以进入相应的genbank序列,匹配情况,分值,e值,25,结果页面(三),详细的比对上的序列的排列情况,26,一个具体的例子(blastp),假设以下为一未知蛋白序列query_seq MSDNGPQSNQRSAPRITFGGPTDSTDNNQNGGRNGARPKQRRPQGLPNNTASW
10、FTALTQHGKEELRFPRGQGVPINTNSGPDDQIGYYRRATRRVRGGDGKMKELSPRWYFYYLGTGPEASLPYGANKEGIVWVATEGALNTPKDHIGTRNPNNNAATVLQLPQGTTLPKGFYAEGSRGGSQASSRSSSRSRGNSRNSTPGSSRGNSPARMASGGGETALALLLLDRLNQLESKVSGKGQQQQGQTVTKKSAAEASKKPRQKRTATKQYNVTQAFGRRGPEQTQGNFGDQDLIRQGTDYKHWPQIAQFAPSASAFFGMSRIGMEVTPSGTWLTYHGAIKLDDKDPQFKDNVIL
11、LNKHIDAYKTFPPTEPKKDKKKKTDEAQPLPQRQKKQPTVTLLPAADMDDFSRQLQNSMSGASADST QA 我们通过blast搜索来获取一些这个序列的信息。,27,具体步骤,1.登陆blast主页 2.根据数据类型,选择合适的程序3.填写表单信息4.提交任务5.查看和分析结果,28,分析过程(一),1.登陆ncbi的blast主页,2.选择程序,因为查询序列是蛋白序列可以选择blastp,点击进入,也可以选择tblastn,作为演示,我们这里选blastp,29,分析过程(二),3.填入序列(copypaste)Fasta格式,或者纯序列,4.选择搜索区域,这
12、里我们要搜索整个序列,不填,5.选择搜索数据库,这里我们选nr(非冗余的蛋白序列库)。,是否搜索保守区域数据库(cdd),蛋白序列搜索才有。我们选上,30,分析过程(三),6.限制条件,我们限制在病毒里面找。,7.其他选项保持默认值,打分矩阵,31,分析过程(四),8.输出格式选项保持默认值,9.点击开始搜索,32,分析过程(五),10.查询序列的一些相关信息,在cdd库里面找到两个保守区域,点击可以进入,33,分析过程(六),图形结果,34,分析过程(七),匹配序列列表,35,分析过程(八),具体匹配情况,36,为什么使用单机版的Blast?1.特殊的数据库要求。2.涉及序列的隐私与价值。3
13、.批量处理4.其他原因?,单机版的Blast使用(一),37,单机版Blast的基本操作过程1.下载单机版的Blast程序目录下,下载对应的操作系统版本。2.解压程序包(blast-2.28-ia32-linux.tar.gz)命令是:$tar zxvf blast-2.28-ia32-linux.tar.gz,单机版的Blast使用(二),38,下载正确的Blast程序包,blast:在本地运行的blast程序包wwwblast:在本地服务器建立blast服务的网站netblast:blast的客户端程序,直接链接至NCBI的BLAST服务器,使用BLAST服务,不需浏览器。,39,下载正确
14、的Blast程序包,Blast程序包的名字上还包括了该程序包运行的硬件和操作系统环境:,硬件环境(CPU),操作系统,sparc,powerPC,ia32,ia64,amd64,mips,alpha,linux,macox,solaris,irix,aix,freebsd,win32,hpux,40,3.获取Blast数据库a.直接从ncbi下载b.用Blast程序包提供的formatdb工具自己格式化序列数据成数据库。假设有一序列数据(sequence.fa,多序列,fasta格式),欲自己做成Blast数据库,典型的命令如下:,单机版的Blast使用(三),41,核酸序列:$./forma
15、tdb i sequence.fa p F o T/F n db_name蛋白序列:$./formatdb i sequence.fa p T o T/F n db_name,单机版的Blast使用(四),42,4.执行Blast比对获得了单机版的Blast程序,解压开以后,如果有了相应的数据库(db),那么就可以开始执行Blast分析了。单机版的Blast程序包,把基本的blast分析,包括blastn,blastp,blastx等都整合到了blastall一个程序里面。,单机版的Blast使用(五),43,以下是一个典型的blastn分析命令:(待分析序列seq.fa,数据库nt_db)$
16、./blastall p blastn i seq.fa-d nt_db w 7 e 10 o 程序名 输入 数据库 窗口 e值 输出 该命令的意思是,对seq.fa文件中的核酸序列对nt_db数据库执行blastn搜索,窗口大小是7,e值限制是10,输出的结果保存到文件 中。,单机版的Blast使用(六),44,5.Blastall的常用参数-p 程序名应该是blastn,blastp,blastx,tblastn,tblastx中的一个-d 数据库名称,默认nr-i 查询序列文件,默认stdin-e E值限制,默认10-o 结果输出文件,默认stdout-F 过滤选项,默认T-a 选择进行
17、运算的CPU个数,单机版的Blast使用(七),45,进一步深入Blast,1.blast22.Megablast3.Psi-blast4.其他(rpsblast,blastclust等),46,Blast2,两个序列的blast比对,给定两个序列,相互进行blast比对。能快速检查两个序列是否存在相似性片断或者是否一致。这比起全序列比对要快很多。,47,Megablast,megablast采用了贪婪算法(greedy algorithm),它连接了多个查询序列进行一次搜索比对,这样节省了很多搜索数据库的时间。主要针对核酸序列。是blast经过优化后,适用于由于测序或者其他原因形成的轻微的差
18、别的序列之间的比较,比一般的相似性搜索程序要快10倍,可以很快的完成两组大数据的比对。,48,PSI-blast,Position specific iterative BLAST(PSI-BLAST)位点特异的迭代blast搜索,主要针对蛋白序列。第一次blast搜索后,结果中最相似的序列重新构建PSSM(位点特异性打分矩阵),然后再使用该矩阵进行第二轮blast搜索,再调整矩阵,搜索,如此迭代。最终高度保守的区域就会得到比较高的分值,而不保守的区域则分数降低,趋近0。这样可以提高blast搜索的灵敏度。,49,Blast的算法基础,基本思想是:通过产生数量更少的但质量更好的增强点来提高速度
19、。BALST算法是建立在严格的统计学的基础之上的。它集中于发现具有较高的相似性的局部比对,且局部比对中不能含有空位(blast2.0引入了允许插入gap的算法)。由于局部比对的限制条件,在大多数情况下比对会被分解为若干个明显的HSP(High-score Sequence Pairs)。,50,Blast的算法流程,51,首先确定一个终止值S、步长参数w和一个阈值T。然后软件会在考虑搜索背景性质的基础上计算出合适的S值。使要比对的序列中包含一个分值不小于S的HSP。,Blast的算法(一),52,Blast的算法(二),2.引入邻近字串的思想:不需要字串确切地匹配,当有一个字串的分值高于T时,
20、BALST就宣称找到了一个选中的字串。为了提高速度,允许较长的字串长度W。W值很少变化,这样,T值就成为权衡速度和敏感度的参数。,53,Blast的算法(三),一个字串选中后,程序会进行没有空位的局部寻优,比对的最低分值是S,当比对延伸时会遇到一些负的分值,使得比对的分值下降,当下降的分值小于S时,命中的延伸就会终止。这样系统会减少消耗于毫无指望的选中延伸的时间,使系统的性能得以改进。,54,在1997年提出了对BLAST程序的改进算法,提高了搜索速度、敏感度和实用性。可处理间隔(gap)的gapped BLAST算法PSI-BLAST算法对一个选中字串长度标准的延伸 利用profile(表头
21、文件)的数据结构来进行搜索,Blast的改进(一),55,以两个步长各为w的字串开始搜索。若两个字窜在序列上不重叠,并且位于同一对角线上,并且距离在A之内,则将这两个字串联起来作为搜索的起点。执行通常的BLAST算法,使用一种不同的记分方式,根据高度显著比对(HSPs)的最高分值建立一个最初的profile。,Blast的改进(二),56,根据该profile反复利用BLAST算法对数据库进行搜索,这一步实际上是根据表头文件的统计结果扩展局部比对。这一过程是反复进行的,直到再没有发现新的有意义的匹配为止。由于在每一轮都会有新的片段加入,因此在操作过程中profile需要在每一个循环结束之后更新
22、。,Blast的改进(三),57,58,数据库搜索工具的sensitivity与selectivity,Sensitivity:尽可能多地搜索到具有一定相似性的序列的能力。Selectivity:尽可能准确地搜索到对研究目的有用的相似性的序列的能力。,59,其他的序列相似性搜索工具 fasta,FastA算法是由Lipman和Pearson于1985年发表的(Lipman和Pearson,1985)。FastA的基本思路是识别与代查序列相匹配的很短的序列片段,称为k-tuple。以下链接是EBI提供的fasta服务。,60,帮助信息,各个参数选项,填入搜索序列,61,基本思想是:一个能够揭示出
23、真实的序列关系的比对至少包含一个两个序列都拥有的字(片断),把查询序列中的所用字编成索引,然后在数据库搜索时查询这些索引,以检索出可能的匹配,这样那些命中的字很快被鉴定出来。,FASTA算法基础,62,确定参数ktup,在两个序列中查找长度为ktup的、相匹配的片段(增强点)。为了提高速度,可以通过查询表格或hash表来完成,然后在表格中搜索与另一条序列相匹配的、长度为ktup的片段。,FASTA算法(一),63,2.在同一条对角线中临近的增强点成为一个增强段。每一个增强点都赋予一个正的分值,一个增强段中相邻的两个增强点之间的不匹配区域赋予一定的负值。一个增强段对应于一段相匹配的子序列,分值最
24、高的段被标记为init1。,FASTA算法(二),64,引入indel。把那些没有重叠(non-overlap)的增强段拼接起来(增强段的分值之和减去空位处罚)。分值最高的区域记为initn。,FASTA算法(三),65,4.对最有可能的匹配序列进一步评分:以增强段init1所在的对角线为中心,划分出一个较狭窄的对角线带,利用S-W算法,来获得分值最高的局部比对,记作opt。,FASTA算法(四),66,决定采用initn或opt的分值,前者敏感度低但速度快。FASTA对每一个检索到的比对都提供一个统计学显著性的评估,以判断该比对的意义。,FASTA算法(五),67,68,注意,FASTA对D
25、NA序列搜索的结果要比对蛋白质序列搜索的结果更敏感。它对数据库的每一次搜索都只有一个最佳的比对,一些有意义的比对可能被错过。,69,两个保守区域的信息返回,70,Dot matrix分析,71,用Dot matrix分析基因中的重复序列,72,使用Dotter在斑马鱼序列的contig中定位ddah基因的位置,73,A dot-matrix program with dynamic threshold control suited for genomic DNA and protein sequence analysisErik L.L.Sonnhammer and Richard DurbinGene 167(2):GC1-10(1995),http:/,