Document Detail

Analysis of circular genome rearrangement by fusions, fissions and block-interchanges.
Jump to Full Text
MedLine Citation:
PMID:  16768797     Owner:  NLM     Status:  MEDLINE    
Abstract/OtherAbstract:
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 (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. ConclusionFFBI is a useful tool for the bioinformatics analysis of circular and multiple genome rearrangement by fusions, fissions and block-interchanges.
Authors:
Chin Lung Lu; Yen Lin Huang; Tsui Ching Wang; Hsien-Tai Chiu
Related Documents :
8362367 - The establishment of underdominant chromosomal rearrangements in multi-deme systems wit...
6334477 - Chromosome study of presbytis cristatus: presence of a complex y-autosome rearrangement...
17895227 - Human cooperation in social dilemmas: comparing the snowdrift game with the prisoner's ...
21752107 - A new family of bacterial condensins.
23626637 - Molecular and cytogenetic characterization of two patients with recurrent miscarriages ...
11528117 - Genomic structure and chromosome location of the human gene encoding the zinc finger au...
Publication Detail:
Type:  Journal Article; Research Support, Non-U.S. Gov't     Date:  2006-06-12
Journal Detail:
Title:  BMC bioinformatics     Volume:  7     ISSN:  1471-2105     ISO Abbreviation:  BMC Bioinformatics     Publication Date:  2006  
Date Detail:
Created Date:  2006-09-18     Completed Date:  2006-11-08     Revised Date:  2013-06-07    
Medline Journal Info:
Nlm Unique ID:  100965194     Medline TA:  BMC Bioinformatics     Country:  England    
Other Details:
Languages:  eng     Pagination:  295     Citation Subset:  IM    
Affiliation:
Department of Biological Science and Technology, National Chiao Tung University, Hsinchu 300, ROC, Taiwan. cllu@mail.nctu.edu.tw
Export Citation:
APA/MLA Format     Download EndNote     Download BibTex
MeSH Terms
Descriptor/Qualifier:
Algorithms
Chromosome Inversion
Computational Biology / methods*
Evolution, Molecular
Genome, Bacterial*
Genomics / methods*
Models, Genetic
Models, Theoretical
RNA, Ribosomal, 16S / genetics
Recombination, Genetic
Sequence Analysis, DNA
Software
Vibrio / genetics*
Chemical
Reg. No./Substance:
0/RNA, Ribosomal, 16S
Comments/Corrections

From MEDLINE®/PubMed®, a database of the U.S. National Library of Medicine

Full Text
Journal Information
Journal ID (nlm-ta): BMC Bioinformatics
ISSN: 1471-2105
Publisher: BioMed Central, London
Article Information
Download PDF
Copyright ? 2006 Lu et al; licensee BioMed Central Ltd.
open-access: This is an Open Access article distributed under the terms of the Creative Commons Attribution License (), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Received Day: 3 Month: 12 Year: 2005
Accepted Day: 12 Month: 6 Year: 2006
collection publication date: Year: 2006
Electronic publication date: Day: 12 Month: 6 Year: 2006
Volume: 7First Page: 295 Last Page: 295
ID: 1569878
Publisher Id: 1471-2105-7-295
PubMed Id: 16768797
DOI: 10.1186/1471-2105-7-295

Analysis of circular genome rearrangement by fusions, fissions and block-interchanges
Chin Lung Lu1 Email: cllu@mail.nctu.edu.tw
Yen Lin Huang2 Email: slippers.bi92g@nctu.edu.tw
Tsui Ching Wang1 Email: jingjing.bi92g@nctu.edu.tw
Hsien-Tai Chiu1 Email: chiu@cc.nctu.edu.tw
1Department of Biological Science and Technology, National Chiao Tung University, Hsinchu 300, ROC, Taiwan
2Department of Computer Science, National Tsing Hua University, Hsinchu 300, ROC, Taiwan

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) [1-10], transpositions [11,12], block-interchanges [13-15], 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.

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.

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 [24-26]. 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].


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, ..., ak), is simply called k-cycle and can be rewritten as (ai, ai+1, ..., ak, a1, ..., ai-1), where 2 ? i <k, or (ak, 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)).

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 = (a1 ? x, a2, ..., ai) and ?q = (b1 ? y, b2, ..., bj) where 1 ? p, q ? r, then in the composition ??, ?p and ?q are joined into a cycle (a1, a2, ..., ai, b1, b2, ..., bj), 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 = (a1 ? x, a2, ..., ai ? y, ai+1, ..., aj) where 1 ? p ? r, then in the composition ??, this cycle ?p is broken into two disjoint cycles (a1, a2, ..., ai-1) and (ai, ai+1, ..., aj), 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 = (a1 ? x, a2, ..., ai, b1 ? y, b2, ..., bj, c1 ? z, c2, ..., ck) where 1 ? p ? r, then in the composition ??, the cycle ?p becomes (a1, a2, ..., ai, c1, c2, ..., ck, b1, b2, ..., bj), 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,..., ak) be a cycle of ?, ?1 = (a1, ai) and ?2 = (ah, aj), where 1 <i ? k,1 ? h ? i - 1 and i ? j ? k. Then ?2?1? is the resulting permutation by exchanging the blocks [ah, ai-1] and [aj, ak] of ?p. That is, ?2?1 is a block-interchange event affecting on ? by swapping [ah, ai-1] and [aj, ak], 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,...,?kfor 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 m ? n -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+1 that 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+1 is a fusion, then we assume that it joins two chromosomes ?1 and ?2into ?; otherwise, if ?i+1 is 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+1 in ? (i.e., ??i MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFdpWCgaqbamaaBaaaleaaieGacqGFPbqAaeqaaaaa@300F@ = ?i+1 and ??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+1 from ? 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+1 is 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+1 is 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+1 and 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+1 and ??i+1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKfMBHbqedmvETj2BSbqee0evGueE0jxyaibaieIgFLIOYR2NHOxjYhrPYhrPYpI8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbbG8FasPYRqj0=yi0lXdbba9pGe9qqFf0dXdHuk9fr=xfr=xfrpiWZqaaeaabiGaaiaacaqabeaabeqacmaaaOqaaGGaciqb=n8aZzaafaWaaSbaaSqaamXvP5wqonvsaeHbhL2B2fMBULgic92BRbaceiGae4xAaKgceaGae03kaSIae0xmaedabeaaaaa@4216@ = (x, y).

Case 2: ?i+1 is a block-interchange. Clearly, the net rearrangement caused by ?i and ?i+1 is 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+1 in ?.

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 ? i ? n - 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(I?-1). If ?' = ???????1???1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFbpGCgaqbamaaBaaaleaacqWF7oaBaeqaaOGaf8xWdiNbauaadaWgaaWcbaGae83UdWMaeyOeI0IaeGymaedabeaakiablAciljqb=f8aYzaafaWaaSbaaSqaaiabigdaXaqabaaaaa@39F2@ is another product of ? 2-cycles with ?' = I?-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, ?2,...,??(?)}.

