ImageVerifierCode 换一换
格式:PPT , 页数:25 ,大小:249.50KB ,
资源ID:13955689      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13955689.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(4-后缀树的应用PPT资料.ppt)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

4-后缀树的应用PPT资料.ppt

1、生物信息学概论讲义,第4章 后缀树的应用,精确字符串匹配问题最长重复子串问题最长公共子串问题DNA污染问题多字符串的公共子串问题遇难者身份识别问题最长公共前缀问题回文问题.,生物信息学概论讲义,后缀树的应用,精确字符匹配(ESM)生物应用识别DNA序列中的起始密码子ATG(RNA的转录翻译起始点)问题定义给定长度为n的字符串S,对任意长度为m的查询Q,要求发现S中所有Q的发生位置,生物信息学概论讲义,后缀树的应用,精确字符匹配(ESM)解决方案预处理:#构建字符串S的后缀树 O(n)查询:#自根向下,根据路径标识向下匹配查询Q至节点x。#如果不存在这样的节点x,则Q不在S中。#O(m)节点x的

2、子树中,每个叶子对应Q在字符串S中的一个发生。#对节点x的子树,需要一次遍历。#O(k),ESM的后缀树解决方案要好于其它的解决方案m+kn,生物信息学概论讲义,后缀树的应用,精确字符匹配(ESM)例 给定S=acacag,发现S中所有Q=aca的发生和Q=acc的发生。#,a,ca,cag$,g$,g$,1,3,5,ca,cag$,g$,2,4,g$,6,$,7,Q,Q不存在,生物信息学概论讲义,后缀树的应用,最长重复子串(LRS)生物应用DNA序列中的重复子串,可以相邻,也可以分离,常被用来作为“标记位点”(绘制遗传图、体细胞杂合),许多疾病也是由具有某种结构的重复序列引起的问题定义给定长

3、度为n的字符串S,发现其中的最长重复子串,字符串S中的子串和形成了一个最长重复子串,当且仅当:#(1)=(2)最左(或右)侧的字符不等于最左(或右)侧的字符(3)的长度大于任何其它重复子串的长度,生物信息学概论讲义,后缀树的应用,最长重复子串(LRS)解决方案构建字符串S的后缀树 O(n)遍历后缀树发现最深的内部节点v O(n)每个内部节点的路径标识对应一个重复子串节点v的路径标识对应最长重复子串注意,此处的节点深度是指节点的字符串深度,后缀树结构出现之前,算法的时间复杂度为O(n2)利用后缀树之后,算法的时间复杂度变为O(n),生物信息学概论讲义,后缀树的应用,最长重复子串(LRS)例 给定

4、S=acacag,发现S中的最长重复子串,a,ca,cag$,g$,g$,1,3,5,ca,cag$,g$,2,4,g$,6,$,7,Q,S中的最长重复子串为aca,生物信息学概论讲义,后缀树的应用,最长公共子串(LCS)生物应用发现多个序列的同源性(回想曾经介绍过的序列比对)问题定义给定字符串P1,P2,Pk(k1),发现它们的最长公共子串,1970年,在后缀树出现以前,Don Knuth曾断言不可能存在线性时间复杂度的算法解决最长公共子串问题。#然而,使用后缀树恰恰完成了这个“不可能完成的任务”,生物信息学概论讲义,后缀树的应用,最长公共子串(LCS)解决方案在每个字符串的末尾添加不同的终

5、结符 O(k)构建n个字符串的广义后缀树 O(n)标记树中拥有代表来自所有k个字符串后缀的内部节点 O(n)输出字符串深度最大的标记节点 O(1),后缀树结构出现之前,算法的时间复杂度为O(n2)利用后缀树之后,算法的时间复杂度变为O(n),生物信息学概论讲义,后缀树的应用,最长公共子串(LCS)例 给定P1=acgat,P2=cgt,两者的最长公共子串为cg,a,g,5,#,6,$,4,cgat#,1,t#,4,cg,at#,2,t$,1,at#,3,t$,2,t,#,$,3,生物信息学概论讲义,后缀树的应用,DNA污染问题生物应用如何准确的测定DNA序列(难道恐龙更接近人,而不是更像鸟或者

