Skip to main content

Analysis of circular genome rearrangement by fusions, fissions and block-interchanges

Abstract

Background

Analysis of genomes evolving via block-interchange events leads to a combinatorial problem of sorting by block-interchanges, which has been studied recently to evaluate the evolutionary relationship in distance between two biological species since block-interchange can be considered as a generalization of transposition. However, for genomes consisting of multiple chromosomes, their evolutionary history should also include events of chromosome fusions and fissions, where fusion merges two chromosomes into one and fission splits a chromosome into two.

Results

In this paper, we study the problem of genome rearrangement between two genomes of circular and multiple chromosomes by considering fusion, fission and block-interchange events altogether. By use of permutation groups in algebra, we propose an O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n2) time algorithm to efficiently compute and obtain a minimum series of fusions, fissions and block-interchanges required to transform one circular multi-chromosomal genome into another, where n is the number of genes shared by the two studied genomes. In addition, we have implemented this algorithm as a web server, called FFBI, and have also applied it to analyzing by gene orders the whole genomes of three human Vibrio pathogens, each with multiple and circular chromosomes, to infer their evolutionary relationships. Consequently, our experimental results coincide well with our previous results obtained using the chromosome-by-chromosome comparisons by landmark orders between any two Vibrio chromosomal sequences as well as using the traditional comparative analysis of 16S rRNA sequences.

Conclusion

FFBI is a useful tool for the bioinformatics analysis of circular and multiple genome rearrangement by fusions, fissions and block-interchanges.

Background

For the past two decades, genome rearrangements have been studied and can be modelled to learn more about the evolution of mitochondrial, chloroplast, viral, bacterial and mammalian genomes [1]. To evaluate the evolutionary distance between two related genomes in gene order, various rearrangement events acting on genes within or among chromosomes have been proposed, such as reversals (also known as inversions) [110], transpositions [11, 12], block-interchanges [1315], translocations [16, 17], and fusions and fissions [18, 19]. Most genome rearrangement studies in computation involve the issue of solving the combinatorial problem to find an optimal series of rearrangements required to transform one genome into another.

Recently, the study on the genome rearrangement by block-interchanges has increasingly drawn great attention, since the block-interchange event is a generalization of transposition and, currently, its computational models measuring the genetic distance are more tractable than those modeled by transposition. Christie [13] first introduced the concept of block-interchange, affecting a chromosome by swapping two non-intersecting blocks containing any number of consecutive genes. Block-interchange can be considered as a generalization of transposition, since any exchanged blocks via transposition must be contiguous in a chromosome, whereas those via block-interchange need not be. As a matter of fact, the occurrence of an exchange of two non-contiguous blocks has been suggested in the previous studies related to the biological processes of bacterial replication [[20], and references therein]. Christie also proposed an O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n2) time algorithm, where n is the number of genes, to solve the so-called block-interchange distance problem that is to find a minimum series of block-interchanges for transforming one linear chromosome into another. Later, we [14] designed a simpler algorithm for solving the block-interchange problem on linear or circular chromosomes with time-complexity of O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (δ n), where δ is the the minimum number of block-interchanges required for the transformation and can be calculated in O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n) time in advance. We also demonstrated that block-interchange events play a significant role in the genetic evolution of bacterial (Vibrio) species. Very recently, based on this algorithm, we have further implemented a tool, called ROBIN, for analyzing the rearrangements of gene orders via block-interchanges between two linear/circular chromosomal genomes [15]. Not only gene-order data but also sequence data are allowed to be input into the ROBIN system. If the input is the sequence data, ROBIN can automatically search for the common homologous/conserved regions shared by all input sequences.

It should be noted that the above block-interchange studies were dedicated to genomes containing only one chromosome (i.e., uni-chromosomal genomes) for evaluating their evolutionary relationships. However, for biological species with different numbers of chromosomes, the evolutionary history must also consider events of chromosomal fusions and fissions. A fusion occurs when two chromosomes merge into one and a fission takes place when a chromosome splits into two. The reason is that different chromosomes may as well exchange their genetic material with each other and, moreover, this exchange can only be achieved via inter-chromosomal operations such as fusions and fissions, instead of intra-chromosomal operations like block-interchanges. Hence, it is worthwhile to study genome rearrangements considering fusions, fissions and block-interchanges altogether. In this paper, we solve such a genome rearrangement problem by designing an efficient algorithm to compute and obtain a minimum series of all the events involving fusions, fissions and block-interchanges that are required to transform one circular multi-chromosomal genome into another, when both have the same set of genes without repeats. Although most eukaryotic genomes are linear, most prokaryotic (e.g., bacterial) genomes are circular and some of them consist of multiple circular chromosomes and large plasmids1. For example, some important bacterial pathogens like Brucella, Burkholderia, Leptospira and Vibrio species fall into this category. Notably, our approach is based on permutation group in algebra, instead of breakpoint graph, a commonly used approach in the study of genome rearrangement.

Recently, Yancopoulos et al. [21] used breakpoint graph to design an algorithm to solve a genome rearrangement problem in which the considered reversals, translocations (including fusions and fissions) and block-interchanges were given different weights. Unfortunately, their algorithm cannot be applied to solving our problem in which the events we considered are unweighted, because a series of weighted events with minimum weights in total may not be a minimum series of unweighted events, provided the events are given different weights.

Results and discussion

Based on Algorithm Sorting-by-ffbi developed in this study, we have implemented a web server, called FFBI [22], in which biologists or scientists in genomics can conduct comprehensive analyses of circular genome rearrangements by fusions, fissions and block-interchanges for their scientific interests and needs. Furthermore, we used this web server to conduct the rearrangement analyses on the whole genomes of three pathogenic Vibrio species, including V. vulnificus, V. parahaemolyticus and V. cholerae, to infer their evolutionary relationships.

Each of these three Vibrio pathogens consists of two circular chromosomes, and all their genomic sequences have recently been reported in GenBank with protein-coding genes annotated (see Table 1 for their sequence information). As annotated in GenBank (as of April 2006), the genomes of V. vulnificus, V. parahaemolyticus and V. cholerae contain 5098, 4992 and 4008 genes, respectively. From these protein-coding genes, we identified a total of 2393 (one-to-one) orthologous genes that are physically located in different positions on the chromosomes (see the Method section for construction of orthologous genes). Inevitably, there can be a high possibility that some genes with mis-annotated or uncertain protein functions are included in the genome annotation data. We therefore used only those authentic genes whose protein functions are not annotated as hypothetical or putative proteins, or are conserved and not poorly characterized (e.g., not those genes with only general function prediction or unknown function) in the NCBI COGs [23] database of orthologous genes. As a result, there are 1274 authentic orthologous genes in total remained for the further study of genome rearrangement. The relative orders of these orthologous genes along chromosomes, as well as the annotated COGs of their coding proteins, are detailed in the web site of our server.

Table 1 The sequence information of three pathogenic Vibrio species, each with two circular chromosomes.

For each pair of these pathogenic Vibrio species, the variation in their gene orders has suggested that the genome rearrangement events have occurred and their genomes are closely related in evolution. To evaluate the contribution of fusions, fissions and block-interchanges to these observed rearrangements, we used the server developed in this study to compute the rearrangement distance between the gene orders of any two Vibrio genomes. Consequently, as shown in Table 2, the calculated rearrangement distance between V. vulnificus and V. parahaemolyticus is smaller than that between V. vulnificus and V. cholerae and that between V. parahaemolyticus and V. cholerae, suggesting that V. vulnificus is closer to V. parahaemolyticus than to V. cholerae in evolutionary relationship. Intriguingly, this result of genome-wide experiment well coincides with those we obtained in the previous chromosome-wide experiments [14, 15]. Recall that our previous experiments were conducted in a chromosome-by-chromosome style of computing the block-interchange distance between the landmark orders of any two large/small Vibrio chromosomes, where the used landmarks are the maximal unique matches (MUMs) or the locally collinear blocks (LCBs) that are commonly shared by three large/small Vibrio chromosomes.

Table 2 The calculated rearrangement distances among V. vulnificus, V. parahaemolyticus and V. cholerae by fusions, fissions and block-interchanges.

In fact, the evolutionary relationships of the three pathogenic Vibrio species revealed in our experiment of analyzing their genome rearrangements also confirms that obtained by the biological community on the basis of the traditional comparative analysis of 16S rRNA gene sequences [2426]. For confirmation, we here repeated this comparative analysis as follows. The 16S rRNA gene sequences of three Vibrios were first aligned using the Clustal W program [27], from which the distance matrix (as shown in Table 3) was then estimated by the algorithm of Kimura's two-parameter model in PHYLIP package [28].

Table 3 The calculated distances among V. vulnificus [GenBank:X76333], V. parahaemolyticus [GenBank:X56580] and V. cholerae [GenBank:X76337] by the traditional comparative analysis of their 16S rRNA gene sequences (accession numbers of 16S rRNAs are given in square brackets).

Conclusion

