论文部分内容阅读
生物信息学是综合运用生物学、数学、物理学、信息科学以及计算机科学等诸多学科的理论方法的崭新交叉学科,它是整个生命科学发展的重要组成部分,己成为生命科学研究的前沿。生物信息学的核心是基因组信息学,包括基因组信息的获取、处理、存储、分配和解释,即以计算机、网络为工具,用数学、物理等学科的理论、方法和技术研究生物大分子,主要包括脱氧核糖核酸(DNA)和蛋白质(Protein)的序列、结构和功能。基因组信息学的关键是“读懂”基因组的核苷酸顺序,即全部基因在染色体上的确切位置以及各DNA片段的功能;同时在发现了新基因信息之后进行蛋白质空间结构模拟和预测。这对于人类疾病基因的发现、基因与蛋白质的表达与功能研究、合理化药物设计等方面都有着重要的意义.
在生物信息学中,生物序列的比对、拼接和基因表达数据的聚类是一些最重要的操作。通过序列比对可以发现生物序列中的一些功能、结构以及进化信息。序列拼接是基因组测序阶段研究的最基本、最重要的问题,它处理全基因组随机测序得到的小片断序列,根据他们间的重叠关系用计算机将它们拼接以期得到目标序列的一个或多个较长的连续段。对基因表达数据的双向聚类用相似性度量函数确定基因的相似程度,将基因分组。通过聚类分析,将共调控基因聚集成类,分析和识别同类基因所共同拥有的转录调控元件。
由于以上的生物信息学问题具有数据量多、计算量大的特点,对计算机的处理速度等性能要求较高。而这些问题大部分本质上是组合优化问题,不象向量运算那样具有有规则的数据结构和相关关系,因而对其进行并行化有很大的难度。本文对生物信息学领域中的一些问题的并行计算进行了深入的研究,提出了相应的并行算法,通过试验取得了很好的效果。
我们提出一种快速的最长公共子序列算法FAST_LCS,该算法通过对字符串建立相应的同字符后续表,随后对于相应的初始同字符对,并行地在该表中逐层地搜索其后继同字符对,得到所有的后继同字符对及相应的层次值。最后由最大层次值的同字符对进行回溯,依次求得其所有前驱同字符对,最后得到相应的比对结果。这种基于同字符后续表的算法同样可以用到多序列的最长公共子串问题中。算法使用了剪枝和跳跃技术,提高了处理速度。与其它经典的LCS算法相比,不但能够取得准确的结果,而且在速度、效率上有了很大的提高。
我们深入研究了生物序列的拼接问题,提出了一种高效的并行算法。该算法提出了后缀索引的概念以代替后缀树,首先对所有的序列片段建立后缀索引:然后对所有的序列片段,在所有其他序列片段的后缀索引中查找匹配度最高且最长的后缀,再以序列片段为顶点,以它们的前、后缀匹配长度为边上的权来建立带权有向图;使用并行蚁群算法寻找最长的哈密尔顿回路;最后根据回路得出拼接方案。该算法以后缀索引代替后缀树,大大减少了计算量,有利于并行计算。算法利用蚁群算法解决TSP问题的优势,减少了优化时间,与其它类似的算法相比,取得的结果准确,在速度、效率上有了很大的提高。
我们还对基因表达数据进行双向聚类的问题进行了深入的研究,提出了一种进行双向聚类的并行算法。该算法根据数据集合的大小对于双向聚类质量的反单调性,由最小的数据集合开始逐步添加行或列,最终找到所有满足条件的聚类。该算法处理速度快,聚类质量高,性能明显优于其他类似算法。
本文的研究工作将并行处理技术应用到生物信息学的研究之之中,对生物信息学中的一些问题提出的高效的并行算法,并且都在并行计算机深腾1800上用MPI(C绑定)编程运行,都使用生物信息的标准数据库中的测试数据进行试验。取得的试验结果表明,这些算法不但处理速度快,而且结果质量高,说明并行计算机是生物信息学研究中的有力工具,有关问题的高效并行算法的开发,会有力促进生物信息学的研究。