6、鳄鱼?#)问题定义给定一个新测序的DNA序列S1和一个来自可能的污染物的DNA序列S2,发现S2中所有出现在S1中且长度超过给定阈值x的子串,如果S2中的某个子串出现在S1中,S1可能已经被污染了,生物信息学概论讲义,后缀树的应用,DNA污染问题解决方案构建S1和S2的广义后缀树 O(n)标记树中拥有代表来自字符串S1和S2后缀的内部节点 O(n)输出所有字符串深度大于阈值x的标记节点 O(1),DNA污染问题是最长公共子串问题的变种(发现长度大于x的公共子串),生物信息学概论讲义,后缀树的应用,DNA污染问题例 给定S1=acacag$,S2=aca#,x=2,判断S1是否已被污染,S1已被

7、污染,存在一个公共的长度2的子串aca,生物信息学概论讲义,后缀树的应用,多字符串的公共子串生物应用识别两个或多个基因组的保守区域,探索生物结构的本质特征问题定义给定K个字符串,对所有的k(2kK),计算至少被k个字符共有的最长公共子串的长度l(k),多字符串的公共子串问题是最长公共子串问题的变种,生物信息学概论讲义,后缀树的应用,多字符串的公共子串解决方案在每个字符串的末尾添加不同的终结符 O(k)构建n个字符串的广义后缀树 O(n)遍历建立的广义后缀树,计算每一个内部节点的C(v)值 O(Kn)C(v)代表以节点v为根的子树中不同终结符的数目遍历广义后缀树,对每个内部节点v,如果l(C(v

8、)v的字符串深度,令l(C(v)=v的字符串深度 O(n),生物信息学概论讲义,后缀树的应用,多字符串的公共子串例 给定字符串集合S=sandollar,handlot,handler,grand,pantry,计算l(4)和l(5)l(4)=3sandollar,handlot,handler,grand(2)l(5)=2 sandollar,handlot,handler,grand,pantry,生物信息学概论讲义,后缀树的应用,遇难者身份识别问题生物应用识别遇难者(例如,在战争中死亡的士兵)身份问题定义给定一个长度为m的字符串Q和一个字符串数据库,查找该字符串数据库中所有包含Q的字符串

9、,生物信息学概论讲义,后缀树的应用,遇难者身份识别问题解决方案(1)构建包含数据库中所有字符串的广义后缀树 O(n)(2)遍历建立的广义后缀树,发现字符串Q的所有发生位置 O(m+occ),生物信息学概论讲义,后缀树的应用,最长公共前缀问题定义给定长度为n的字符串S,对任意的位置i和j,发现S中Suffi和Suffj的最长公共前缀的长度解决方案构建字符串S的后缀树 O(n)输出Suffi和Suffj字符串深度最大的公共祖先 O(1),生物信息学概论讲义,后缀树的应用,回文问题生物应用特殊位点识别(如:#限制性酶剪切位点)问题定义给定长度为n的字符串S,发现S中所有最大的回文给定长度为n的字符串

10、S,发现S中所有最大的互补回文,生物信息学概论讲义,后缀树的应用,回文问题回文给定字符串S中的一个子串u,称其为一个回文,当且仅当u=ur。#其中,ur代表u的反转字符串,例如 u=acagaca是一个回文,因为acagaca=(acagaca)r,生物信息学概论讲义,后缀树的应用,回文问题回文如果Si.i+k-1=Srn-i+1.n-i+k,那么u=Si-k+1.i+k-1是一个奇数长度的回文,生物信息学概论讲义,后缀树的应用,回文问题回文如果Si.i+k-1=Srn-i+2.n-i+k+1,那么u=Si-k.i+k-1是一个偶数长度的回文,生物信息学概论讲义,后缀树的应用,回文问题互补回文

11、给定字符串S中的一个子串u,称其为一个互补回文,当且仅当u=r。#其中,代表u的互补字符串例如 acaugu是一个互补回文最大回文字符串S中的一个回文u=Si.i+|u|-1被称为一个最大回文,当且仅当ii+|u|-1,Si.j都不是回文,生物信息学概论讲义,后缀树的应用,回文问题解决方案预处理:#构建S和Sr的广义后缀树 O(n)执行如下循环:#For i=1 to n发现 的最长公共前缀。#如果最长公共前缀的长度是k,找到一个奇数长度的最大回文Si-k+1.i+k-1 O(1)(2)发现 的最长公共前缀。#如果最长公共前缀的长度是k,找到一个偶数长度的最大回文Si-k.i+k-1 O(1),

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1