In this paper, we studied the genome rearrangement problem between circular genomes with multiple chromosomes by simultaneously considering fusion, fission and block-interchange events. We have shown in the Method section that an optimal series of events required to transform one genome into another can be obtained in a canonical order such that all fusions come before all block-interchanges, which come before all fissions. Based on this property as well as the concept of permutation groups in algebra, we have successfully designed an O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n2) time algorithm to obtain the minimum number of fusion, fission and block-interchange events for the transformation and also to generate an optimal scenario of the required rearrangement events. In addition, we have practically implemented this algorithm as a web server and applied it to analyzing by gene orders the whole genomes of three human Vibrio pathogens to infer their evolutionary relationships. As a consequence, our experimental results well coincide with the previous results obtained using the chromosome-by-chromosome comparisons by landmark orders between any two Vibrio chromosomal sequences as well as using the traditional comparative analysis of 16S rRNA sequences. The algorithm, however, should not be applied on linear multi-chromosomal genomes, because as mentioned in the Method section, it is not always possible to have an optimal scenario in a canonical order for linear genomes. Further studies in genome rearrangement can still be pursued to solve the problem for linear multi-chromosomal genomes.

Methods

Permutations versus genome rearrangements

In group theory, a permutation is defined to be a one-to-one mapping from a set E = {1, 2, ..., n} into itself, where n is some positive integer. For example, we may define a permutation α of the set {1, 2, 3, 4, 5, 6, 7} by specifying α(1) = 4, α(2) = 3, α(3) = 1, α(4) = 2, α(5) = 7, α(7) = 6 and α(6) = 5. The above mapping can be expressed using a cycle notation as illustrated in Figure 1 and simply denoted by α = (1, 4, 2, 3) (5, 7, 6). A cycle of length k, say (a1, a2, ..., a k ), is simply called k-cycle and can be rewritten as (a i , ai+1, ..., a k , a1, ..., ai-1), where 2 ≤ i <k, or (a k , a1, a2, ..., ak-1). Any two cycles are said to be disjoint if they have no element in common. In fact, any permutation, say α, can be written in a unique way as the product of disjoint cycles, which is called the cycle decomposition of α, if we ignore the order of the cycles in the product [29]. Usually, a cycle of length one in α is not explicitly written and its element, say x, is said to be fixed by α since α(x) = x. Especially, the permutation whose elements are all fixed is called an identity permutation and is denoted by 1 (i.e., 1 = (1) (2) ... (n)).

Figure 1
figure 1

The illustration of a permutation α = (1, 4, 2, 3) (5, 7, 6) meaning that α(1) = 4, α(2) = 3, α(3) = 1, α(4) = 2, α(5) = 7, α(7) = 6 and α(6) = 5.

Given two permutations α and β of E, the composition (or product) of α and β, denoted by α β, is defined to be a permutation of E with α β(x) = α(β(x)) for all x E. For instance, if we let E = {1, 2, 3, 4, 5, 6}, α = (2, 3) and β = (2, 1, 5, 3, 6, 4), then α β = (2, 1, 5) (3, 6, 4). If α and β are disjoint cycles, then α β = β α. The inverse of α is defined to be a permutation, denoted by α-1, such that α α-1 = α-1α = 1. If a permutation is expressed by the product of disjoint cycles, then its inverse can be obtained by just reversing the order of the elements in each cycle. For example, if α = (2, 1, 5) (3, 6, 4), then α-1 = (5, 1, 2) (4, 6, 3). Clearly, α-1 = α if α is a 2-cycle.

Meidanis and Dias [19, 30] first noted that each cycle of a permutation may represent a circular chromosome of a genome with each element of the cycle corresponding to a gene, and the order of the cycle corresponding to the gene order of the chromosome. Figure 1, for example, shows a genome with two circular chromosomes, one represented by (1, 4, 2, 3) and the other by (5, 7, 6). Moreover, they observed that global evolutionary events, such as fusions and fissions (respectively, transpositions), correspond to the composition of a 2-cycle (respectively, 3-cycles) and the permutation representing a genome. For instance, let α be any permutation whose cycle decomposition is α1α2 ... α r . If ρ = (x, y) is a 2-cycle and x and y are in the different cycles of α, say α p = (a1x, a2, ..., a i ) and α q = (b1y, b2, ..., b j ) where 1 ≤ p, qr, then in the composition ρ α, α p and α q are joined into a cycle (a1, a2, ..., a i , b1, b2, ..., b j ), i.e., ρ is a fusion event affecting on α (and also called a join operation of α here). If ρ = (x, y) is a 2-cycle and x and y are in the same cycle of α, say α p = (a1x, a2, ..., a i y, ai+1, ..., a j ) where 1 ≤ pr, then in the composition ρ α, this cycle α p is broken into two disjoint cycles (a1, a2, ..., ai-1) and (a i , ai+1, ..., a j ), i.e., ρ is a fission event affecting on α (and also called a split operation of α here). If ρ = (x, y, z) is a 3-cycle and x, y and z are in the same cycle of α, say α p = (a1x, a2, ..., a i , b1y, b2, ..., b j , c1z, c2, ..., c k ) where 1 ≤ pr, then in the composition ρ α, the cycle α p becomes (a1, a2, ..., a i , c1, c2, ..., c k , b1, b2, ..., b j ), i.e., ρ is a transposition event affecting on α.

Recently, Lin et al. [14] further observed that a block-interchange event affecting on α corresponds to the composition of two 2-cycles, say ρ1 and ρ2, and α under the condition that ρ1 is a split operation of α and ρ2 is a join operation of ρ1α. More clearly, let α p = (a1, a2,..., a k ) be a cycle of α, ρ1 = (a1, a i ) and ρ2 = (a h , a j ), where 1 <ik,1 ≤ hi - 1 and ijk. Then ρ2ρ1α is the resulting permutation by exchanging the blocks [a h , ai-1] and [a j , a k ] of α p . That is, ρ2ρ1 is a block-interchange event affecting on α by swapping [a h , ai-1] and [a j , a k ], two non-intersecting blocks in α.

As discussed above, any series of fusions, fissions and block-interchanges required to transform one circular multi-chromosomal genome α into another I can be expressed by a product of 2-cycles, say ρ k ρk-1...ρ1, such that ρ k ρk-1...ρ1α = I (hence, ρ k ρk-1...ρ1 = I α-1). This property implies that I α-1 contains all information that can be utilized to derive ρ1, ρ2,...,ρ k for transforming α into I.

It is well known that every permutation can be written as a product of 2-cycles. For example, (1, 2, 3, 4) = (1, 4) (1, 3) (1, 2). However, there are many ways of expressing a permutation α as a product of 2-cycles [29]. Given a permutation α, let f(α) denote the number of the disjoint cycles in the cycle decomposition of α. Notice that f(α) counts also the non-expressed cycles of length one. For example, if α = (1, 5) (2, 4) is a permutation of E = {1, 2,..., 5}, then f(α) = 3, instead of f(α) = 2, since α = (1, 5) (2, 4) (3). Then the following lemma shows the lower bound of the number of 2-cycles in any product of 2-cycles of a permutation.

Lemma 1 Let α be an arbitrary permutation of E = {1, 2,..., n}. If α can be expressed as a product of m 2-cycles, say α = α1α2...α m with each α i being 2-cycle, then mn - f(α).

Proof. We prove this lemma by induction on m. The lemma is true if m = 0, since α = 1 then, meaning that f(α) = n, and hence m = n - f(α) = 0. Suppose now that the lemma holds for any permutation that can expressed as a product of less than m 2-cycles, where m > 0. Let α' = α2α3, ...,α m . Then by the induction hypothesis, we have m - 1 ≥ n - f(α'). Since α = α1α' and α1 is a 2-cycle, α1 operates on α' either as a fusion by joining two cycles of α' into one cycle (i.e., f(α) = f(α') - 1) or as a fission by splitting one cycle of α' into two cycles (i.e., f(α) = f(α') + 1). Whichever α1 operates on α', we have f(α) ≥ f(α') - 1. As a result, m = (m - 1) + 1 ≥ n - f(α') + 1 = n - (f(α') - 1) ≥ n - f(α).     □

Optimal scenario in canonical order

As mentioned previously, each circular multi-chromosomal genome with n genes can be expressed by a permutation of E = {1, 2,..., n}. Given two such genomes G1 and G2 over the same gene set E, the genome rearrangement distance between G1 and G2, denoted by d(G1,G2), is defined to be the minimum number of events needed to transform G1 into G2, where the events allowed to take place are fusions, fissions and block-interchanges. In this section, we shall show that there is an optimal series of events required to transform G1 into G2 such that all fusions come prior to all block-interchanges, which come before all fissions. Here, such an optimal scenario of genome rearrangements is referred as in canonical order.

Lemma 2 d(G1, G2) = d(G2, G1).

