使用交换排序循环排列

时间:2013-05-09 08:18:54

标签: algorithm bioinformatics

一些简单的生物体具有环状DNA分子作为基因组,其中分子没有开始也没有结束。这些圆形基因组可以被视为沿着圆周写的整数序列。

置换的交换排序是通过相邻元素的交换转换为身份置换。例如,3142! 1342! 1324! 1234是置换3124的三步交换排序。

现在的问题是: 设计一种交换排序算法,该算法使用最小数量的交换来对循环排列进行排序。

1 个答案:

答案 0 :(得分:1)

不仅仅是简单的生物; mtDNA也是循环的。

有许多算法可以解决您的问题 - 允许考虑距离的不同操作(插入事件,重复,反转等)。

这两个主要算法是,

  • 断点距离(见:M. Blanchette,G。Bourque和D. Sankoff。 Genome Informatics ,关于断点系统发育的章节,第25-34页。 环球学院出版社)

  • Double-Cut and Join(参见:S。Yancopoulos,O。Attie和R. Friedberg。高效排序 通过易位,倒置和块互换进行基因组排列

您可能想要查看MGR并避免自己实施这些算法。 The software package我的工作包括GRAPPA和MGR,经过数月的努力,还有许多错误修复。