790 likes | 1.87k Views
生物序列的相似性搜索 - blast 简介及其应用. 2005 年 3 月. 生物信息学常见的应用与软件. 序列数据的保存格式与相关数据库资源 在数据库中进行序列相似性搜索 多序列比对 进化树构建与分子进化分析 Motif 的寻找与序列的模式识别 RNA 二级结构,蛋白质二、三级结构的预测 基因芯片的数据分析. 内容提要. 1. 基本概念 相似性,同源性 2.Blast 介绍 Blast 资源和相关问题 3.Blast 的应用 网络版,单机版 4. 深入了解 Blast( 改进程序,算法基础 )
E N D
生物序列的相似性搜索-blast简介及其应用 2005年3月
生物信息学常见的应用与软件 • 序列数据的保存格式与相关数据库资源 • 在数据库中进行序列相似性搜索 • 多序列比对 • 进化树构建与分子进化分析 • Motif的寻找与序列的模式识别 • RNA二级结构,蛋白质二、三级结构的预测 • 基因芯片的数据分析
内容提要 1.基本概念 相似性,同源性 2.Blast介绍 Blast资源和相关问题 3.Blast的应用 网络版,单机版 4.深入了解Blast(改进程序,算法基础) 5.其他的序列相似性搜索工具(fasta)
生物序列的相似性 相似性(similarity): 是指一种很直接的数量关系,比如部分相同或相似的百分比或其它一些合适的度量。比如说,A序列和B序列的相似性是80%,或者4/5。这是个量化的关系。当然可进行自身局部比较。
生物序列的同源性 同源性(homology): 指从一些数据中推断出的两个基因或蛋白质序列具而共同祖先的结论,属于质的判断。就是说A和B的关系上,只有是同源序列,或者非同源序列两种关系。而说A和B的同源性为80%都是不科学的。
相似性和同源性关系 序列的相似性和序列的同源性有一定的关系,一般来说序列间的相似性越高的话,它们是同源序列的可能性就更高,所以经常可以通过序列的相似性来推测序列是否同源。 正因为存在这样的关系,很多时候对序列的相似性和同源性就没有做很明显的区分,造成经常等价混用两个名词。所以有出现A序列和B序列的同源性为80%一说。
序列相似性比较和序列同源性分析 序列相似性比较: 就是将待研究序列与DNA或蛋白质序列库进行比较,用于确定该序列的生物属性,也就是找出与此序列相似的已知序列是什么。完成这一工作只需要使用两两序列比较算法。常用的程序包有BLAST、FASTA等; 序列同源性分析: 是将待研究序列加入到一组与之同源,但来自不同物种的序列中进行多序列同时比较,以确定该序列与其它序列间的同源性大小。这是理论分析方法中最关键的一步。完成这一工作必须使用多序列比较算法。常用的程序包有CLUSTAL等;
Blast简介(一) BLAST 是由美国国立生物技术信息中心(NCBI) 开发的一个基于序列相似性的数据库搜索程序。 BLAST是“局部相似性基本查询工具”(Basic Local Alignment Search Tool)的 缩写。
Blast简介(二) Blast 是一个序列相似性搜索的程序包,其中包含了很多个独立的程序,这些程序是根据查询的对象和数据库的不同来定义的。比如说查询的序列为核酸,查询数据库亦为核酸序列数据库,那么就应该选择blastn程序。 下表列出了主要的blast程序。
Blast相关的问题 • 怎么获得blast服务,怎么使用的问题? • 为什么使用blast,可以获得什么样的信息? • 其他问题:实际使用时选择哪种方式(网络,本地化),参数的选择,结果的解释…
Blast资源 1.NCBI主站点: http://www.ncbi.nlm.nih.gov/BLAST/(网络版) ftp://ftp.ncbi.nlm.nih.gov/blast/ (单机版) 2.其他站点: http://life.zsu.edu.cn/blast/ http://nema.cap.ed.ac.uk/ncbi_blast.html http://www.fruitfly.org/blast/(果蝇) …
Blast结果给出的信息 Blast结果会列出跟查询序列相似性比较高,符合限定要求的序列结果,根据这些结果可以获取以下一些信息。 1.查询序列可能具有某种功能 2.查询序列可能是来源于某个物种 3.查询序列可能是某种功能基因的同源基因 … 这些信息都可以应用到后续分析中。
两种版本的Blast比较(一) • 网络版本 包括NCBI在内的很多网站都提供了在线的blast服务,这也是我们最经常用到的blast服务。网络版本的blast服务就有方便,容易操作,数据库同步更新等优点。但是缺点是不利于操作大批量的数据,同时也不能自己定义搜索的数据库。
两种版本的Blast比较(二) • 单机版 单机版的blast可以通过NCBI的ftp站点获得,有适合不同平台的版本(包括linux,dos等)。获得程序的同时必须获取相应的数据库才能在本地进行blast分析。单机版的优点是可以处理大批的数据,可以自己定义数据库,但是需要耗费本地机的大量资源,此外操作也没有网络版直观、方便,需要一定的计算机操作水平。
本地WEB版的Blast 在NCBI的FTP上,在blast程序的目录下,还提供了一种供用户在自己的服务器上建立Blast网页服务的软件包(wwwblast)。 使用该软件包,用户可以建立一个简易的进行Blast运算的网站供实验室人员使用。用于搜索的数据库同样可以灵活的定义。
Blast程序评价序列相似性的两个数据 Score:使用打分矩阵对匹配的片段进行打分,这是对各对氨基酸残基(或碱基)打分求和的结果,一般来说,匹配片段越长、 相似性越高则Score值越大。 E value:在相同长度的情况下,两个氨基酸残基(或碱基)随机排列的序列进行打分,得到上述Score值的概率的大小。E值越小表示随机情况下得到该Score值的可能性越低。
NCBI提供的Blast服务 登陆ncbi的blast主页 核酸序列 蛋白序列 翻译序列 底下有其他一些针对特殊数据库的和查看以往的比对结果等
Blast任务提交表单(一) 1.序列信息部分 序列范围 (默认全部) 填入查询(query)的序列 选择搜索数据库 如果接受其他参数默认设置,点击开始搜索
Blast任务提交表单(二) 2.设置各种参数部分 设置搜索的范围,entrez关键词,或者选择特定物种 一些过滤选项,包括简单重复序列,人类基因组中的重复序列等 E值上限 窗口大小 如果你对blast的命令行选项熟悉的话,可以在这里加入更多的参数
Blast任务提交表单(三) 3.设置结果输出显示格式 选择需要显示的选项以及显示的文件格式 E值范围 显示数目 Alignment的显示方式 筛选结果 其他一些显示格式参数 点击开始搜索
提交任务 返回查询号(request id) 修改完显示格式后点击进入结果界面 可以修改显示结果格式
结果页面(一) 图形示意结果
结果页面(二) 目标序列描述部分 带有genbank的链接,点击可以进入相应的genbank序列 匹配情况,分值,e值
结果页面(三) 详细的比对上的序列的排列情况
一个具体的例子(blastp) 假设以下为一未知蛋白序列 >query_seq MSDNGPQSNQRSAPRITFGGPTDSTDNNQNGGRNGARPKQRRPQGLPNNTASWFTALTQHGKEELRFPRGQGVPINTNSGPDDQIGYYRRATRRVRGGDGKMKELSPRWYFYYLGTGPEASLPYGANKEGIVWVATEGALNTPKDHIGTRNPNNNAATVLQLPQGTTLPKGFYAEGSRGGSQASSRSSSRSRGNSRNSTPGSSRGNSPARMASGGGETALALLLLDRLNQLESKVSGKGQQQQGQTVTKKSAAEASKKPRQKRTATKQYNVTQAFGRRGPEQTQGNFGDQDLIRQGTDYKHWPQIAQFAPSASAFFGMSRIGMEVTPSGTWLTYHGAIKLDDKDPQFKDNVILLNKHIDAYKTFPPTEPKKDKKKKTDEAQPLPQRQKKQPTVTLLPAADMDDFSRQLQNSMSGASADST QA 我们通过blast搜索来获取一些这个序列的信息。
具体步骤 1.登陆blast主页 http://www.ncbi.nlm.nih.gov/BLAST/ 2.根据数据类型,选择合适的程序 3.填写表单信息 4.提交任务 5.查看和分析结果
分析过程(一) 1.登陆ncbi的blast主页 2.选择程序,因为查询序列是蛋白序列可以选择blastp,点击进入 也可以选择tblastn 作为演示, 我们这里选blastp
分析过程(二) 3.填入序列(copy+paste) Fasta格式,或者纯序列 4.选择搜索区域,这里我们要搜索整个序列,不填 5.选择搜索数据库,这里我们选nr(非冗余的蛋白序列库)。 是否搜索保守区域数据库(cdd),蛋白序列搜索才有。 我们选上
分析过程(三) 6.限制条件,我们限制在病毒里面找。 7.其他选项保持默认值 打分矩阵
分析过程(四) 8.输出格式选项保持默认值 9.点击开始搜索
分析过程(五) 10.查询序列的一些相关信息 在cdd库里面找到两个保守区域,点击可以进入
分析过程(六) 图形结果
分析过程(七) 匹配序列列表
分析过程(八) 具体匹配情况
单机版的Blast使用(一) 为什么使用单机版的Blast? 1.特殊的数据库要求。 2.涉及序列的隐私与价值。 3.批量处理 4.其他原因??
单机版的Blast使用(二) 单机版Blast的基本操作过程 1.下载单机版的Blast程序 ftp://ftp.ncbi.nlm.nih.gov/blast/executables/ 目录下,下载对应的操作系统版本。 2.解压程序包(blast-2.28-ia32-linux.tar.gz) 命令是: $ tar zxvf blast-2.28-ia32-linux.tar.gz
下载正确的Blast程序包 blast:在本地运行的blast程序包 wwwblast:在本地服务器建立blast服务的网站 netblast:blast的客户端程序,直接链接至NCBI的BLAST服务器,使用BLAST服务,不需浏览器。
下载正确的Blast程序包 Blast程序包的名字上还包括了该程序包运行的硬件和操作系统环境: 操作系统 硬件环境(CPU) linux sparc macox powerPC solaris ia32 irix ia64 aix amd64 hpux mips freebsd alpha win32
单机版的Blast使用(三) 3.获取Blast数据库 a.直接从ncbi下载 ftp://ftp.ncbi.nlm.nih.gov/blast/db/ b.用Blast程序包提供的formatdb工具自己格 式化序列数据成数据库。 假设有一序列数据(sequence.fa,多序列,fasta格式),欲自己做成Blast数据库,典型的命令如下:
单机版的Blast使用(四) 核酸序列: $ ./formatdb –i sequence.fa –p F –o T/F –n db_name 蛋白序列: $ ./formatdb –i sequence.fa –p T –o T/F –n db_name
单机版的Blast使用(五) 4.执行Blast比对 获得了单机版的Blast程序,解压开以后,如果有了相应的数据库(db),那么就可以开始执行Blast分析了。 单机版的Blast程序包,把基本的blast分析,包括blastn,blastp,blastx等都整合到了blastall一个程序里面。
单机版的Blast使用(六) 以下是一个典型的blastn分析命令: (待分析序列seq.fa,数据库nt_db) $./blastall –p blastn –i seq.fa -d nt_db –w 7 –e 10 –o 程序名 输入 数据库 窗口 e值 输出 seq.blastn.out 该命令的意思是,对seq.fa文件中的核酸序列对nt_db数据库执行blastn搜索,窗口大小是7,e值限制是10,输出的结果保存到文件seq.blastn.out 中。
单机版的Blast使用(七) 5.Blastall的常用参数 -p 程序名应该是blastn,blastp,blastx,tblastn,tblastx中的一个 -d 数据库名称,默认nr -i 查询序列文件,默认stdin -e E值限制,默认10 -o 结果输出文件,默认stdout -F 过滤选项,默认T -a 选择进行运算的CPU个数
进一步深入Blast 1.blast2 2.Megablast 3.Psi-blast 4.其他(rpsblast,blastclust等)
Blast2 两个序列的blast比对,给定两个序列,相互进行blast比对。能快速检查两个序列是否存在相似性片断或者是否一致。这比起全序列比对要快很多。
Megablast • megablast采用了贪婪算法(greedy algorithm),它连接了多个查询序列进行一次搜索比对,这样节省了很多搜索数据库的时间。主要针对核酸序列。是blast经过优化后,适用于由于测序或者其他原因形成的轻微的差别的序列之间的比较,比一般的相似性搜索程序要快10倍,可以很快的完成两组大数据的比对。
PSI-blast Position specific iterative BLAST (PSI-BLAST) 位点特异的迭代blast搜索,主要针对蛋白序列。第一次blast搜索后,结果中最相似的序列重新构建PSSM (位点特异性打分矩阵),然后再使用该矩阵进行第二轮blast搜索,再调整矩阵,搜索,如此迭代。 最终高度保守的区域就会得到比较高的分值,而不保守的区域则分数降低,趋近0。 这样可以提高blast搜索的灵敏度。
Blast的算法基础 • 基本思想是:通过产生数量更少的但质量更好的增强点来提高速度。 • BALST算法是建立在严格的统计学的基础之上的。它集中于发现具有较高的相似性的局部比对,且局部比对中不能含有空位(blast2.0引入了允许插入gap的算法)。 • 由于局部比对的限制条件,在大多数情况下比对会被分解为若干个明显的HSP(High-score Sequence Pairs)。