Proof. Let Φ = <σ1, σ2,...,σ δ > be an optimal series of events required to transform G1 into G2. Clearly, Φ' = <σ δ , σδ-1,...,σ1> is an optimal series of events for transforming G2 into G1 by reversing the role of every event σ i , where 1 ≤ iδ, such that σ i is a fission (respectively, fusion) in Φ' if σ i is a fusion (respectively, fission) in Φ.

Lemma 3 There is an optimal series of events required to transform G1 into G2 such that every fission occurs after every fusion and block-interchange.

Proof. Let Φ = <σ1, σ2,...,σ δ > be an optimal series of events needed to transform G1 into G2. Of course, if every fission occurs after every fusion and block-interchange in Φ, then the proof is done. Now, suppose that not every fission occurs after every fusion or block-interchange in Φ. Then let i be the largest index in Φ such that σ i is a fission preceding σi+1that is either a fusion or a block-interchange. We can then obtain a new optimal series Φ' = <σ1,...,σi-1, σ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ , σ i + 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKfMBHbqedmvETj2BSbqee0evGueE0jxyaibaieIgFLIOYR2NHOxjYhrPYhrPYpI8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbbG8FasPYRqj0=yi0lXdbba9pGe9qqFf0dXdHuk9fr=xfr=xfrpiWZqaaeaabiGaaiaacaqabeaabeqacmaaaOqaaGGaciqb=n8aZzaafaWaaSbaaSqaamXvP5wqonvsaeHbhL2B2fMBULgic92BRbaceiGae4xAaKgceaGae03kaSIae0xmaedabeaaaaa@4216@ , σi+2,...,σ δ > to transform G1 into G2 such that σ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ is a fusion or a block-interchange and σ i + 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKfMBHbqedmvETj2BSbqee0evGueE0jxyaibaieIgFLIOYR2NHOxjYhrPYhrPYpI8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbbG8FasPYRqj0=yi0lXdbba9pGe9qqFf0dXdHuk9fr=xfr=xfrpiWZqaaeaabiGaaiaacaqabeaabeqacmaaaOqaaGGaciqb=n8aZzaafaWaaSbaaSqaamXvP5wqonvsaeHbhL2B2fMBULgic92BRbaceiGae4xAaKgceaGae03kaSIae0xmaedabeaaaaa@4216@ is a fission, as discussed below. Suppose that σ i splits a chromosome α into α1 and α2. If σi+1is a fusion, then we assume that it joins two chromosomes β1 and β2into β; otherwise, if σi+1is a block-interchange, then assume that it affects β1 such that β1 becomes β through a block-interchange. Clearly, if neither β1 nor β2 is created by σ i , then the desired series Φ' is obtained by swapping σ i and σi+1in Φ (i.e., σ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ = σi+1and σ i + 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKfMBHbqedmvETj2BSbqee0evGueE0jxyaibaieIgFLIOYR2NHOxjYhrPYhrPYpI8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbbG8FasPYRqj0=yi0lXdbba9pGe9qqFf0dXdHuk9fr=xfr=xfrpiWZqaaeaabiGaaiaacaqabeaabeqacmaaaOqaaGGaciqb=n8aZzaafaWaaSbaaSqaamXvP5wqonvsaeHbhL2B2fMBULgic92BRbaceiGae4xAaKgceaGae03kaSIae0xmaedabeaaaaa@4216@ = σ i ). If both β1 and β2 are created by σ i , then the net rearrangement of σ i (a split operation) followed by σi+1(a joint operation) either has no effect on α or becomes a block-interchange affecting α. By removing σ i and σi+1from Φ or replacing them with an extra block-interchange, we thus obtain a new optimal series of the events transforming G1 into G2 with strictly less than δ events, a contradiction. Hence, we assume that only one of β1 and β2 is created by σ i and without loss of generality, let β1 = α1. Now, we consider the following two cases.

Case 1: σi+1is a fusion. For simplicity of discussion, we let α = (1, 2,..., x - 1, x,..., y - 1), β2 = (y, y + 1,..., z), σ i = (1, x) and σi+1= (1, y), where 1 <x <y - 1 and y <z. Then the net rearrangement caused by σ i and σi+1is to transform α and β into α2 = (x,x+1,...,y - 1) and β = (1, 2,..., x - 1, y, y + 1,..., z). In fact, this rearrangement can also be done by first joining α and β2 into (1, 2,..., z) via σi+1and then splitting (1, 2,..., z) into α2 and β via (x, y). In other words, we can obtain Φ' by letting σ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ = σi+1and σ i + 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKfMBHbqedmvETj2BSbqee0evGueE0jxyaibaieIgFLIOYR2NHOxjYhrPYhrPYpI8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbbG8FasPYRqj0=yi0lXdbba9pGe9qqFf0dXdHuk9fr=xfr=xfrpiWZqaaeaabiGaaiaacaqabeaabeqacmaaaOqaaGGaciqb=n8aZzaafaWaaSbaaSqaamXvP5wqonvsaeHbhL2B2fMBULgic92BRbaceiGae4xAaKgceaGae03kaSIae0xmaedabeaaaaa@4216@ = (x, y).

Case 2: σi+1is a block-interchange. Clearly, the net rearrangement caused by σ i and σi+1is to transform α into β and α2, which is equivalent to the rearrangement by first applying σi+1to α and then further splitting it into β and α2 via σ i . Then Φ' is obtained by swapping σ i and σi+1in Φ.

In other words, we can always obtain Φ' from Φ according to the method described above. Repeating this process on the resulting Φ', we can finally obtain an optimal series of events that are required to transform G1 into G2 such that all fissions come after all fusions and block-interchanges.

Lemma 4 There is an optimal series of events required to transform G1 into G2 in a canonical order such that all fusions come before all block-interchanges, which come before all fissions.

Proof. Let Φ = <σ1, σ2,..., σ δ > be an optimal series of events required to transform G1 into G2. If there are no fusions or block-interchanges, then the proof is completed. If not, according to Lemma 3, we may assume that all fusions and block-interchanges occur earlier than all fissions. Let i be the index of the last non-fission in Φ and also let G' be the resulting genome after all σ1, σ2,...σ i have affected G1. Since Φ is optimal, it is straightforward to see that Φ i = <σ1, σ2,...,σ i > is an optimal series of fusions and block-interchanges needed to transform G1 into G'. As discussed in the proof of Lemma 2, Φ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacuqHMoGrgaqbamaaBaaaleaacqWGPbqAaeqaaaaa@2FB9@ = <σ i , σi-1,...,σ1> is an optimal series of fissions and block-interchanges for transforming G' into G1. Moreover, by Lemma 3, we can obtain Φ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacuqHMoGrgaqbgaqbamaaBaaaleaacqWGPbqAaeqaaaaa@2FC4@ = < σ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ , σ i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaacqWGPbqAcqGHsislcqaIXaqmaeqaaaaa@31E6@ ,..., σ 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaiiaacqGFXaqmaeqaaaaa@2F9E@ > from Φ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacuqHMoGrgaqbamaaBaaaleaacqWGPbqAaeqaaaaa@2FB9@ for transforming G' into G1 such that all block- interchanges in Φ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacuqHMoGrgaqbgaqbamaaBaaaleaacqWGPbqAaeqaaaaa@2FC4@ occur prior to all fissions. Consequently, < σ 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaiiaacqGFXaqmaeqaaaaa@2F9E@ , σ 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaacqaIYaGmaeqaaaaa@2FA0@ ,..., σ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ > is an optimal series of fusions and block-interchanges needed to transform G1 into G', and all its fusions occur before all its block-interchanges. Therefore, there is an optimal series of events needed to transform G1 into G2 such that all fusions come earlier than all block-interchanges, which come before all fissions.     □

It is worth mentioning that an optimal scenario in a canonical order does not necessarily exist for linear multi-chromosomal genomes. For example, suppose that G1 and G2 are two given linear multi-chromosomal genomes, where G1 = (1, 4, 5) (2, 3) and G2 = (1, 2, 3) (4, 5). Then the optimal scenario between them is a fission, splitting (1, 4, 5) into (1) (4, 5), followed by a fusion, joining (1) and (2, 3) to (1, 2, 3). However, this optimal scenario can not be transformed into another in the canonical order according to the steps as described in Lemmas 3 and 4. Actually, there is no an optimal scenario between such two linear genomes using any two rearrangement events that begin with a fusion.

Algorithm

Let α and I be two given circular multi-chromosomal genomes over the same gene set E = {1, 2,...,n}. Here, we assume that the genes in I are sorted in the order of increasing and consecutive numbers, and that gene i + 1 is on the right side of gene i within the same chromosome, where 1 ≤ in - 1. For example, I = (1, 2) (3, 4, 5) (6, 7, 8, 9) if I has three circular chromosomes with two, three and four genes, respectively. In this case, the computation of d(α,I) and its corresponding optimal scenario can be considered as a problem of sorting α using the minimum set of operations, including fusions, fissions and block-interchanges.