? V MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFveVvaaa@384B@I = {I1, I2,...,I?(I)}.

? ? MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ = {(?i, Ij) | 1 ? i ? ? (?), 1 ? j ? ? (I), and ?i and Ij 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 Ik of I there are two genes that appear in two different chromosomes ?i and ?j of ?, then (?i, Ik) ? ? MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ and (?j, Ik) ? ? 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).

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 Ji 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(Ji) be the collections of the genes in all chromosomes of ?i and Ji, respectively. Then gene(?i) = gene(Ji) and gene(?i) ? gene(?j) = ? for any 1 ? j ? i ? ?. Let ni be the number of genes in gene(?i). Clearly, n = n1 + n2 + ... + n?. In addition, it can be verified that I?-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(I?-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 Ji (i.e., ?i?i = Ji and hence ?i = Ji?j?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemOAaOgabaGaeyOeI0IaeGymaedaaaaa@31BB@) and then let ? = ????-1 ... ?1. Clearly, ? = I?-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 ni -f(Ji?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?ni?f(Ji?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 nfu, nbi and nfi denote the numbers of fusions, block-interchanges and fissions, respectively, in ?. Then ? = nfu + nbi + nfi. In the following, we shall show that ? can be expressed by a product of n -f(I?-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 (?iIk) ? ? MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFWesraaa@3785@ and (?j, Ik) ? ? 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, Ik can not be formed from ? by a fission later. Since all needed fusions come together in the beginning of ?, nfu = ?(?) - 1, which is the lower bound of the number of fusions required in any optimal series of events for transforming ? into I. After these nfu fusions, the resulting ? becomes only one chromosome. Since the next nbi block-interchanges are intra-chromosomal mutations, we have nfi = ?(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 nfu 2-cycles from I?-1 such that these 2-cycles function as the fusions that join all chromosomes of ? to a single one, if ? has multiple chromosomes, where nfu = ?(?) - 1. For simplicity, later in the text we use "cycle in I?-1" to represent " cycle in the cycle decomposition of I?-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 I?-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 Ik of I. Notice that u ? ?j and v ? ?i. Suppose that there is no cycle in I?-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 I?-1 are contained in some cycle of ?. Without loss of generality, let Ik = (u ? a1, a2, ..., ap ? v, ..., aq) and let p <q for simplifying the discussion. For each 1 ? x ? p, let ?(ax) = bx. Then we have I?-1(bx) = ax+1 (since I?-1? = I), which means that both bx and ax+1 are in the same cycle of I?-1 and hence they are also in the same cycle of ?. If ax is in ?i, then bx is also in ?i, which further leads to ax+1 ? ?i. Since u = a1 is in ?i, all a2, a3, ..., ap are in ?i. As a result, both of u and v are in ?i, a contradiction. Hence, there exists a cycle in I?-1 that contains x and y such that x ? ?i and y ? ?j.

The following lemma can be easily verified.

Lemma 6 (a1, a2,..., ai,..., aj) = (a1, a2,..., ai) (ai+1,..., aj) (ai, aj), 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 I?-1, say ?, such that x ? ?i and y ? ?j. Let ? = (a1, a2,..., aq), where q ? 2. Then we consider the following two cases. Case 1: x and y are adjacent in ?. For simplicity, let x = aq-1 and y = aq. Then by Lemma 6, ? = (a1, a2,..., aq-1) (aq) (x, y). Case 2: x and y are not adjacent in ?. Let x = ap and y = aq, where 1 ? p <q - 1. Then ? = (a1, a2,..., ap) (ap+1,..., aq) (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 I?-1 increases by one. Repeatedly based on the procedure above, we can derive consecutive nfu 2-cycles from I?-1, say ?1, ?2,...,?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@, that can join ? (?) cycles in ? to a single one, where nfu = ?(?) - 1. In other words, ?1, ?2,...,?nfu 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 ?' = ?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@?nfu?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaWccqGHsislcqaIXaqmaeqaaaaa@34DA@...?1?, I?'-1 = I?-1 ?1?2 ... ?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@, and f(I?'-1) = f(I?-1) + nfu. Hence, we can immediately claim the following.

Claim 1 ?' = ?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@?nfu?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaWccqGHsislcqaIXaqmaeqaaaaa@34DA@...?1?, I?'-1 = I?-1 ?1?2 ... ?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@, and f(I?'-1) = f(I?-1) + nfu, where nfu = ?(?) - 1.

Without loss of generality, we now suppose that ?(I) > 1. Similarly as the discussion above, we can derive consecutive nfi 2-cycles from ?'I-1, say ?1, ?2, ..., ?nfi 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 nfi = ?(I) - 1 and ?'I-1 is the inverse of I?'-1 (i.e., ?'I-1 = (I?'-1)-1). Then we have I' = ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@?nfi?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@ ... ?1I (hence ?1?2 ... ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@I' = I), ?'I'-1 = ?'I-1?1?2 ... ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ and f(?'I'-1) = f(?'I-1) + nfi. Conversely, we can use ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@, ?nfi?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 nfi chromosomes. Since ?'I-1 is the inverse of I?'-1, it can be easily obtained from I?'-1 by just reversing the order of the numbers in each cycle of I?'-1 and hence f(?'I-1) = f(I?'-1), which leads to f(?'I'-1) = f(I?'-1) + nfi. As a result, we have f(I'?'-1) = f(?'I-1) = f(I?'-1) + nfi since I'?'-1 = (?'I-1)-1. Therefore, the following claim can be obtained.

Claim 2 ?1?2 ... ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@I' = I, ?'I'-1 = ?'I-1?1?2 ... ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@and f(I'?'-1) = f(I?'-1) + nfi, where nfi = ?(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 nbi=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 nbi block-interchanges can be further expressed by a product of 2nbi 2-cycles, say ?11,?12,?21,?22,?,?nbi1,?nbi2 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 = ?nbi2?nbi1?nbi?12?nbi?11??12?11 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIXaqmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIXaqmaaGccqWIMaYscqWFepaDdaqhaaWcbaGaeGymaedabaGaeGOmaidaaOGae8hXdq3aa0baaSqaaiabigdaXaqaaiabigdaXaaaaaa@55EE@. Hence, we have the following claim immediately.

Claim 3 I' = ?nbi2?nbi1?nbi?12?nbi?11??12?11 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaaaleaacqaIXaqmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIYaGmaaGccqWFepaDdaqhaaWcbaGaemOBa42aaSbaaWqaaiabdkgaIjabdMgaPbqabaWccqGHsislcqaIXaqmaeaacqaIXaqmaaGccqWIMaYscqWFepaDdaqhaaWcbaGaeGymaedabaGaeGOmaidaaOGae8hXdq3aa0baaSqaaiabigdaXaqaaiabigdaXaaaaaa@55EE@?'.

Now we let ? = ?1?2...?nfi?nbi2?nbi1??12?11?nfu?nfu?1??1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaOGae8hXdq3aa0baaSqaaiabd6gaUnaaBaaameaacqWGIbGycqWGPbqAaeqaaaWcbaGaeGOmaidaaOGae8hXdq3aa0baaSqaaiabd6gaUnaaBaaameaacqWGIbGycqWGPbqAaeqaaaWcbaGaeGymaedaaOGaeSOjGSKae8hXdq3aa0baaSqaaiabigdaXaqaaiabikdaYaaakiab=r8a0naaDaaaleaacqaIXaqmaeaacqaIXaqmaaGccqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaOGae8NXdy2aaSbaaSqaaiabd6gaUnaaBaaameaacqWGMbGzcqWG1bqDaeqaaSGaeyOeI0IaeGymaedabeaakiablAciljab=z8aMnaaBaaaleaacqaIXaqmaeqaaaaa@5C9D@. Then the result of ?? = I (hence ? = I?-1) can be easily verified by Claims 1, 2 and 3 as follows.

In other words, ? is a product of (nfu + (n -f(I'?'-1)) + nfi) 2-cycles that can transform ? into I. More clearly, ? first uses ?1, ?2,...,?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@ (acting as nfu fusions) to transform ? into ?', then uses ?11,?12,?,?nbi1,?nbi2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeGymaedabaGaeGymaedaaOGaeiilaWIae8hXdq3aa0baaSqaaiabigdaXaqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabigdaXaaakiabcYcaSiab=r8a0naaDaaaleaacqWGUbGBdaWgaaadbaGaemOyaiMaemyAaKgabeaaaSqaaiabikdaYaaaaaa@475A@ (acting as nbi block-interchanges) to transform ?' into I', and finally uses ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@, ?nfi?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@,..., ?1 (acting as nfi fissions) to transform I' into I. By Claims 1 and 2, we can show that (nfu + (n -f(I'?'-1)) + nfi = n -f(I?-1) as follows.

nfu + (n -f(I'?'-1)) + nfi

= nfu + (n -f(I?'-1) + nfi) + nfi ??? (by Claim 2)

= nfu + (n -f(I?-1) + nfu -nfi) + nfi ??? (by Claim 1)

= n -f(I?-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 ? = I?-1 can be expressed as a product of n -f(I?-1) 2-cycles, we thus conclude that ? is an optimal series of the events that transform ? into I with first nfu fusions, then nbi block-interchanges and finally nfi fissions, where nfu = ?(?) -1, nbi=n?f(I????1)2=n?f(I??1)?nfu?nfi2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIafmysaKKbauaaiiGacuWFXoqygaqbamaaCaaaleqabaaccaGae4NeI0ccbaGae0xmaedaaOGaeiykaKcabaGaeGOmaidaaiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIaemysaKKae8xSde2aaWbaaSqabeaacqGFsislcqqFXaqmaaGccqGGPaqkcqGHsislcqWGUbGBdaWgaaWcbaGaemOzayMaemyDauhabeaakiabgkHiTiabd6gaUnaaBaaaleaacqWGMbGzcqWGPbqAaeqaaaGcbaGaeGOmaidaaaaa@53DC@, and nfi = ?(I) - 1.

Lemma 7 There is an optimal series of the events needed to transform ? into I in a canonical order such that all nfu fusions come before all nbi block-interchanges that come before all nfi fissions, where nfu = ?(?) - 1, nbi=n?f(I??1)?nfu?nfi2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa4MaeyOeI0IaemOzayMaeiikaGIaemysaKecciGae8xSde2aaWbaaSqabeaaiiaacqGFsisltCvAUfeBSjuyZL2yd9gzLbvyNv2CaeHbwvMCKfMBHbaceaGaa0xmaaaakiabcMcaPiabgkHiTiabd6gaUnaaBaaaleaacqWGMbGzcqWG1bqDaeqaaOGaeyOeI0IaemOBa42aaSbaaSqaaiabdAgaMjabdMgaPbqabaaakeaacqaIYaGmaaaaaa@51FA@and nfi = ?(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 I?-1 = (1, 11, 7, 9, 6) (3, 10) (4, 8, 12) and hence f(I?-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 nfu = ?(?) -1 = 2) from I?-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 I?-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 I?'-1 = I?-1?1?2 = (1, 11, 7, 9, 6) (4, 12). Next, we need to find three 2-cycles ?1, ?2 and ?3 (since nfi = ?(I) - 1 = 3) from ?'I-1, which is equal to (I?'-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 ?11 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeymaedaaaaa@3077@ and ?12 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@ (since n -f(I?-1) - nfu -nfi = 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 ?11 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeymaedaaaaa@3077@ = (11, 7) and ?12 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@ = (11, 1), we have ?12 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@?11 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?12 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaGaeeymaedabaGaeeOmaidaaaaa@3079@?11 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 ? = Ji?i?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ (respectively, ? = ??iJi?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 = (ak1,ak2,?,aklk 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 ak1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and akj MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemOAaOgaaaaa@30E0@, where 2 ? j ? lk, are in different cycles in ?i or not. If so, we let x = ak1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and y = akj MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemOAaOgaaaaa@30E0@. The reason is as follows. Suppose that both ak1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and akj MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemOAaOgaaaaa@30E0@ for all 2 ? j ? lk are in the same cycle in ?i. Then all of numbers ak1,ak2,?,aklk 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 ni 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. Ji) 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 Ji?i?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@ and let ? = Ji?i?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFYoGydaqhaaWcbaGaemyAaKgabaGaeyOeI0IaeGymaedaaaaa@31B9@;

2.2:???nfu = ?(?i) - 1, nfi = ?(Ji) -1, nbi=ni?f(?)?nfu?nfi2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa42aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWGMbGzcqGGOaakiiGacqWFZoWzcqGGPaqkcqGHsislcqWGUbGBdaWgaaWcbaGaemOzayMaemyDauhabeaakiabgkHiTiabd6gaUnaaBaaaleaacqWGMbGzcqWGPbqAaeqaaaGcbaGaeGOmaidaaaaa@4617@ and ?i = nfu + nbi + nfi;

2.3:???if ?(?i) > 1 then???/* To compute ?1, ?2,...,?nfu 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 = (aq1,aq2,?,aqlq MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacWaJaoyyae2aiWiGDaaaleacmcOamWiGdghaXbqaiWiGcWaJaIymaedaaOGaeiilaWIaemyyae2aa0baaSqaaiabdghaXbqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiabdggaHnaaDaaaleaacqWGXbqCaeaacqWGSbaBdaWgaaadbaGaemyCaehabeaaaaaaaa@447E@), where 1 ? q ? p and lq ? 2 */

???k = 1 and h = 2;

2.3.3:???for j = 1 to nfu do

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

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

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

??????endwhile

??????x = ak1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and y = akh 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@ = ?nfu MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaaaleqaaaaa@32FD@?nfu?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFgpGzdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdwha1bqabaWccqGHsislcqaIXaqmaeqaaaaa@34DA@...?1?i and ? = ??1?2...?nfu 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 ?(Ji) > 1 then/* To compute ?1, ?2,...,?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@ */

2.4.1:??????? = ?-1/* New ? becomes ??iJi?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaOGaemOsaO0aa0baaSqaaiabdMgaPbqaaiabgkHiTiabigdaXaaaaaa@3479@ */

2.4.2:???for each cycle of Ji 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 = (aq1,aq2,?,aqlq MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacWaJaoyyae2aiWiGDaaaleacmcOamWiGdghaXbqaiWiGcWaJaIymaedaaOGaeiilaWIaemyyae2aa0baaSqaaiabdghaXbqaaiabikdaYaaakiabcYcaSiablAciljabcYcaSiabdggaHnaaDaaaleaacqWGXbqCaeaacqWGSbaBdaWgaaadbaGaemyCaehabeaaaaaaaa@447E@), where 1 ? q ? p and lq ? 2 */

??????k = 1 and h = 2;

2.4.4:???for j = 1 to nfi do

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

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

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

??????endwhile

??????x = ak1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaeGymaedaaaaa@3073@ and y = akh MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaqhaaWcbaGaem4AaSgabaGaemiAaGgaaaaa@30DC@;

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

???endfor

2.4.5:??? = ?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@?nfi?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaWccqGHsislcqaIXaqmaeqaaaaa@34D7@... ?1Ji and ? = ??1?2...?nfi MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFipqEdaWgaaWcbaGaemOBa42aaSbaaWqaaiabdAgaMjabdMgaPbqabaaaleqaaaaa@32FA@;???/* Currently, ? is ??iJ?i?1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacuWFYoGygaqbamaaBaaaleaaieGacqGFPbqAaeqaaOGaemOsaO0aa0baaSqaaiabdMgaPbqaaiabgkHiTiabigdaXaaaaaa@3479@ */

???endif

2.5:???/* To compute ?11,?12,?,?nbi1,?nbi2 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:???nbi=ni?f(?)2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGUbGBdaWgaaWcbaGaemOyaiMaemyAaKgabeaakiabg2da9maalaaabaGaemOBa42aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWGMbGzcqGGOaakiiGacqWFZoWzcqGGPaqkaeaacqaIYaGmaaaaaa@3B8F@;

2.5.3:???for j = 1 to nbi 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...,ani MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaacqWGHbqydaWgaaWcbaGaemOBa42aaSbaaWqaaiabdMgaPbqabaaaleqaaaaa@311B@) */

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

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

??????for h = 1 to ni do

?????????index (ah) = h;

??????end for

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

??????index(u) ? k - 1 and index(v) ? k;

???????j2 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@ = ?j2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeOmaidaaaaa@30F3@?j1 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 ? = ??j1 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeymaedaaaaa@30F1@?j2 MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaqabeGadaaakeaaiiGacqWFepaDdaqhaaWcbaacbiGae4NAaOgabaGaeeOmaidaaaaa@30F3@;

???endfor

3:???Let ?i=?1??nfi?nbi2?nbi1??12?11?nfu??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 Ji, where 1 ? i ? ?. Clearly, Steps 2.1 costs O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@(ni) time for computing Ji?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 nfu 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 ni find-set operations and nfu 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 ni -?(?i) union operations to generate ?(?i) sets with each corresponding to a cycle in ?i, where ?(?i) = nfu + 1. Hence, the total number of union operations is ni - 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@(ni) 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@(ni) 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@(ni). 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@(nbini) time, where = O MathType@MTEF@5@5@+=feaafiart1ev1aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBamrtHrhAL1wy0L2yHvtyaeHbnfgDOvwBHrxAJfwnaebbnrfifHhDYfgasaacH8akY=wiFfYdH8Gipec8Eeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9s8qqaq=dirpe0xb9q8qiLsFr0=vr0=vr0dc8meaabaqaciaacaGaaeqabaWaaeGaeaaakeaaimaacqWFoe=taaa@383D@ni). 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 nbi 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.


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.


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.


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).


References
Hannenhalli S,Pevzner PA. Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversalsJ Assoc Comput Mach 1999;46:1–27.
Bader DA,Yan M,Moret BMW. A linear-time algorithm for computing inversion distance between signed permutations with an experimental studyJ Comput Biol 2001;8:483–491. [pmid: 11694179]
Bafna V,Pevzner PA. Genome rearrangements and sorting by reversalsSIAM J Comput 1996;25:272–289.
Berman P,Hannenhalli S. Hirschberg DS, Myers EFast sorting by reversalProceedings of the 7th Annual Symposium on Combinatorial Pattern Matching (CPM1996), Volume 1075 of Lecture Notes in Computer Science 1996Springer-Verlag; :168–185.
Berman P,Hannenhalli S,Karpinski M. Mohring RH, Raman R1.375-approximation algorithm for sorting by reversalsProceedings of the 10th Annual European Symposium on Algorithms (ESA2002), Volume 2461 of Lecture Notes in Computer Science 2002Springer-Verlag; :200–210.
Caprara A. Sorting by reversal is difficultProceedings of the 1th Annual International Conference on Research in Computational Molecular Biology (RECOMB1997) 1997ACM Press; :75–83.
Caprara A. Sorting permutations by reversals and Eulerian cycle decompositionsSIAM J Discrete Math 1999;12:91–110.
Christie DA. A 3/2-approximation algorithm for sorting by reversalsIn Proceedings of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA1998), ACM/SIAM 1998:244–252.
Kaplan H,Shamir R,Tarjan RE. Faster and simpler algorithm for sorting signed permutations by reversalsSIAM J Comput 2000;29:880–892.
Kececioglu JD,Sankoff D. Apostolico A, Crochemore M, Galil Z, Manber UExact and approximation algorithms for the inversion distance between two permutationsProceedings of the 4th Annual Symposium on Combinatorial Pattern Matching (CPM1993), Volume 684 of Lecture Notes on Computer Science 1993Springer-Verlag; :87–105.
Bafna V,Pevzner PA. Sorting by transpositionsSIAM J Discrete Math 1998;11:221–240.
Walter MEMT,Dias Z,Meidanis J. Reversal and transposition distance of linear chromosomesProceedings of String Processing and Information Retrieval (SPIRE1998) 1998IEEE Computer Society; :96–102.
Christie DA. Sorting by block-interchangesInform Process Lett 1996;60:165–169.
Lin YC,Lu CL,Chang HY,Tang CY. An efficient algorithm for sorting by block- interchanges and its application to the evolution of Vibrio speciesJ Comput Biol 2005;12:102–112. [pmid: 15725736]
Lu CL,Wang TC,Lin YC,Tang CY. ROBIN: a tool for genome rearrangement of block-interchangesBioinformatics 2005;21:2780–2782. [pmid: 15814563]
Hannenhalli S. Polynomial algorithm for computing translocation distance between genomesDiscrete Appl Math 1996;71:137–151.
Kececioglu JD,Ravi R. Of mice and men: algorithms for evolutionary distances between genomes with translocationProceedings of the 6th ACM-SIAM Symposium on Discrete Algorithms (SODA1995) 1995ACM/SIAM, San Francisco; :604–613.
Hannenhalli S,Pevzner PA. Transforming men into mice (polynomial algorithm for genomic distance problem)Proceedings of the 36th IEEE Symposium on Foundations of Computer Science (FOCS1995) 1995IEEE Computer Society; :581–592.
Meidanis J,Bias Z. Navarro GGenome rearrangements distance by fusion, fission, and transposition is easyProceedings of the 8th International Symposium on String Processing and Information Retrieval (SPIRE2001) 2001IEEE Computer Society; :250–253.
Tillier ER,Collins RA. Genome rearrangement by replication-directed translocationNat Genet 2000;26:195–197. [pmid: 11017076]
Yancopoulos S,Attie O,Friedberg R. Efficient sorting of genomic permutations by translocation, inversion and block interchangeBioinformatics 2005;21:3340–3346. [pmid: 15951307]
FFBI: a tool of circular genome rearrangement by fusions, fissions and block-interchanges
The COG database
Dorsch M,Lane D,Stackebrandt E. Towards a phylogeny of the genus Vibrio based on 16S rRNA sequencesInt J Syst Bacterial 1992;42:58–63.
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 sequencesInt J Syst Bacteriol 1993;43:8–19. [pmid: 8427811]
Okada K,Iida T,Kita-Tsukamoto K,Honda T. Vibrios commonly possess two chromosomesJ Bacteriol 2005;187:752–757. [pmid: 15629946]
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 choiceNucleic Acids Res 1994;22:4673–4680. [pmid: 7984417]
Felsenstein J. PHYLIP: phylogeny inference package (version 3.2)Cladistics 1989;5:164–166.
Fraleigh JB. A First Course in Abstract Algebra (7). 20037. Addison-Wesley;
Meidanis J,Dias Z. Sankoff D, Nadeau JHAn alternative algebraic formalism for genome rearrangementsComparative Genomics: Empirical and Analytical Approaches to Gene Order Dynamics, Map Alignment and Evolution of Gene Families 2000Kluwer Academic Publisher; :213–223.
Cormen TH,Leiserson CE,Rivest RL,Stein C. Introduction to Algorithms (2). 20012. The MIT Press;
Gabow HN,Tarjan RE. A linear-time algorithm for a special case of disjoint set unionJ Comput Syst Sci 1985;30:209–221.
Tatusov RL,Koonin EV,Lipman DJ. A genomic perspective on protein familiesScience 1997;278:631–637. [pmid: 9381173]
Koonin EV. Orthologs, paralogs, and evolutionary genomicsAnnu Rev Genet 2005;39:309–338. [pmid: 16285863]
GenePlot
Garcia-Vallve S,Guzman E,Montero MA,Romeu A. HGT-DB: a database of putative horizontally transferred genes in prokaryotic complete genomesNucleic Acids Res 2003;31:187–189. [pmid: 12519978]

Figures

[Figure ID: F1]
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.



[Figure ID: F2]
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.



Tables
[TableWrap ID: T1] Table 1 

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


Accession NO. Species Chromosome Size (Mbps)
[GenBank:NC_005139] V. vulnificus YJ016 1 3.4
[GenBank:NC_005140] V. vulnificus YJ016 2 1.9
[GenBank:NC_004603] V. parahaemolyticus RIMD 2210633 1 3.3
[GenBank:NC_004605] V. parahaemolyticus RIMD 2210633 2 1.9
[GenBank:NC_002505] V. cholerae El Tor N16961 1 3.0
[GenBank:NC_002506] V. cholerae El Tor N16961 2 1.0

[TableWrap ID: T2] Table 2 

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


Species Compared V. vulnificus V. parahaemolyticus V. cholerae
V. vulnificus 0 174 364
V. parahaemolyticus 174 0 391
V. cholerae 364 391 0

[TableWrap ID: T3] 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).


Species Compared V. vulnificus V. parahaemolyticus V. cholerae
V. vulnificus 0.000000 0.034524 0.050261
V. parahaemolyticus 0.034524 0.000000 0.076739
V. cholerae 0.050261 0.076739 0.000000


Article Categories:
  • Research Article


Previous Document:  Homozygous mutation of focal adhesion kinase in embryonic stem cell derived neurons: normal electrop...
Next Document:  Persisters: a distinct physiological state of E. coli.