生物序列比对算法分析与比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号"#$$#%&’’()*$$’+$,%$*#’%$-
生物序列比对算法分析与比较
钟
诚#.宋
彬*
)#/广西大学计算机与电子信息学院.广西南宁(,$$$’0*/中国科学技术大学计算机科学技术系.安徽合肥*,$$*&+
摘要"序列比对是生物信息学的一个非常重要的操作/它可以预测生物序列的功能1结构和进化过程等/文中首先介绍双序列比对的基本算法0接着分析和比较多序列比对的四个常用模型和三类算法以及并行比对算法0最后.给出一些研究问题/
关键词"生物信息学0双序列比对0多序列比对0精确算法0近似算法0启发式算法中图分类号"23,$#04-##文献标识码"5
生物信息学是一门综合数学1计算机科学和生物学的交叉学科6#7
/
生物信息学内涵非常丰富.其核心是基因组信息学.包括基因组信息的获取1处理1存储1分配和解释/基因组信息学的关键是8读懂9基因组的核苷酸顺序.即全部基因在染色体上的确切位置以及各:;5片段的功能0
在发现新基因信息之后模拟和预测蛋白质空间结构.
然后依据特定蛋白质的功能进行药物设计/生物序列中的信息在系统进化1生态守恒1疾病控制1病毒起源甚至<=>病毒统计和传播等的研究中是一个非常重要的基本工具6*7
.因此.序列比对是生物信息学的基础/序列比对分为全局比对)?@A B C @5@D E F G H F I +和局部比对)J A K C @5@D E F G H F I
+/全局比对要求把一个序列中的所有符号和另一个序列中的所有符号进行匹配比较.
它描述整个序列的相似性/将两个序列进行比对就是双序列比对.它是比较两个生物序列相似性的重要工具/
这个分析工具已经成功地运用到预测生物序列的结构1功能和进化例程中/随着生物医学中有更多的序列合成出来.人们开始用多序列比对来更好地研究生物序列/将多个序列进行比对就是多序列比对问题.它是一个将不等长的多个序列通过插入空格变成等长的过程.这些位
置上的空格代表着相比较的序列从共同的祖先通过插入L 删除操作的进化过程6,7
/
求解多序列比对问题的算法主要分为精确算法1近似算法和启发式算法三种/
#双序列比对
对于两个长度分别为M 的序列有*M N O
M P )*M +Q )M Q +)M Q +R
**M
S T M
种比对情况.这是一个指数级复杂度的计算问题/#U &$年.;H H V @H G C F 和WX F Y K Z 基于动态规划方法6’7提出了第一个双序列比对算法6(7
#U -*年.?A I A Z 对其做了进一步的改进6[7/ U &(年提出一个线性时间复杂度的算法来计算双序列比对6&7.而]^H \Y 和]D @@H \改进了该算法6-7 /基于动态规划方法._G D I Z 和WC I H \G C F 给出一个局 部比对算法6U 7/#U -&年.WC I H \G C F 和‘E E H \I 给出一个计算双序列中a 个局部比对的算法6#$7/#U U #年. 给出一个线性空间复杂度的算法来计算双序列中a 个局部比对6##7 /*多序列比对及其比对模型 *b #多序列比对问题 定义#设c 为符号集合.d 代表空格.给定序列组e #.e *.f.e a .多序列比对g 表示把这些序列放第*U 卷第,期 *$$’年U 月 广西大学学报)自然科学版+ h A X \F C @A i ?X C F E j D k F D l H \Y D I ^);C I _K D ‘V + >A @/*U .;A /, _H m I /.*$$’ ! 收稿日期"*$$’$’*#0修订日期"*$$’$-#& 基金项目"广西自然科学基金)桂科自$,,U $$-+0国家-[,计划)*$$#55###$’#+作者简介"钟诚)#U [’+. 男.广西桂平人.广西大学教授.博士/万方数据 到!行中"每行一个序列"这些序列可以插入#"从而得到超级序列组$%"$&"’"$! "但序列组中每列不可全为#"使得($)(*+且,的代价-+ )*% ./$%/)0"$&/)0"’"$!/)00最小"其中./$%/)0"$&/)0"’"$! /)00代表第)列的代价1一般地"列代价反映该列中符号不相似的程度1 多序列比对是一个组合问题"随着插入空格的数量与位置的不同"可得到很多种比对情况2%3 1目前"依旧没有非常有效的方法来求解实际的多序列比对问题1从多序列比对的定义可以看出"随着代价函数 .定义的不同"就会产生不同的比对结果1对.的不同定义可得出不同的比对模型/456789:8;<=>:502%&?&@3 A B C 比对/B C456789:8;0D 中心比对/E =8F :8F G F 456789:8;"也称为B ;H I 456789:8;0D 树比对/J I ::456789:8;0和熵比对/K 8;I =L M456789:8;01&1&B C 比对模型/ B G 9N =O N C H 6I 456789:8;0B C 比对模型,中第)列的代价定义为./$%/)0"$&/)0"’"$! /)00*- %PQ RS P! ./$Q /)0"$S /)00"其中./$Q /)0"$S /)00表示同一列中两个相应符号$Q /)0和$S /)0的代价1这个代价函数常称为B C /B G 9N =O N H 55N C H 6I F 0代价2%3 1 B C 比对在实际应用中是一个非常有用的模型"被大家广泛地研究2%&?%T "%U ?&%3 1可以看出B C 比对实 际上是将序列两两进行比对"这样序列在比对中的地位是相等的1若我们不知道序列之间的关系"那么 我们就可以使用这个模型"通过假设序列相互之间不关联"来得出较好的结果1人们已经证明在B C 比对 模型上求解多序列比对是V C W X H I >问题2&&3 "并且Y 6=86Z Z =86和[:>=\H 还证明了即使对于符号集只含两个元素的情况"在B C 比对模型上求解也是个V C N X H I >问题2&&3 1此外"若假设序列间地位相等"则没有充分利用自然序列间本身具有的关联性"也没有建立在统计学的基础上"并且当序列中有一个符号发生 改变时"结果就会有很大的变化"这和实际情况不符1 &1]中心比对模型/E =8F :8F G F 456789:8;"B ;H I 456789:8;0 中心比对模型第)列的代价定义为./$%/)0"$&/)0"’"$! /)00*968 ^_-‘a #b -c d *% . /$d /)0"^0"也就是说"为了定义,的代价"重新构造,中每一列的符号或空格"这样就得到一个和所有输入序列的代价最小 的e 中心f 序列1这个e 中心f 序列就可以代表输入的诸序列2%T 3 1与B C 比对模型相比"中心比对模型把两两比对转化为多对一的比对"这样比对次数大大减少"问题复杂性大大降低1但是"求解中心序列的过程却相当复杂"依旧需要考虑到所有的序列"这样就把两两比对的复杂性转嫁到求解中心序列的问题上" 从而本质上没有突破1因此"依旧有非常困难的结果A 当符号集只含有g 个元素"代价函数定义简单/如 匹配为@"不匹配为%0时"在中心比对模型上求解也是V C N X H I >问题2&]3 1 当代价函数定义是任意的时候"中心比对更是一个<4h N B V C N X H I >问题2&g 31&1g 树比对模型/J I ::456789:8;0 为了定义树比对,的代价/J I ::N i =F ;0"假设已知一个含!个叶子的进化树/K \=5G ;6=8H I Mj C X M 5=7:8:;6i J I ::0k*/l "m 0" 其中l 和m 代表树k 的点集和边集"树k 的每一叶子d 代表一个输入序列^d n !o %"!o &"’"!o p 代表树k 的内部结点1为了得到比对,的第)列的树代价A ./$%/)0"$&/)0"’"$!/)00"需要重建每个内部节点d 的符号或空格$d /)0"使得- /Q "S 0_m ./$Q /)0"$S /)00最小1第)列的树代价定义为./$%/)0"$&/)0"’"$! /)00*- /Q "S 0_m ./$Q /)0"$S /)00"其中./q "r 0用来衡量从q 到r 的e 进化f 距离"比对,第)列的树代价实际上就是进化树k 产生符号或空格的$%/)0"$&/)0"’"$! /)0最小代价2%3 1 这个模型由B H 8s =O O 于%t u T 年首先提出2&T 3 "在计算分子生物学领域中引起了广泛的关注1与B C 比对和中心比对相比"树比对更加符合自然界本身的状态"与自然进化过程有着天然的联系1比对又是建 立在进化树基础上"减少了计算量1实际上"中心比对为树比对中进化树是星形的一种特殊情况1在进化树已知的情况下"在树比对模型上求解多序列比对问题显然是最佳的选择1但是进化树的构建常常需要 T %&第]期 钟 诚等A 生物序列比对算法分析与比较万方数据