论文部分内容阅读
基因组重组在物种进化过程中发挥重要作用。基因组重组研究中的一个基本问题是计算一个基因组转换为另一个基因组所需的重组操作的最少个数,它被称为重组距离问题。反转和移位是常见的重组操作。反转逆转染色体内部的一个片段上的基因转录的顺序和方向。移位在两条染色体之间交换尾部。一个移位是交互的,如果所交换的尾部都是非空的。一般我们所说的移位就是指交互移位。经过多年研究,已经有了有符号基因组的反转距离公式和交互移位距离公式。由基因组之间的距离可以了解它们在进化史上的关系。在基因组重组的基础上重建物种进化树的问题逐渐得到广泛的关注。基因组重组的背景中,一个基因组一般表示为(1,...,n)的一个排列,其中每个元素代表一个基因,基因的链型通过给予每个元素一个方向来表达。在多基因组重组问题中,人们寻找能够描述多个基因组的最可信的进化图景的一棵物种进化树。形式化的描述就是:给定k个基因组和一个距离测度d,寻找一棵关于d的最优树T满足:叶子结点为k个基因组,内部结点表示祖先基因组,此树上所有边的重组距离总和最小。如果k=3,即寻找一个祖先基因组到三个给定的基因组的距离之和最小,此即为中位点问题。所有目前的解决多基因组重组问题的算法都依赖于解决中位点问题的算法。此问题是NP难的,即使对于简单的重组测度,如反转距离。反转中位点问题已经有多个算法,精确的或启发式的。这些算法中大多用到了枚举可行反转的算法,可行反转就是使基因组之间的反转距离减少的反转。反转只作用于单条染色体,而对于多染色体基因组来说,交互移位是常见的重组事件。当重组测度为交互移位时,中位点问题即为交互移位中位点问题。交互移位中位点问题对于分析研究多染色体基因组的进化关系有一定意义。这个问题还没有有效的算法,其复杂度还是未知的,一般认为也是NP难的。本文分两个阶段给出解决交互移位中位点问题的算法。本文首先给出了枚举可行交互移位的算法。可行交互移位就是使基因组之间的交互移位距离减少的移位。然后在枚举可行交互移位算法的基础上,给出了两个交互移位中位点算法,一个精确算法和一个启发式算法,它们都模仿现有的反转中位点算法。