论文部分内容阅读
生物信息学的一个关键问题是理解由染色体中的基因所决定的蛋白质的含义或者功能。对蛋白质进行分类是解决这个问题的有效途径之一。在保证精确性不会有较大的降低的前提下,如何提高蛋白质分类算法的计算效率和降低对内存的需求量,一直是生物信息学领域关注的焦点问题之一。针对这一问题,文章从算法和计算机体系结构两个方面入手进行了研究。在分析蛋白质分类算法的基础上,本文把序列联配算法和基于支持向量机的蛋白质分类算法作为研究的主攻方向。经过三年的研究,在阅读大量文献的基础上,取得了理想的研究成果。 文章的主要内容包括:蛋白质结构预测与分类的意义:基于HPM并行计算模型,讨论了在SMP)多机机群系统上的算法优化与并行;在讨论序列联配算法的基础上,对Smith-Waterman算法的并行算法进行改进,并在SMP多机机群系统上进行优化,提高了计算性能;在讨论了基于机器学习的算法,主要是支持向量机算法的基础上,提出了结合片断进化距离和支持向量机的蛋白质分类算法;采用分而治之的思想,利用Suboptimal算法,对Smith-Waterman算法进行并行,得到了一种可扩展性很好的算法,显著地降低了对内存的需求。本文的创新点包括如下几个方面: 1) 采用支持向量机算法对蛋白质进行分类,提出了基于片断进化距离的内核。在将序列转化为向量时,将每条序列与正训练集的“重心”进行比较,而不是与训练集中的每一条序列进行比较,因此,在计算速度上比SVM-pairwise算法有着显著得提高。同时,序列比较时,不仅仅给出一个最后得分,而是对序列的每一部分都进行比较,在一定程度上可以保证最后结果的精确性。实验表明,这种方法可以获得很高的精确度,而计算速度也有很大的提高。在提前计算小片段的距离并储存的情况下,可以获得0(m)的加速比。在不采用提前计算的情况下,在对54个家族的蛋白质进行分类的实验中,平均计算速度是后者的10倍。 2) 由SMP构成的多机集群系统是目前并行领域的主流体系结构之一,基于HPM计算模型,分析了CoSMPs的体系结构特点,影响性能的主要因素,并且从并行性与存储访问性能的关系,并行性与通信的关系,以及编程模式对并行性能的影响等方面进行讨论,给出了在CoSMPs系统上对并行计算进行优化的一些原则:分析了纯MPI和MPI+SMP(或OMP)制导两种编程模式在性能上的优点与不足。进而提出了在SMP多机机群系统上的算法并行与优化方法。 3) 当前针对smith-Waterman算法的并行化算法,为了能够给出获得最优得分的联配,在(至少一个处理器)中保存整个得分矩阵。因此,在处理非常长的序列,比如长度以兆计算的序列时,内存的需求量超过了大多数计算机的内存容量。我们对Smith-Waterman算法采用分块的行流水算法,采用两次Smith-Waterman算法确定