生物序列的相似性搜索-blast简介及其应用2内容提要1.基本概念相似性,同源性2.Blast介绍Blast资源和相关问题3.Blast的应用网络版单机版4.深入了解Blast(改进程序,算法基础)5.其他的序列相似性搜索工具(fasta)3生物序列的相似性相似性:是指一种很直接的数量关系,比如部分相同或相似的百分比或其它一些合适的度量。比如说,A序列和B序列的相似性是80%,或者4/5。这是个量化的关系。当然可进行自身局部比较。4同源性:指从一些数据中推断出的两个基因或蛋白质序列具而共同祖先的结论,属于质的判断。就是说A和B的关系上,只有是同源序列,或者非同源序列两种关系。而说A和B的同源性为80%都是不科学的。生物序列的同源性5相似性和同源性关系序列的相似性和序列的同源性有一定的关系,一般来说序列间的相似性越高的话,它们是同源序列的可能性就更高,所以经常可以通过序列的相似性来推测序列是否同源。正因为存在这样的关系,很多时候对序列的相似性和同源性就没有做很明显的区分,造成经常等价混用两个名词。所以有出现A序列和B序列的同源性为80%一说。6序列相似性比较和序列同源性分析序列相似性比较:就是将待研究序列与DNA或蛋白质序列库进行比较,用于确定该序列的生物属性,也就是找出与此序列相似的已知序列是什么。完成这一工作只需要使用两两序列比较算法。常用的程序包有BLAST、FASTA等;序列同源性分析:是将待研究序列加入到一组与之同源,但来自不同物种的序列中进行多序列同时比较,以确定该序列与其它序列间的同源性大小。这是理论分析方法中最关键的一步。完成这一工作必须使用多序列比较算法。常用的程序包有CLUSTAL等;7Blast简介(一)BLAST是由美国国立生物技术信息中心(NCBI)开发的一个基于序列相似性的数据库搜索程序。BLAST是“局部相似性基本查询工具”(BasicLocalAlignmentSearchTool)的缩写。8Blast是一个序列相似性搜索的程序包,其中包含了很多个独立的程序,这些程序是根据查询的对象和数据库的不同来定义的。比如说查询的序列为核酸,查询数据库亦为核酸序列数据库,那么就应该选择blastn程序。下表列出了主要的blast程序。Blast简介(二)9主要的blast程序程序名查询序列数据库搜索方法Blastn核酸核酸核酸序列搜索逐一核酸数据库中的序列Blastp蛋白质蛋白质蛋白质序列搜索逐一蛋白质数据库中的序列Blastx核酸蛋白质核酸序列6框翻译成蛋白质序列后和蛋白质数据库中的序列逐一搜索。Tblastn蛋白质核酸蛋白质序列和核酸数据库中的核酸序列6框翻译后的蛋白质序列逐一比对。TBlastx核酸核酸核酸序列6框翻译成蛋白质序列,再和核酸数据库中的核酸序列6框翻译成的蛋白质序列逐一进行比对。10Blast相关的问题怎么获得blast服务,怎么使用的问题?为什么使用blast,可以获得什么样的信息?其他问题:实际使用时选择哪种方式(网络,本地化),参数的选择,结果的解释…11Blast资源1.NCBI主站点:(网络版)(单机版)2.其他站点:://nema.cap.ed.ac.uk/ncbi_blast.html(果蝇)…12Blast结果给出的信息Blast结果会列出跟查询序列相似性比较高,符合限定要求的序列结果,根据这些结果可以获取以下一些信息。1.查询序列可能具有某种功能2.查询序列可能是来源于某个物种3.查询序列可能是某种功能基因的同源基因…这些信息都可以应用到后续分析中。13两种版本的Blast比较(一)网络版本包括NCBI在内的很多网站都提供了在线的blast服务,这也是我们最经常用到的blast服务。网络版本的blast服务就有方便,容易操作,数据库同步更新等优点。但是缺点是不利于操作大批量的数据,同时也不能自己定义搜索的数据库。14单机版单机版的blast可以通过NCBI的ftp站点获得,有适合不同平台的版本(包括linux,dos等)。获得程序的同时必须获取相应的数据库才能在本地进行blast分析。单机版的优点是可以处理大批的数据,可以自己定义数据库,但是需要耗费本地机的大量资源,此外操作也没有网络版直观、方便,需要一定的计算机操作水平。两种版本的Blast比较(二)15NCBI提供的Blast服务登陆ncbi的blast主页核酸序列蛋白序列翻译序列底下有其他一些针对特殊数据库的和查看以往的比对结果等16Blast任务提交表单(一)1.序列信息部分填入查询(query)的序列序列范围(默认全部)选择搜索数据库如果接受其他参数默认设置,点击开始搜索17Blast任务提交表单(二)设置搜索的范围,entrez关键词,或者选择特定物种2.设置各种参数部分一些过滤选项,包括简单重复序列,人类基因组中的重复序列等E值上限窗口大小如果你对blast的命令行选项熟悉的话,可以在这里加入更多的参数18Blast任务提交表单(三)3.设置结果输出显示格式选择需要显示的选项以及显示的文件格式显示数目Alignment的显示方式筛选结果E值范围其他一些显示格式参数点击开始搜索19提交任务返回查询号(requestid)可以修改显示结果格式修改完显示格式后点击进入结果界面20结果页面(一)图形示意结果21结果页面(二)目标序列描述部分带有genbank的链接,点击可以进入相应的genbank序列匹配情况,分值,e值22结果页面(三)详细的比对上的序列的排列情况23一个具体的例子(blastp)假设以下为一未知蛋白序列query_seqMSDNGPQSNQRSAPRITFGGPTDSTDNNQNGGRNGARPKQRRPQGLPNNTASWFTALTQHGKEELRFPRGQGVPINTNSGPDDQIGYYRRATRRVRGGDGKMKELSPRWYFYYLGTGPEASLPYGANKEGIVWVATEGALNTPKDHIGTRNPNNNAATVLQLPQGTTLPKGFYAEGSRGGSQASSRSSSRSRGNSRNSTPGSSRGNSPARMASGGGETALALLLLDRLNQLESKVSGKGQQQQGQTVTKKSAAEASKKPRQKRTATKQYNVTQAFGRRGPEQTQGNFGDQDLIRQGTDYKHWPQIAQFAPSASAFFGMSRIGMEVTPSGTWLTYHGAIKLDDKDPQFKDNVILLNKHIDAYKTFPPTEPKKDKKKKTDEAQPLPQRQKKQPTVTLLPAADMDDFSRQLQNSMSGASADSTQA我们通过blast搜索来获取一些这个序列的信息。24具体步骤1.登陆blast主页根据数据类型,选择合适的程序3.填写表单信息4.提交任务5.查看和分析结果25分析过程(一)1.登陆ncbi的blast主页2.选择程序,因为查询序列是蛋白序列可以选择blastp,点击进入也可以选择tblastn作为演示,我们这里选blastp26分析过程(二)3.填入序列(copy+paste)Fasta格式,或者纯序列4.选择搜索区域,这里我们要搜索整个序列,不填5.选择搜索数据库,这里我们选nr(非冗余的蛋白序列库)。是否搜索保守区域数据库(cdd),蛋白序列搜索才有。我们选上27分析过程(三)6.限制条件,我们限制在病毒里面找。7.其他选项保持默认值打分矩阵28分析过程(四)8.输出格式选项保持默认值9.点击开始搜索29分析过程(五)10.查询序列的一些相关信息在cdd库里面找到两个保守区域,点击可以进入30分析过程(六)图形结果31分析过程(七)匹配序列列表32分析过程(八)具体匹配情况33为什么使用单机版的Blast?1.特殊的数据库要求。2.涉及序列的隐私与价值。3.批量处理4.其他原因??单机版的Blast使用(一)34单机版Blast的基本操作过程1.下载单机版的Blast程序目录下,下载对应的操作系统版本。2.解压程序包(blast.tar.gz)命令是:$tarzxvfblast.tar.gz单机版的Blast使用(二)353.获取Blast数据库a.直接从ncbi下载用Blast程序包提供的formatdb工具自己格式化序列数据成数据库。假设有一序列数据(sequence.fa,多序列,fasta格式),欲自己做成Blast数据库,典型的命令如下:单机版的Blast使用(三)36核酸序列:$./formatdb–isequence.fa–pF–oT/F–ndb_name蛋白序列:$./formatdb–isequence.fa–pT–oT/F–ndb_name单机版的Blast使用(四)374.执行Blast比对获得了单机版的Blast程序,解压开以后,如果有了相应的数据库(db),那么就可以开始执行Blast分析了。单机版的Blast程序包,把基本的blast分析,包括blastn,blastp,blastx等都整合到了blastall一个程序里面。单机版的Blast使用(五)38以下是一个典型的blastn分析命令:(待分析序列seq.fa,数据库nt_db)$./blastall–pblastn–iseq.fa-dnt_db–w7–e10–o程序名输入数据库窗口e值输出seq.blastn.out该命令的意思是,对seq.fa文件中的核酸序列对nt_db数据库执行blastn搜索,窗口大小是7,e值限制是10,输出的结果保存到文件seq.blastn.out中。单机版的Blast使用(六)395.Blastall的常用参数-p程序名应该是blastn,blastp,blastx,tblastn,tblastx中的一个-d数据库名称,默认nr-i查询序列文件,默认stdin-eE值限制,默认10-o结果输出文件,默认stdout-F过滤选项,默认T单机版的Blast使用(七)40进一步深入Blast1.blast22.Megablast3.Psi-blast4.其他(rpsblast,blastclust等)41Blast2两个序列的blast比对,给定两个序列,相互进行blast比对。能快速检查两个序列是否存在相似性片断或者是否一致。这比起全序列比对要快很多。42Megablastmegablast采用了贪婪算法(greedyalgorithm),它连接了多个查询序列进行一次搜索比对,这样节省了很多搜索数据库的时间。主要针对核酸序列。是blast经过优化后,适用于由于测序或者其他原因形成的轻微的差别的序列之间的比较,比一般的相似性搜索程序要快10倍,可以很快的完成两组大数据的比对。43PSI-blastPositionspecificiterativeBLAST(PSI-BLAST)位点特异的迭代blast搜索,主要针对蛋白序列。第一次blast搜索后,结果中最相似的序列重新构建PSSM(位点特异性打分矩阵),然后再使用该矩阵进行第二轮blast搜索,再调整矩阵,搜索,如此迭代。最终高度保守的区域就会得到比较高的分值,而不保守的区域则分数降低,趋近0。这样可以提高blast搜索的灵敏度。44Blast的算法基础基本思想是:通过产生数量更少的但质量更好的增强点来提高速度。BLAST算法是建立在严格的统计学的基础之上的。它集中于发现具有较高的相似性的局部比对,且局部比对中不能含有空位(blast2.0引入了允许插入gap