论文部分内容阅读
序列比对算法用在许多不同的领域。当前,这些领域里面的一个重要应用就是比对大分子,例如比对DNA和蛋白质序列,以及蛋白质结构比较。基本上,所有的序列比对算法,或多或少都会用到Needleman和Wunsch(1970)的动态规划算法。虽然从理论上来说用两两比对的方法来实现多序列比对是非常简单方便的,但是,尽管目前人们做了大量的工作和努力,对于6条以上的多序列比对,用两两比对的方法是不现实的。而且对于属于NP难问题的多序列比对问题,任何试图找到一种快速的计算优化比对的方法的企图都很有可能要失败的。为了提高优化比对的算法,全世界的科技工作者都马不停蹄地在辛苦地工作。这样就产生了许许多多的近似优化比对的伪算法,同时也开发出一大堆应用程序。
许多情况下,都有必要同时比对三序列。DavidR.Powell提出了一种新的使用线性空位罚分的优化的三序列比对算法。这个算法最早是由Ukkonen基于两序列和简单打分而提出的。本文基于分治法的原理通过引入“检查点法”对其进行改进,并充分利用近期蓬勃发展的高性能计算技术,将其在cluster机上并行实现。
本文的主要贡献有以下四点:1)讨论了各种序列比对算法的优缺点,分析了一种基于线性空位罚分和Ukkonen算法的三序列比对算法的并行化问题。2)引入“检查点法”对这种三序列比对算法进行优化。3)利用分治法的原理将其在cluster机上并行实现。4)提出了将现有序列比对算法并行化使之适应网格的分布式环境的研究方向。