Suppose that ρ λ ρλ - 1... ρ1 is a product of 2-cycles that corresponds to an optimal series Φ of fusions, fissions and block-interchanges for transforming α into I. Then Φ = ρ λ ρλ - 1...ρ1 = I α-1 and by Lemma 1, λn - f(-1). If Φ' = ρ λ ρ λ 1 ρ 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFbpGCgaqbamaaBaaaleaacqWF7oaBaeqaaOGaf8xWdiNbauaadaWgaaWcbaGae83UdWMaeyOeI0IaeGymaedabeaakiablAciljqb=f8aYzaafaWaaSbaaSqaaiabigdaXaqabaaaaa@39F2@ is another product of λ 2-cycles with Φ' = -1, then the number of 2-cycles in Φ' that function as fusions or fissions must be greater than or equal to that in Φ; otherwise, the total number of fusions, fissions and block-interchanges in Φ' for transforming α into I must be less than that in Φ, a contradiction. The reason is that a fusion or fission requires only one 2-cycle for rearrangement, whereas a block-interchange requires two 2-cycles. In other words, the number of 2-cycles serving as the fusions and fissions is minimum in any optimal series of events.

Based on the above observation as well as Lemma 4, below we design an efficient algorithm for computing d(α,I) and its optimal scenario of rearrangement events in a canonical order. Let χ(α) and χ(I) denote the numbers of chromosomes in α and I, respectively, and let α = α1α2...αχ(α)and I = I1I2...Iχ(I). Then, an undirected graph G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) = ( V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@ α , V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@ I , MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ ) is constructed from α and I as follows.

  • V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@
    (1)

    α = {α1, α2,...,αχ(α)}.

  • V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@
    (2)

    I = {I1, I2,...,Iχ(I)}.

  • MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@
    (3)

    = {(α i , I j ) | 1 ≤ iχ (α), 1 ≤ jχ (I), and α i and I j have at least a common gene}.

For instance, suppose that α = α1α2...α5 = (1, 2, 10) (11, 8, 9, 3, 6) (7, 4, 5,12) (13, 15) (14, 16) and I = I1I2 ... I6 = (1, 2, 3) (4, 5) (6, 7, 8) (9, 10, 11, 12) (13, 14) (15, 16). Then the induced graph G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) is shown in Figure 2, which is a bipartite graph since V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@ α and V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@ I are independent sets in G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α, I) (i.e., no edge between any two vertices in V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@ α or V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@ I ). A connected component of G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) is defined to be a maximal subgraph of G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) such that there exists a path between any pair of vertices in this subgraph. For example, the induced G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) as shown in Figure 2 has two connected components. Notice that if in a chromosome I k of I there are two genes that appear in two different chromosomes α i and α j of α, then (α i , I k ) MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ and (α j , I k ) MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ , and hence both α i and α j belong to the same connected component in G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I).

Figure 2
figure 2

The induced bipartite graph G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α, I) with two connected components.

Let { C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ 1, C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ 2,..., C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ ω } denote the collection of all connected components in G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I). For each 1 ≤ iω, let β i and J i denote the chromosomes in α and I, respectively, whose corresponding vertices belong to C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ i in G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I). Let gene(β i ) and gene(J i ) be the collections of the genes in all chromosomes of β i and J i , respectively. Then gene(β i ) = gene(J i ) and gene(β i ) ∩ gene(β j ) = for any 1 ≤ jiω. Let n i be the number of genes in gene(β i ). Clearly, n = n1 + n2 + ... + n ω . In addition, it can be verified that -1 = (J1 β 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaeGymaedabaGaeyOeI0IaeGymaedaaaaa@314E@ ) (J2 β 2 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaeGOmaidabaGaeyOeI0IaeGymaedaaaaa@3150@ ) ... (J ω β ω 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGae8xYdChabaGaeyOeI0IaeGymaedaaaaa@3226@ ) and f(-1) = f(J1 β 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaeGymaedabaGaeyOeI0IaeGymaedaaaaa@314E@ ) + f(J2 β 2 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaeGOmaidabaGaeyOeI0IaeGymaedaaaaa@3150@ ) + ... + f(J ω β ω 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGae8xYdChabaGaeyOeI0IaeGymaedaaaaa@3226@ ).

According to the properties above, we then find a product Φ of 2-cycles so that Φα = I as follows. We first find a product Φ i of 2-cycles that corresponds to an optimal series of the rearrangement events required to transform β i into J i (i.e., Φ i β i = J i and hence Φ i = J i β j 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemOAaOgabaGaeyOeI0IaeGymaedaaaaa@31BB@ ) and then let Φ = Φ ω Φω-1... Φ1. Clearly, Φ = -1 and hence Φ corresponds to a feasible series of events for transforming α into I. Actually, we shall show later that the number of 2-cycles in each Φ i is n i - f(J i β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ ), and in Φ i the number of 2-cycles functioning as the fusions and fissions is minimum. This causes that the number of 2-cycles in Φ equals to i = 1 ω n i f ( J i β i 1 ) = n f ( I α 1 ) MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaadaaeWaqaaiabd6gaUnaaBaaaleaacqWGPbqAaeqaaaqaaiabdMgaPjabg2da9iabigdaXaqaaGGaciab=L8a3bqdcqGHris5aOGaeyOeI0IaemOzayMaeiikaGIaemOsaO0aaSbaaSqaaiabdMgaPbqabaGccqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaOGaeiykaKIaeyypa0JaemOBa4MaeyOeI0IaemOzayMaeiikaGIaemysaKKae8xSde2aaWbaaSqabeaacqGHsislcqaIXaqmaaGccqGGPaqkaaa@4D93@ , in which the number of 2-cycles serving as the fusions and fissions is minimum. As a result, Φ is an optimal series of events for transforming α into I. The above description indicates that the original problem can be conquered by independently solving the same problem on the smaller instance whose induced bipartite graph is a connected component of G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α, I).

To simplify our discussion, throughout the rest of this section we assume that the induced G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α, I) of a given instance α and I has exactly one connected component. Let Φ = <σ1, σ2, ...., σ δ > be an optimal series of events for transforming α into I in which all fusions precede all block-interchanges that further precede all fissions. Let n fu , n bi and n fi denote the numbers of fusions, block-interchanges and fissions, respectively, in Φ. Then δ = n fu + n bi + n fi . In the following, we shall show that Φ can be expressed by a product of n - f(-1) 2-cycles in which the number of 2-cycles functioning as the fusions and fissions is minimum.

It should be noticed that the chromosomes considered here are disjoint (i.e., without gene duplication). Hence, for any two chromosomes α i and α j in α with (α i I k ) MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ and (α j , I k ) MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ , there must exist a fusion in Φ that joins α i and α j to one chromosome; otherwise, I k can not be formed from α by a fission later. Since all needed fusions come together in the beginning of Φ, n fu = χ(α) - 1, which is the lower bound of the number of fusions required in any optimal series of events for transforming α into I. After these n fu fusions, the resulting α becomes only one chromosome. Since the next n bi block-interchanges are intra-chromosomal mutations, we have n fi = χ(I) - 1. Actually, χ(I) - 1 is the minimum number of the required fissions in any optimal series of events for transforming α into I, since it is the minimum number of the fusions used in the corresponding optimal series of events to transform I into α.

Given any cycle ρ, we use x ρ to denote that x is a number in ρ. For any two x ρ and y ρ, they are said to be adjacent in ρ if ρ(x) = y or ρ(y) = x. Next, we show a way to derive n fu 2-cycles from -1 such that these 2-cycles function as the fusions that join all chromosomes of α to a single one, if α has multiple chromosomes, where n fu = χ(α) - 1. For simplicity, later in the text we use "cycle in -1" to represent " cycle in the cycle decomposition of -1" in meaning, unless a possible confusion may arise.

Lemma 5 Let α i and α j be any two disjoint cycles in α. Then there must exist a cycle in -1 that contains two numbers x and y such that x α i and y α j .

Proof. Since we assume that the induced G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α, I) contains exactly and only one connected component, and α i and α j contain some numbers u and v, respectively, such that both u and v are in a cycle I k of I. Notice that u α j and v α i . Suppose that there is no cycle in -1 that contains two numbers x and y such that they are in these two different cycles of α, say x α i and y α j . Then all numbers in any cycle of -1 are contained in some cycle of α. Without loss of generality, let I k = (ua1, a2, ..., a p v, ..., a q ) and let p <q for simplifying the discussion. For each 1 ≤ xp, let α(a x ) = b x . Then we have -1(b x ) = ax+1(since -1α = I), which means that both b x and ax+1are in the same cycle of -1 and hence they are also in the same cycle of α. If a x is in α i , then b x is also in α i , which further leads to ax+1 α i . Since u = a1 is in α i , all a2, a3, ..., a p are in α i . As a result, both of u and v are in α i , a contradiction. Hence, there exists a cycle in -1 that contains x and y such that x α i and y α j .

The following lemma can be easily verified.

