论文部分内容阅读
生物信息学是计算技术在管理和分析生物信息数据上的应用。在生物信息学中,序列比对是一种计算排列DNA、RNA和蛋白质序列的方法,此方法用来划分序列间可能与功能、结构或进化关系有关的相似区域。序列的关系是可以量化的,并且它们之间的相似度也是可以评估的。这种相似度可以用来鉴定一个新发现的序列和一个已知基因之间的进化关系。如果相似度低,除非收集到足够的证据,否则它们的进化关系只能是待定的。序列比对已经成为分子生物学中的一项常规操作。今天,序列可以很容易获得,但是去比对已经得到的序列仍然是分子生物学中复杂的一部分。过去的几十年中,一系列的序列比对程序已经出现。它们中的大多数采用了基于动态规划思想的算法,这个算法由Needleman和Wunsch于1970年提出。
Needleman-Wunsch算法基于动态规划思想。这个算法的时间复杂度是O(n2),这里的n是输入序列的长度。因为该算法需要执行与序列长度乘积规模相当的一系列操作,所以其计算耗费是相当高的。为了降低算法执行所需要的时间,我们很自然地考虑到这个算法的并行化设计。
由于多核架构上编程简易且功能强大,因此适合用作高性能计算。进一步说,此架构有很好的价格/性能比率。很多任务都可以基于多核平台执行,并且执行效率显著提升。这篇论文工作的主要动机就是利用现有普通的多核架构的巨大的计算能力,实现一个序列比对的高效解决方案。OpenMP是一个可移植,可扩展的模型,它给基于共享存储器编程的程序员提供一个简单且灵活的接口,以此来开发从桌面到超级计算机平台都适用的并行程序。
本文研究了生物序列比对算法及其并行化,主要研究内容如下:
1.介绍了多核架构以及OpenMP编程模型的一些基本知识。阐述了多核架构的特点,OpenMP模型的相关信息。
2.对双序列比对算法做了分析,指出了其优点与不足。并用Diagonal Wavefront算法结合OpenMP模型的特性对Needleman-Wunsch算法进行了并行化。
3.在Needleman-Wunsch算法并行化的基础上,研究了基于Needleman-Wunsch算法的Clustal算法的并行化。
4.通过比较Needleman-Wunsch算法和Clustal算法在单线程和多核系统下多线程并行执行的耗费时间,我们发现当计算的比对序列较长以及比对序列较多时,计算速度有较明显的上升。实验的结果证实了序列比对算法完全可以因并行计算而获得性能提升。实验结果同样说明了这样一个事实:要高效利用多核系统,并行执行线程的数量以及任务的分解是非常重要的。