Lemma 6 (a1, a2,..., a i ,..., a j ) = (a1, a2,..., a i ) (ai+1,..., a j ) (a i , a j ), where 1 ≤ i <j.

According to Lemma 5, for any two cycles α i and α j of α, we can find two numbers x and y in a cycle of -1, say β, such that x α i and y α j . Let β = (a1, a2,..., a q ), where q ≥ 2. Then we consider the following two cases. Case 1: x and y are adjacent in β. For simplicity, let x = aq-1and y = a q . Then by Lemma 6, β = (a1, a2,..., aq-1) (a q ) (x, y). Case 2: x and y are not adjacent in β. Let x = a p and y = a q , where 1 ≤ p <q - 1. Then β = (a1, a2,..., a p ) (ap+1,..., a q ) (x,y) according to Lemma 6. In other words, we can derive a 2-cycle (x, y) from β such that it can join α i and α j to one cycle. After α i , and α j are joined together via (x, y), the number of the cycles (including 1-cycles) in the resulting -1 increases by one. Repeatedly based on the procedure above, we can derive consecutive n fu 2-cycles from -1, say φ1, φ2,..., φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ , that can join χ (α) cycles in α to a single one, where n fu = χ(α) - 1. In other words, φ1, φ2,..., φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ function as χ(α) - 1 fusions that transform genome α with χ(α) chromosomes into a genome, denoted by α', with a single chromosome. Clearly, we have α' = φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ φ n f u 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaWccqGHsislcqaIXaqmaeqaaaaa@34DA@ ...φ1α, '-1 = -1 φ1φ2 ... φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ , and f('-1) = f(-1) + n fu . Hence, we can immediately claim the following.

Claim 1 α' = φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ φ n f u 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaWccqGHsislcqaIXaqmaeqaaaaa@34DA@ ...φ1α, '-1 = -1 φ1φ2 ... φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ , and f('-1) = f(-1) + n fu , where n fu = χ(α) - 1.

Without loss of generality, we now suppose that χ(I) > 1. Similarly as the discussion above, we can derive consecutive n fi 2-cycles from α'I-1, say ψ1, ψ2, ..., ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ , such that they serve as the fusions to transform I with χ(I) chromosomes into a genome, denoted by I', with only one chromosome, where n fi = χ(I) - 1 and α'I-1 is the inverse of '-1 (i.e., α'I-1 = ('-1)-1). Then we have I' = ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ ψ n f i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@ ... ψ1I (hence ψ1ψ2 ... ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ I' = I), α'I'-1 = α'I-1ψ1ψ2 ... ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ and f(α'I'-1) = f(α'I-1) + n fi . Conversely, we can use ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ , ψ n f i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@ …, ψ1 as fissions to split I' with one chromosome into I with n fi chromosomes. Since α'I-1 is the inverse of '-1, it can be easily obtained from '-1 by just reversing the order of the numbers in each cycle of '-1 and hence f(α'I-1) = f('-1), which leads to f(α'I'-1) = f('-1) + n fi . As a result, we have f(I'α'-1) = f(α'I-1) = f(I α'-1) + n fi since I'α'-1 = (α'I-1)-1. Therefore, the following claim can be obtained.

Claim 2 ψ1ψ2 ... ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ I' = I, α'I'-1 = α'I-1ψ1ψ2 ... ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ and f(I'α'-1) = f('-1) + n fi , where n fi = χ(I) - 1.

Notice that both α' and I' now are the genomes with only one chromosome. Then based on the algorithm proposed by Lin et al. [14], we can find n b i = n f ( I α 1 ) 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIafmysaKKbauaaiiGacuWFXoqygaqbamaaCaaaleqabaaccaGae4NeI0Iae4xmaedaaOGaeiykaKcabaGaeGOmaidaaaaa@3D35@ block-interchanges from I'α'-1 to transform α' into I'. Certainly, these n bi block-interchanges can be further expressed by a product of 2n bi 2-cycles, say τ 1 1 , τ 1 2 , τ 2 1 , τ 2 2 , , τ n b i 1 , τ n b i 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeGymaedabaGaeGymaedaaOGaeiilaWIae8hXdq3aa0baaSqaaiabigdaXaqaaiabikdaYaaakiabcYcaSiab=r8a0naaDaaaleaacqaIYaGmaeaacqaIXaqmaaGccqGGSaalcqWFepaDdaqhaaWcbaGaeGOmaidabaGaeGOmaidaaOGaeiilaWIaeSOjGSKaeiilaWIae8hXdq3aa0baaSqaaiabd6gaUnaaBaaameaacqWGIbGycqWGPbqAaeqaaaWcbaGaeGymaedaaOGaeiilaWIae8hXdq3aa0baaSqaaiabd6gaUnaaBaaameaacqWGIbGycqWGPbqAaeqaaaWcbaGaeGOmaidaaaaa@50CE@ , such that every two consecutive 2-cycles act as a block-interchange in the process of transforming α' into I', where I'α'-1 = τ n b i 2 τ n b i 1 τ n b i 1 2 τ n b i 1 1 τ 1 2 τ 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIXaqmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIXaqmaaGccqWIMaYscqWFepaDdaqhaaWcbaGaeGymaedabaGaeGOmaidaaOGae8hXdq3aa0baaSqaaiabigdaXaqaaiabigdaXaaaaaa@55EE@ . Hence, we have the following claim immediately.

Claim 3 I' = τ n b i 2 τ n b i 1 τ n b i 1 2 τ n b i 1 1 τ 1 2 τ 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIXaqmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIXaqmaaGccqWIMaYscqWFepaDdaqhaaWcbaGaeGymaedabaGaeGOmaidaaOGae8hXdq3aa0baaSqaaiabigdaXaqaaiabigdaXaaaaaa@55EE@ α'.

Now we let Φ = ψ1ψ2... ψ n f i τ n b i 2 τ n b i 1 τ 1 2 τ 1 1 φ n f u φ n f u 1 φ 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaOGae8hXdq3aa0baaSqaaiabd6gaUnaaBaaameaacqWGIbGycqWGPbqAaeqaaaWcbaGaeGOmaidaaOGae8hXdq3aa0baaSqaaiabd6gaUnaaBaaameaacqWGIbGycqWGPbqAaeqaaaWcbaGaeGymaedaaOGaeSOjGSKae8hXdq3aa0baaSqaaiabigdaXaqaaiabikdaYaaakiab=r8a0naaDaaaleaacqaIXaqmaeaacqaIXaqmaaGccqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaOGae8NXdy2aaSbaaSqaaiabd6gaUnaaBaaameaacqWGMbGzcqWG1bqDaeqaaSGaeyOeI0IaeGymaedabeaakiablAciljab=z8aMnaaBaaaleaacqaIXaqmaeqaaaaa@5C9D@ . Then the result of Φα = I (hence Φ = -1) can be easily verified by Claims 1, 2 and 3 as follows.

In other words, Φ is a product of (n fu + (n - f(I'α'-1)) + n fi ) 2-cycles that can transform α into I. More clearly, Φ first uses φ1, φ2,..., φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ (acting as n fu fusions) to transform α into α', then uses τ 1 1 , τ 1 2 , , τ n b i 1 , τ n b i 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeGymaedabaGaeGymaedaaOGaeiilaWIae8hXdq3aa0baaSqaaiabigdaXaqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabigdaXaaakiabcYcaSiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabikdaYaaaaaa@475A@ (acting as n bi block-interchanges) to transform α' into I', and finally uses ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ , ψ n f i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@ ,..., ψ1 (acting as n fi fissions) to transform I' into I. By Claims 1 and 2, we can show that (n fu + (n - f(I'α'-1)) + n fi = n - f(-1) as follows.

n fu + (n - f(I'α'-1)) + n fi

= n fu + (n - f('-1) + n fi ) + n fi     (by Claim 2)

= n fu + (n - f(-1) + n fu - n fi ) + n fi     (by Claim 1)

= n - f(-1)

As mentioned before, χ(α) - 1 and χ(I) - 1 are the lower bounds of the numbers of fusions and fissions, respectively, required in any optimal series of rearrangement events for transforming α into I. Hence, the number of 2-cycles in Φ that function as the fusions and fissions is minimum. Along with that Φ = -1 can be expressed as a product of n - f(-1) 2-cycles, we thus conclude that Φ is an optimal series of the events that transform α into I with first n fu fusions, then n bi block-interchanges and finally n fi fissions, where n fu = χ(α) -1, n b i = n f ( I α 1 ) 2 = n f ( I α 1 ) n f u n f i 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIafmysaKKbauaaiiGacuWFXoqygaqbamaaCaaaleqabaaccaGae4NeI0ccbaGae0xmaedaaOGaeiykaKcabaGaeGOmaidaaiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIaemysaKKae8xSde2aaWbaaSqabeaacqGFsislcqqFXaqmaaGccqGGPaqkcqGHsislcqWGUbGBdaWgaaWcbaGaemOzayMaemyDauhabeaakiabgkHiTiabd6gaUnaaBaaaleaacqWGMbGzcqWGPbqAaeqaaaGcbaGaeGOmaidaaaaa@53DC@ , and n fi = χ(I) - 1.

Lemma 7 There is an optimal series of the events needed to transform α into I in a canonical order such that all n fu fusions come before all n bi block-interchanges that come before all n fi fissions, where n fu = χ(α) - 1, n b i = n f ( I α 1 ) n f u n f i 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIaemysaKecciGae8xSde2aaWbaaSqabeaaiiaacqGFsisltCvAUfeBSjuyZL2yd9gzLbvyNv2CaeHbwvMCKfMBHbaceaGaa0xmaaaakiabcMcaPiabgkHiTiabd6gaUnaaBaaaleaacqWGMbGzcqWG1bqDaeqaaOGaeyOeI0IaemOBa42aaSbaaSqaaiabdAgaMjabdMgaPbqabaaakeaacqaIYaGmaaaaaa@51FA@ and n fi = χ(I) - 1.

Let us take α = (1, 2,10) (11, 8, 9, 3, 6) (7, 4, 5, 12) and I = (1, 2, 3) (4, 5) (6, 7, 8) (9, 10, 11, 12) for an example. It should be straightforward to see that G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) is a connected bipartite graph with χ(α) = 3 and χ(I) = 4, and -1 = (1, 11, 7, 9, 6) (3, 10) (4, 8, 12) and hence f(-2) = 5, since two 1-cycles (i.e., (2) and (5)) are not explicitly shown. First, we are to find two 2-cycles φ1 and φ2 (since n fu = χ(α) -1 = 2) from -1 to transform genome α with three chromosomes into genome α' with exactly one chromosome. To this purpose, we let φ1 = (3,10) and φ2 = (4,8), since -1 = (1, 11, 7, 9, 6) (4, 12) (4, 8) (3, 10). Then by Claim 1, α' = φ2φ1α = (4, 5, 12, 7, 8, 9, 10, 1, 2, 3, 6, 11) and '-1 = -1φ1φ2 = (1, 11, 7, 9, 6) (4, 12). Next, we need to find three 2-cycles ψ1, ψ2 and ψ3 (since n fi = χ(I) - 1 = 3) from α'I-1, which is equal to ('-1)-1 = (6, 9, 7, 11, 1) (12, 4) = (1, 7, 11) (1, 9) (1, 6) (12, 4), to transform I into I' with only one chromosome. By letting ψ1 = (12, 4), ψ2 = (1, 6) and ψ3 = (1, 9), we have I' = ψ3ψ2ψ1 = (1, 2, 3, 6, 7, 8, 9, 10, 11, 4, 5, 12) and α'I'-1 = α'I-1ψ1ψ2ψ3 = (1, 7, 11) according to Claim 2. Finally, we will find two 2-cycles τ 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeymaedaaaaa@3077@ and τ 1 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@ (since n - f(-1) - n fu - n fi = 12 - 5 - 2 - 3 = 2) from I'α'-1 that act as a block-interchange to transform α' into I', where I'α'-1 = (α'I'-1)-1 = (11, 7, 1) = (11, 1) (11, 7). By letting τ 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeymaedaaaaa@3077@ = (11, 7) and τ 1 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@ = (11, 1), we have τ 1 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@ τ 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeymaedaaaaa@3077@ α' = (11, 1) (11, 7) (4, 5, 12, 7, 8, 9, 10, 1, 2, 3, 6, 11) = (11, 4, 5, 12, 1, 2, 3, 6, 7, 8, 9, 10), which indeed equals I'. Consequently, we find an optimal series of events Φ= ψ1ψ2ψ3 τ 1 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@ τ 1 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeymaedaaaaa@3077@ φ2φ1 that transform α into I (i.e., Φα = I).

Based on the idea above, we have designed Algorithm Sorting-by-ffbi (meaning sorting by fusions, fissions and block-interchanges) to compute the genome rearrangement distance d(α, I) between two given circular multi-chromosomal genomes α and I, and also to generate an optimal scenario of the required rearrangement events in a canonical order. In Algorithm Sorting-by-ffbi, the purpose of Step 2.3.3 (respectively, Step 2.4.4) is to find two numbers x and y that are both in some cycle of γ = J i β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ (respectively, γ = β i J i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaOGaemOsaO0aa0baaSqaaiabdMgaPbqaaiabgkHiTiabigdaXaaaaaa@3479@ ), but in different cycles in β i . By Lemma 5, such x and y exist. In fact, they can be found using the following simple approach. For simplicity, let γ k = ( a k 1 , a k 2 , , a k l k MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaOGaeiilaWIaemyyae2aa0baaSqaaiabdUgaRbqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiabdggaHnaaDaaaleaacqWGRbWAaeaacqWGSbaBdaWgaaadbaGaem4AaSgabeaaaaaaaa@3DD6@ ) be a cycle in γ that contains two numbers x and y such that they are in different cycles in β i . Then we only need to check whether a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and a k j MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemOAaOgaaaaa@30E0@ , where 2 ≤ jl k , are in different cycles in β i or not. If so, we let x = a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and y = a k j MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemOAaOgaaaaa@30E0@ . The reason is as follows. Suppose that both a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and a k j MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemOAaOgaaaaa@30E0@ for all 2 ≤ jl k are in the same cycle in β i . Then all of numbers a k 1 , a k 2 , , a k l k MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaOGaeiilaWIaemyyae2aa0baaSqaaiabdUgaRbqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiabdggaHnaaDaaaleaacqWGRbWAaeaacqWGSbaBdaWgaaadbaGaem4AaSgabeaaaaaaaa@3DD6@ in γ k are in the same cycle in β i , which contradicts the above assumption that γ k contains x and y that are in different cycles in β i .

Algorithm sorting-by-ffbi

Input: Two circular multi-chromosomal genomes α and I.

Output: d(α,I) and a minimum series Φ of events required to transform α into I.

1:   Find all connected components C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ 1 , C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ 2 ,..., C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ ω in graph G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I);

      /* Denote by n i the number of genes in C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ i . */

2:   for each C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ i , 1 ≤ iω,do

         /* Denote by β i (resp. J i ) the collection of chromosomes in α (resp. I) whose corresponding vertices are in C MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFce=qaaa@3825@ i . */

2.1:   Compute J i β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ and let γ = J i β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ ;

2.2:   n fu = χ(β i ) - 1, n fi = χ(J i ) -1, n b i = n i f ( γ ) n f u n f i 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa42aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWGMbGzcqGGOaakiiGacqWFZoWzcqGGPaqkcqGHsislcqWGUbGBdaWgaaWcbaGaemOzayMaemyDauhabeaakiabgkHiTiabd6gaUnaaBaaaleaacqWGMbGzcqWGPbqAaeqaaaGcbaGaeGOmaidaaaaa@4617@ and δ i = n fu + n bi + n fi ;

2.3:   if χ(β i ) > 1 then   /* To compute φ1, φ2,..., φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ */

2.3.1:      for each cycle of β i do

         Create a set to contain all the numbers in this cycle;

   endfor

2.3.2:   /* Let γ1γ2 ... γ p be the cycle decomposition of the current γ and

   let γ q = ( a q 1 , a q 2 , , a q l q MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacWaJaoyyae2aiWiGDaaaleacmcOamWiGdghaXbqaiWiGcWaJaIymaedaaOGaeiilaWIaemyyae2aa0baaSqaaiabdghaXbqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiabdggaHnaaDaaaleaacqWGXbqCaeaacqWGSbaBdaWgaaadbaGaemyCaehabeaaaaaaaa@447E@ ), where 1 ≤ qp and l q ≥ 2 */

   k = 1 and h = 2;

2.3.3:   for j = 1 to n fu do

      S = find-set ( a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ );

      while S = find-set( a k h MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemiAaGgaaaaa@30DC@ )) do

         if h <l k then h = h + 1; else k = k + 1, h = 2 and S = findset ( a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ );

      endwhile

      x = a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and y = a k h MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemiAaGgaaaaa@30DC@ ;

      φ j = (x, y) and union(x, y);

   endfor

2.3.4:    β i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@2FED@ = φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ φ n f u 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaWccqGHsislcqaIXaqmaeqaaaaa@34DA@ ...φ1β i and γ = γ φ1φ2... φ n f u MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ ;   /* Currently, γ is Ji β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaDaaaleaacqWGPbqAaeaacqGHsislcqaIXaqmaaaaaa@31C5@ */

   endif

2.4:   if χ(J i ) > 1 then/* To compute ψ1, ψ2,..., ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ */

2.4.1:      γ = γ-1/* New γ becomes β i J i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaOGaemOsaO0aa0baaSqaaiabdMgaPbqaaiabgkHiTiabigdaXaaaaaa@3479@ */

2.4.2:   for each cycle of J i do

         Create a set to contain all the numbers in this cycle;

      endfor

2.4.3:   /* Let γ1γ2...γ p be the cycle decomposition of the current γ and

      let γ q = ( a q 1 , a q 2 , , a q l q MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacWaJaoyyae2aiWiGDaaaleacmcOamWiGdghaXbqaiWiGcWaJaIymaedaaOGaeiilaWIaemyyae2aa0baaSqaaiabdghaXbqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiabdggaHnaaDaaaleaacqWGXbqCaeaacqWGSbaBdaWgaaadbaGaemyCaehabeaaaaaaaa@447E@ ), where 1 ≤ qp and l q ≥ 2 */

      k = 1 and h = 2;

2.4.4:   for j = 1 to n fi do

      S = find-set( a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ );

      while (S = find-set( a k h MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemiAaGgaaaaa@30DC@ )) do

         if h <I k then h = h + 1; else k = k + 1,h = 2 and S = find-set( a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ );

      endwhile

      x = a k 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and y = a k h MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemiAaGgaaaaa@30DC@ ;

      ψ j = (x, y) and union(x, y);

   endfor

2.4.5:    = ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ ψ n f i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@ ... ψ1J i and γ = γ ψ1ψ2... ψ n f i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ ;   /* Currently, γ is β i J i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaOGaemOsaO0aa0baaSqaaiabdMgaPbqaaiabgkHiTiabigdaXaaaaaa@3479@ */

   endif

2.5:   /* To compute τ 1 1 , τ 1 2 , , τ n b i 1 , τ n b i 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeGymaedabaGaeGymaedaaOGaeiilaWIae8hXdq3aa0baaSqaaiabigdaXaqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabigdaXaaakiabcYcaSiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabikdaYaaaaaa@475A@ */

2.5.1:   γ = γ-1;/* New γ becomes J i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacuWGkbGsgaqbamaaBaaaleaacqWGPbqAaeqaaaaa@2F5C@ β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaDaaaleaacqWGPbqAaeaacqGHsislcqaIXaqmaaaaaa@31C5@ */

2.5.2:    n b i = n i f ( γ ) 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa42aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWGMbGzcqGGOaakiiGacqWFZoWzcqGGPaqkaeaacqaIYaGmaaaaaa@3B8F@ ;

2.5.3:   for j = 1 to n bi do

      Arbitrarily choose two adjacent elements x and y in γ;

      /* Let β i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@2FED@ = (a1,a2..., a n i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaWgaaWcbaGaemOBa42aaSbaaWqaaiabdMgaPbqabaaaleqaaaaa@311B@ ) */

      Circularly shift (a1, a2,..., a n i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaWgaaWcbaGaemOBa42aaSbaaWqaaiabdMgaPbqabaaaleqaaaaa@311B@ ) such that a1 = x and assume y = a k ;

       τ j 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeymaedaaaaa@30F1@ = (x, y);

      for h = 1 to n i do

         index (a h ) = h;

      end for

      Find two adjacent elements u and v in γ (x, y) such that

      index(u) ≤ k - 1 and index(v) ≥ k;

       τ j 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeOmaidaaaaa@30F3@ = (u, v);

       β i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@2FED@ = τ j 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeOmaidaaaaa@30F3@ τ j 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeymaedaaaaa@30F1@ β i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@2FED@ and γ = γ τ j 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeymaedaaaaa@30F1@ τ j 2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeOmaidaaaaa@30F3@ ;

   endfor

3:   Let Φ i = ψ 1 ψ n f i τ n b i 2 τ n b i 1 τ 1 2 τ 1 1 φ n f u φ 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqqHMoGrdaWgaaWcbaGaemyAaKgabeaakiabg2da9GGaciab=H8a5naaBaaaleaacqaIXaqmaeqaaOGaeSOjGSKae8hYdK3aaSbaaSqaaiabd6gaUnaaBaaameaacqWGMbGzcqWGPbqAaeqaaaWcbeaakiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabikdaYaaakiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabigdaXaaakiablAciljab=r8a0naaDaaaleaacqaIXaqmaeaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaeGymaedabaGaeGymaedaaOGae8NXdy2aaSbaaSqaaiabd6gaUnaaBaaameaacqWGMbGzcqWG1bqDaeqaaaWcbeaakiablAciljab=z8aMnaaBaaaleaacqaIXaqmaeqaaaaa@5C93@ for each 1 ≤ iω;.

4:   Output d(α, I) = i = 1 ω δ i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaadaaeWaqaaGGaciab=r7aKnaaBaaaleaacqWGPbqAaeqaaaqaaiabdMgaPjabg2da9iabigdaXaqaaiab=L8a3bqdcqGHris5aaaa@36EF@ and Φ = Φ1Φ2...Φ ω ;

Theorem 1 Given two circular multi-chromosomal genomes α and I over the same gene set E = {1,2,..., n}, the problem of computing the genome rearrangement distance between α and I using fusions, fissions and block-interchanges can be solved and an optimal series of such events in a canonical order can be obtained in O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n2) time.

Proof. As discussed above, Algorithm Sorting-by-ffbi transforms α into I using the minimum number of fusions, fissions and block-interchanges. Next, we follow to analyze its time-complexity. Notice that given an undirected graph with p vertices and q edges, all the connected components in this graph can be found in O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (p + q) time using depth-first search or breadth-first search [31]. As a result, Step 1 can be done in O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n2) time for computing the connected components in the induced bipartite graph G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α, I), since in the worst case, the number of edges in G MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFge=raaa@382D@ (α,I) is χ(α) × χ(I) and χ(α) = O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n) and χ(I) = O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n). In Step 2, there are ω outer iterations, each computing the minimum series of events needed to transform β i into J i , where 1 ≤ iω. Clearly, Steps 2.1 costs O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n i ) time for computing J i β i 1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ and Step 2.2 takes only a constant time. The time cost of Step 2.3 is mostly contributed from that of Step 2.3.3. There are n fu inner iterations in Step 2.3, each with the purpose of finding two numbers x and y that are both in the same cycle in γ and, however, in the different cycles in β i . In the worst case, Step 2.3 needs n i find-set operations and n fu union operations to finish its overall process. Note that Step 2.3.1 can be implemented by initially creating a set for each number in gene(β i ) and then performing n i - χ(β i ) union operations to generate χ(β i ) sets with each corresponding to a cycle in β i , where χ(β i ) = n fu + 1. Hence, the total number of union operations is n i - 1 in Step 2.3. In fact, these find-set and union operations can be implemented in O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n i ) time using the so-called "static disjoint set union and find" algorithm proposed by Gabow and Tarjan [32]. In other words, Step 2.3 can cost only O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n i ) time. By the same principle, it can be verified that the time cost of Step 2.4 is O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n i ). As for Step 2.5, adopted from our previous work [14], it takes O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n bi n i ) time, where = O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ n i ). As a result, the time cost of Step 2 is O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (ζ n), where ζ is the maximum n bi among all iterations in Step 2 and ζ <n. Clearly, Steps 3 and 4 cost constant time. Therefore, the total time-complexity of Algorithm Sorting-by-ffbi is O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ (n2).

Construction of orthologous genes

To analyze the rearrangement of three Vibrio genomes, we identified and constructed a table of orthologous genes that are putatively not involved in horizontal gene transfer (HGT) events by adopting the so-called symmetrical best hits (SymBets for short). In principle, two genes match and give SymBets if they are more similar to each other than they are to any other genes from the compared genomes [33, 34]. Detection of such SymBet genes is, yet arguably, the simplest and most suitable method for identification of probable orthologs for closely related genomes [33, 34]. Particularly, this prediction of orthologs holds to be applicable even when sequence similarity between the compared proteins is relatively low [33, 34]. For the purpose of excluding paralogous genes derived from lineage-specific gene duplications, we here considered only one-to-one orthologous genes, which actually have been demonstrated as a major pattern in prokaryotic genome evolution [34]. Therefore, we used the following steps to identify an HGT-free table of one-to-one orthologous genes from the three complete Vibrio genomes. First, the GenePlot [35] program offered by NCBI was utilized to find and construct a table of SymBet genes between each pair of Vibrio genomes. Next, after removing all one-to-many or many-to-many SymBets, the three resulting tables of SymBet genes were joined to give a new one of one-to-one orthologous genes for all the three Vibrio genomes by using a rule as follows. If genes a (from genome A) and b (from genome B),b and c (from genome C), and c and a are all one-to-one SymBet pairs, then a, b and c are considered as one-to-one orthologous genes for the genomes A,B and C. In other words, the SymBet relationships among a, b and c result in a triangle. Finally, those genes that were involved in the putative HGT events detected and available in the Horizontal Gene Transfer Database [36] were then deleted from the table of one-to-one orthologous genes.

Note

1The Institute for Genome Research (TIGR) offers a website of Comprehensive Microbial Resource (CMR) that provides information on all of the publicly available and complete bacterial genomes.

References

  1. Hannenhalli S, Pevzner PA: Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversals. J Assoc Comput Mach 1999, 46: 1–27.

    Article  Google Scholar 

  2. Bader DA, Yan M, Moret BMW: A linear-time algorithm for computing inversion distance between signed permutations with an experimental study. J Comput Biol 2001, 8: 483–491.

    Article  CAS  PubMed  Google Scholar 

  3. Bafna V, Pevzner PA: Genome rearrangements and sorting by reversals. SIAM J Comput 1996, 25: 272–289.

    Article  Google Scholar 

  4. Berman P, Hannenhalli S: Fast sorting by reversal. In Proceedings of the 7th Annual Symposium on Combinatorial Pattern Matching (CPM1996), Volume 1075 of Lecture Notes in Computer Science. Edited by: Hirschberg DS, Myers E. Springer-Verlag; 1996:168–185.

    Google Scholar 

  5. Berman P, Hannenhalli S, Karpinski M: 1.375-approximation algorithm for sorting by reversals. In Proceedings of the 10th Annual European Symposium on Algorithms (ESA2002), Volume 2461 of Lecture Notes in Computer Science. Edited by: Mohring RH, Raman R. Springer-Verlag; 2002:200–210.

    Google Scholar 

  6. Caprara A: Sorting by reversal is difficult. In Proceedings of the 1th Annual International Conference on Research in Computational Molecular Biology (RECOMB1997). ACM Press; 1997:75–83.

    Google Scholar 

  7. Caprara A: Sorting permutations by reversals and Eulerian cycle decompositions. SIAM J Discrete Math 1999, 12: 91–110.

    Article  Google Scholar 

  8. Christie DA: A 3/2-approximation algorithm for sorting by reversals. In Proceedings of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA1998), ACM/SIAM 1998, 244–252.

    Google Scholar 

  9. Kaplan H, Shamir R, Tarjan RE: Faster and simpler algorithm for sorting signed permutations by reversals. SIAM J Comput 2000, 29: 880–892.

    Article  Google Scholar 

  10. Kececioglu JD, Sankoff D: Exact and approximation algorithms for the inversion distance between two permutations. In Proceedings of the 4th Annual Symposium on Combinatorial Pattern Matching (CPM1993), Volume 684 of Lecture Notes on Computer Science. Edited by: Apostolico A, Crochemore M, Galil Z, Manber U. Springer-Verlag; 1993:87–105.

    Google Scholar 

  11. Bafna V, Pevzner PA: Sorting by transpositions. SIAM J Discrete Math 1998, 11: 221–240.

    Article  Google Scholar 

  12. Walter MEMT, Dias Z, Meidanis J: Reversal and transposition distance of linear chromosomes. In Proceedings of String Processing and Information Retrieval (SPIRE1998). IEEE Computer Society; 1998:96–102.

    Google Scholar 

  13. Christie DA: Sorting by block-interchanges. Inform Process Lett 1996, 60: 165–169.

    Article  Google Scholar 

  14. Lin YC, Lu CL, Chang HY, Tang CY: An efficient algorithm for sorting by block- interchanges and its application to the evolution of Vibrio species. J Comput Biol 2005, 12: 102–112.

    Article  CAS  PubMed  Google Scholar 

  15. Lu CL, Wang TC, Lin YC, Tang CY: ROBIN: a tool for genome rearrangement of block-interchanges. Bioinformatics 2005, 21: 2780–2782.

    Article  CAS  PubMed  Google Scholar 

  16. Hannenhalli S: Polynomial algorithm for computing translocation distance between genomes. Discrete Appl Math 1996, 71: 137–151.

    Article  Google Scholar 

  17. Kececioglu JD, Ravi R: Of mice and men: algorithms for evolutionary distances between genomes with translocation. In Proceedings of the 6th ACM-SIAM Symposium on Discrete Algorithms (SODA1995). ACM/SIAM, San Francisco; 1995:604–613.

    Google Scholar 

  18. Hannenhalli S, Pevzner PA: Transforming men into mice (polynomial algorithm for genomic distance problem). In Proceedings of the 36th IEEE Symposium on Foundations of Computer Science (FOCS1995). IEEE Computer Society; 1995:581–592.

    Google Scholar 

  19. Meidanis J, Bias Z: Genome rearrangements distance by fusion, fission, and transposition is easy. In Proceedings of the 8th International Symposium on String Processing and Information Retrieval (SPIRE2001). Edited by: Navarro G. IEEE Computer Society; 2001:250–253.

    Google Scholar 

  20. Tillier ER, Collins RA: Genome rearrangement by replication-directed translocation. Nat Genet 2000, 26: 195–197.

    Article  CAS  PubMed  Google Scholar 

  21. Yancopoulos S, Attie O, Friedberg R: Efficient sorting of genomic permutations by translocation, inversion and block interchange. Bioinformatics 2005, 21: 3340–3346.

    Article  CAS  PubMed  Google Scholar 

  22. FFBI: a tool of circular genome rearrangement by fusions, fissions and block-interchanges[http://genome.life.nctu.edu.tw/FFBI/]

  23. The COG database[http://www.ncbi.nlm.nih.gov/COG/]

  24. Dorsch M, Lane D, Stackebrandt E: Towards a phylogeny of the genus Vibrio based on 16S rRNA sequences. Int J Syst Bacterial 1992, 42: 58–63.

    Article  CAS  Google Scholar 

  25. Kita-Tsukamoto K, Oyaizu H, Nanba K, Simidu U: Phylogenetic relationships of marine bacteria, mainly members of the family Vibrionaceae ,determined on the basis of 16S rRNA sequences. Int J Syst Bacteriol 1993, 43: 8–19.

    Article  CAS  PubMed  Google Scholar 

  26. Okada K, Iida T, Kita-Tsukamoto K, Honda T: Vibrios commonly possess two chromosomes. J Bacteriol 2005, 187: 752–757.

    Article  PubMed Central  CAS  PubMed  Google Scholar 

  27. Thompson JD, Higgins DG, Gibson TJ: CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice. Nucleic Acids Res 1994, 22: 4673–4680.

    Article  PubMed Central  CAS  PubMed  Google Scholar 

  28. Felsenstein J: PHYLIP: phylogeny inference package (version 3.2). Cladistics 1989, 5: 164–166.

    Google Scholar 

  29. Fraleigh JB: A First Course in Abstract Algebra. 7th edition. Addison-Wesley; 2003.

    Google Scholar 

  30. Meidanis J, Dias Z: An alternative algebraic formalism for genome rearrangements. In Comparative Genomics: Empirical and Analytical Approaches to Gene Order Dynamics, Map Alignment and Evolution of Gene Families. Edited by: Sankoff D, Nadeau JH. Kluwer Academic Publisher; 2000:213–223.

    Chapter  Google Scholar 

  31. Cormen TH, Leiserson CE, Rivest RL, Stein C: Introduction to Algorithms. 2nd edition. The MIT Press; 2001.

    Google Scholar 

  32. Gabow HN, Tarjan RE: A linear-time algorithm for a special case of disjoint set union. J Comput Syst Sci 1985, 30: 209–221.

    Article  Google Scholar 

  33. Tatusov RL, Koonin EV, Lipman DJ: A genomic perspective on protein families. Science 1997, 278: 631–637.

    Article  CAS  PubMed  Google Scholar 

  34. Koonin EV: Orthologs, paralogs, and evolutionary genomics. Annu Rev Genet 2005, 39: 309–338.

    Article  CAS  PubMed  Google Scholar 

  35. GenePlot[http://www.ncbi.nlm.nih.gov/sutils/geneplot.cgi]

  36. Garcia-Vallve S, Guzman E, Montero MA, Romeu A: HGT-DB: a database of putative horizontally transferred genes in prokaryotic complete genomes. Nucleic Acids Res 2003, 31: 187–189. [http://www.fut.es/~debb/HGT/]

    Article  PubMed Central  CAS  PubMed  Google Scholar 

Download references

Acknowledgements

The authors would like to thank anonymous referees for many constructive comments in the presentation of this paper. This work was supported in part by National Science Council of Republic of China under grants NSC 94-2213-E-009-141 (C.L. Lu) and NSC 94-2113-M-009-007 (H.-T. Chiu).

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Chin Lung Lu or Hsien-Tai Chiu.

Additional information

Authors' contributions

CLL and HTC contributed equally to this work. CLL conceived of the study, participated in the design and analysis of algorithm and drafted the manuscript. YLH participated in the algorithm design and software development, and carried out the bioinformatics experiments. TCW participated in the software development. HTC participated in the design and coordination of this study as well as in drafting the manuscript.

Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

Authors’ original file for figure 1

Authors’ original file for figure 2

Rights and permissions

Open Access This article is published under license to BioMed Central Ltd. This is an Open Access article is distributed under the terms of the Creative Commons Attribution License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Lu, C., Huang, Y., Wang, T. et al. Analysis of circular genome rearrangement by fusions, fissions and block-interchanges. BMC Bioinformatics 7, 295 (2006). https://doi.org/10.1186/1471-2105-7-295

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1471-2105-7-295

Keywords