 Proceedings
 Open Access
 Published:
Reconstructing genome mixtures from partial adjacencies
BMC Bioinformatics volume 13, Article number: S9 (2012)
Abstract
Many cancer genome sequencing efforts are underway with the goal of identifying the somatic mutations that drive cancer progression. A major difficulty in these studies is that tumors are typically heterogeneous, with individual cells in a tumor having different complements of somatic mutations. However, nearly all DNA sequencing technologies sequence DNA from multiple cells, thus resulting in measurement of mutations from a mixture of genomes. Genome rearrangements are a major class of somatic mutations in many tumors, and the novel adjacencies (i.e. breakpoints) resulting from these rearrangements are readily detected from DNA sequencing reads. However, the assignment of each rearrangement, or adjacency, to an individual cancer genome in the mixture is not known. Moreover, the quantity of DNA sequence reads may be insufficient to measure all rearrangements in all genomes in the tumor. Motivated by this application, we formulate the kminimum completion problem (kMCP). In this problem, we aim to reconstruct k genomes derived from a single reference genome, given partial information about the adjacencies present in the mixture of these genomes. We show that the 1MCP is solvable in linear time in the cases where: (i) the measured, incomplete genome has a single circular or linear chromosome; (ii) there are no restrictions on the chromosomal content of the measured, incomplete genome. We also show that the kMCP problem, for k ≥ 3 in general, and the 2MCP problem with the doublecutandjoin (DCJ) distance are NPcomplete, when there are no restriction on the chromosomal structure of the measured, incomplete genome. These results lay the foundation for future algorithmic studies of the kMCP and the application of these algorithms to real cancer sequencing data.
Introduction
Nearly all current genome sequencing studies sequence the DNA from a population of cells rather than from single cells. This is because present DNA sequencing technologies cannot sequence the DNA in a single cell without biasinducing DNA amplification steps. In the majority of applications, sequencing such a population of cells is not problematic because the DNA in every cell is nearly identical. However, there are two notable examples: metagenomics (e.g. environmental sequencing or microbiome studies) and cancer sequencing. In the former case, the genomic differences between cells are due to the presence of mixtures of microorganisms in the sample. In the latter case, the genomic differences between cells are due to somatic mutations that accumulate in individual tumor cells during the progression of cancer [1].
In this paper, we formulate the problem of inferring the organization of each genome present in a mixture in the case where: (1) the individual genomes result from an unknown sequence of genome rearrangements from a known (reference) genome; (2) the adjacencies (breakpoints) of the genomes in the mixture are measured. This situation arises in cancer genome studies where somatic structural aberrations (including inversions, translocations, duplications, deletions, or other rearrangements of large pieces of DNA) induce novel adjacencies, also called breakpoints, that join in the cancer genome two noncontiguous nucleotides from the normal genome. In current cancer sequencing projects, these novel adjacencies are determined from alignments of pairedend reads from cancer DNA to the reference human genome [2, 3]. However, these approaches generally do not measure all adjacencies present in the tumor. For example, the quantity of DNA sequence reads (coverage) may be insufficient to measure all adjacencies in all genomes in the tumor, particularly adjacencies that are present in a minority of cancer cells. Moreover, alignment of reads to repetitive regions is challenging, particularly for short reads produced by current sequencing technologies, and thus some adjacencies may not be reliably measured.
We formulate the kMinimum Completion Problem (kMCP) of determining the k genomes present in a mixture from a set of measured adjacencies that minimize the total distance between the reference genome and the k measured (i.e. cancer) genomes. The kMCP is a general problem that encompasses different subproblems that depend on the genomic distance used and the desired chromosomal content of the measured genomes. We show the following results: (1) A linear time algorithm for the 1MCP in the double cut and join (DCJ) distance [4] when the desired genome has no restrictions on its chromosomal content; (2) A linear time algorithm for the 1MCP in the DCJ distance when the desired genome has a single circular or linear chromosome; (3) the kMCP is NPcomplete for any distance when k ≥ 3; and (4) the 2MCP with DCJ distance is NPcomplete when the desired genome has no restrictions on its chromosomal content, or when the desired genome has all circular chromosomes.
We emphasize that the kMCP does not model all the issues arising in cancer sequencing: in particular, we restrict attention to copyneutral structural variants, and ignore single nucleotide mutations, small indels, or other large copy number aberrations. Single nucleotide mutations and small indels can be addressed separately as they do not produce novel adjacencies of the type studied in kMCP. Copy number aberrations are common in cancer, but appropriate handling of these mutations when measured in a heterogeneous mixture introduces an entirely different set of challenges: e.g. a deletion of a genomic segment in half of the cells in the mixture with a duplication of the same segment in the other half of the cells will be difficult to distinguish from no copy number change. Finally, we assume that all measured adjacencies are real, while in fact there are likely to be false positive adjacencies. Extending the model to consider these additional complexities is left for future work.
In following sections, we first provide a precise formulation of the kMCP and describe related work. Then, we provide algorithms and proofs of the complexity of the problem in various cases.
Definitions and problem statement
In this section we present some preliminary definitions and give the formal definition of kMCP.
A gene g is an oriented sequence of nucleotides, with two extremities: a head g_{ h } and a tail g_{ t }. An adjacency is an unordered pair of gene extremities. A genome \mathcal{G} on n genes is a set A\left(\mathcal{G}\right) of adjacencies such that each of the 2n gene extremities in \mathcal{G} is a member of at most one adjacency in A\left(\mathcal{G}\right). The gene extremities which are not members of any adjacency in A\left(\mathcal{G}\right) are called telomeres of \mathcal{G}, and we denote the set of all telomeres by T\left(\mathcal{G}\right) (Figure 1a). Through this work, we assume that the genes of a genome are distinct.
The genome graph of a genome \mathcal{G} is a graph whose labeled vertices are the gene extremities in \mathcal{G}, and whose edge set is A\left(\mathcal{G}\right). We denote the genome graph of \mathcal{G} by \mathsf{\text{gr}}\left(\mathcal{G}\right). Because each extremity is in at most one adjacency of A\left(\mathcal{G}\right), the graph \mathsf{\text{gr}}\left(\mathcal{G}\right) is a matching graph (not necessarily perfect). Note that the genome graph is uniquely determined by the genome, and conversely. For convenience, we also define the augmented genome graph \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right) to be the genome graph augmented with additional edges connecting extremities of the same gene, i.e., \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right) is the graph whose labeled vertices are the gene extremities in G, and whose edge set is A\left(\mathcal{G}\right)\cup \left\{\left\{{g}_{h,}{g}_{t}\right\}g\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{is}}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{a}}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{gene}}\phantom{\rule{2.77695pt}{0ex}}\mathsf{\text{in}}\phantom{\rule{2.77695pt}{0ex}}\mathcal{G}\right\}.
A chromosome of \mathcal{G} is the set of all adjacencies and telomeres of gene extremities in a connected component of the augmented genome graph (Figure 1b). A chromosome is linear (resp. circular) if the corresponding connected component is a path (resp. cycle) (Figure 1b). Note that an adjacency {g_{ h }, g_{ t }} represents a circular chromosome with the single gene g. A genome is circular or linear if all of its chromosomes are circular or linear, and we say it is mixed if it has both circular and linear chromosomes. A genome is unichromosomal if it has only one chromosome, and it is multichromosomal, otherwise. A chromosomal condition is a condition on the number or type of chromosomes in a genome. For example we can describe the structure of a genome by two chromosomal conditions: being (i) unichromosomal, and (ii) circular.
As described above a pairedend sequencing experiment provides the adjacencies A\left(\mathcal{G}\right) of the sequenced genome relative to the genes from a reference genome. However, our knowledge about a genome's adjacencies is typically incomplete. For a set \mathcal{C} of chromosomal conditions, a \mathcal{C} partial genome {\mathcal{G}}^{\prime} on n genes is a set of adjacencies A\left({\mathcal{G}}^{\prime}\right) such that there exists a set \mathit{\u0100}\left({\mathcal{G}}^{\prime}\right) of pairs of gene extremities such that A\left({\mathcal{G}}^{\prime}\right)\cup \mathit{\u0100}\left({\mathcal{G}}^{\prime}\right) is a genome with chromosomal condition \mathcal{C}. When \mathcal{C} is clear in the context we will say partialgenome instead of \mathcal{C} partial genome. The problems we study below involve adding the missing adjacencies in \mathcal{C} partial genomes to complete them into genomes with chromosomal condition \mathcal{C}. Sometimes we have an idea about the number or the structure of chromosomes in a genome. We define a completion of a partial genome relative to these chromosomal conditions. If \mathcal{G} is a genome, we say {\mathcal{G}}^{\prime}\subseteq \mathcal{G} provided A\left({\mathcal{G}}^{\prime}\right)\subseteq A\left(\mathcal{G}\right). A completio{n}_{\mathcal{C}} of a partial genome {\mathcal{G}}^{\prime} is a genome \mathcal{G} with {\mathcal{G}}^{\prime}\subseteq \mathcal{G} and satisfying the conditions in \mathcal{C}. When \mathcal{C} is clear in the context, we just say completion instead of {\mathsf{\text{completion}}}_{\mathcal{C}}.
A multigenome is a mixture of genomes with the same set of genes. Formally, the multigenome \mathcal{M} formed from genomes {\mathcal{G}}_{1},...,{\mathcal{G}}_{m} is a multiset A\left(\mathcal{M}\right) obtained from A\left(\mathcal{M}\right)=\phantom{\rule{0.3em}{0ex}}{\bigsqcup}_{i=1}^{m}A\left({\mathcal{G}}_{i}\right), the disjoint union of A{\left({\mathcal{G}}_{i}\right)}^{\prime}s (For a multiset S and an element r, if c_{ S }(r) is the number of copies of r in S, the disjoint union of two multisets A\bigsqcup B is a multiset in which each element r appears c_{ A }(r) + c_{ B }(r) times.). Note that the partition of the adjacencies in A\left(\mathcal{M}\right) into A\left({\mathcal{G}}_{1}\right),...,A\left({\mathcal{G}}_{m}\right) is not known. There is a corresponding genome graph, a multigraph whose vertices are the gene extremities, and whose edge set is the multiset A\left(\mathcal{M}\right). We denote the genome graph of a multigenome \mathcal{M} by \mathsf{\text{gr}}\left(\mathcal{M}\right).
The genome graph is related to the breakpoint graph in genome rearrangement studies. The breakpoint graph B\left({\mathcal{G}}_{1},\dots ,{\mathcal{G}}_{m}\right) of the genomes {\mathcal{G}}_{1},...,{\mathcal{G}}_{m} is an edgecolored multigraph whose labeled vertices are the 2n gene extremities and whose edges are all the adjacencies in {\bigsqcup}_{i=1}^{m}A\left({\mathcal{G}}_{i}\right), with each edge assigned a color according to its genome of origin. Thus, the only difference between the breakpoint graph and the genome graph is the lack of edgecoloring in the latter, reflecting our inability to measure the origin of each adjacency.
Our knowledge about a multigenome can be incomplete. For example a tumor is a mixture of different cancer genomes, and during sequencing process, we obtain a mixture of adjacencies from these genomes. We represent the mixtures of adjacencies by a partial multigenome. A partial multigenome is a multiset {\bigsqcup}_{i=1}^{m}A\left({\mathcal{G}}_{i}^{\prime}\right), where each {\mathcal{G}}_{i}^{\prime} is partial genome. We define the genome graph of a partial multigenome analogously to a multigenome.
If k is a positive integer and \mathcal{M} is a partial multigenome, a kcompletion of \mathcal{M} is a family of k genomes {\mathcal{M}}^{k}=\left\{{\mathcal{G}}_{1},...,{\mathcal{G}}_{k}\right\}, such that \mathcal{M}\subseteq \phantom{\rule{2.77695pt}{0ex}}{\bigsqcup}_{i=1}^{k}{\mathcal{G}}_{i}. Note that existence of a completion for a partial (multi) genome is dependent on the structure of the partial (multi) genome and the chromosomal conditions. Also, the existence of a completion does not imply its uniqueness.
We use a distance function to distinguish between different completions. A distance function on pairs of genomes (with the same set of genes), is a measure of dissimilarity between the genomes. Having selected a pairwise distance function we must define a distance between the k genomes in a mixture. Motivated by the fact that the different cancer genomes in a tumor are obtained by somatic genome rearrangements from a healthy genome, we model the evolution of the cancer genomes by a rooted tree in which all the cancer genomes are descendants of the healthy one. Suppose \mathcal{A} represents a healthy genome, and {\mathcal{M}}^{k} a mixture of k cancer genomes obtained by rearrangements of the genome \mathcal{A}. A mixture tree {\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}} is a rooted tree on {\mathcal{M}}^{k}\cup \left\{\mathcal{A}\right\}, such that the root vertex is \mathcal{A} and k genomes in {\mathcal{M}}^{k} are (some of) the vertices in {\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}}. If ϕ is a distance function on a pair of genomes, then the ϕvalue of {\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}}, denoted by \varphi \left({\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}}\right) is defined as follows:
where E is the set of edges in {\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}}.
We now define the kMinimum Completion Problem.
k Minimum Completion Problem ( k MCP) Given a \mathcal{C} partial multigenome \mathcal{M}, a positive integer k, a reference genome \mathcal{A}, and a distance function ϕ, find a kcompletion {\mathcal{M}}^{k} and a mixture tree {\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}} such that \varphi \left({\mathcal{T}}_{{\mathcal{M}}^{k},\mathcal{A}}\right) is minimum over all kcompletions and mixture trees. If no kcompletion exists for \mathcal{M}, we say that this kMCP does not have a valid solution. We say the kMCP is unrestricted if \mathcal{C}=\varnothing, and is restricted, otherwise.
As written, the kMCP is a general problem that encompasses many subproblems depending on chromosomal condition set \mathcal{C} and the distance ϕ. Common distances in genome rearrangement studies include the breakpoint distance [5], the HannenhalliPevzner distance [6] (which generalizes the reversal distance [7]), and the doublecutandjoin (DCJ) distance [4]. Below we will use the DCJ distance, which approximates the other distances [8].
For two genomes {\mathcal{G}}_{1} and {\mathcal{G}}_{2} on the same set of n genes, their doublecutandjoin (DCJ) distance, denoted by {d}_{DCJ}\left({\mathcal{G}}_{1},{\mathcal{G}}_{2}\right), is equal to
where c\left({\mathcal{G}}_{1},{\mathcal{G}}_{2}\right) is the number of cycles in B=B\left({\mathcal{G}}_{1},{\mathcal{G}}_{2}\right) and p\left({\mathcal{G}}_{1},{\mathcal{G}}_{2}\right) is the number of paths in B with odd number of vertices [8].
Remark. When at least one of the {{\mathcal{G}}_{i}}^{\prime}s are circular we have p\left({\mathcal{G}}_{1},{\mathcal{G}}_{2}\right)=0 and d_{ DCJ } (G_{1}, G_{2}) = n  c. Thus, having a larger number of cycles in their breakpoint graph is equivalent to having a smaller distance.
Related work
In comparison to other genome rearrangement problems considered in the literature, the kMCP has three distinguishing features. (1) The input is a mixture of adjacencies from multiple genomes and the genome of origin of each adjacency is unknown. (2) The set of adjacencies is incomplete: not every adjacency from every genome in the mixture is measured. (3) The ancestral relationships between the genomes in the mixture are unknown, and might include both "ancestral" and "present day" genomes. Some of these features have been considered individually in other work, but to our knowledge no previous work has considered all three together. The first feature bears some resemblance to the genome halving problem [9] of finding the doubled ancestor genome by minimizing a rearrangement distance. This problem and further generalizations to polyploidization [10] involves partitioning (or coloring) adjacencies to minimize a rearrangement distance. However, in general no adjacencies are missing and the distance is pairwise (i.e., no tree) in contrast to the 2MCP.
Regarding the second feature, several authors have considered the problem of inferring missing adjacencies in a manner that optimizes a genome rearrangement distance. Notably, [11] and [12] consider the problem of computing reversal distance between pairs of partially assembled genomes that are provided as unordered sequences of contigs. These problems were motivated by limitations in DNA sequence technologies that result in most wholegenome assemblies being highly fragmented and comprised of contigs whose relative ordering is unknown. These problems are variations of the 1MCP, where the reference genome \mathcal{A} also has missing adjacencies. In particular, [12] orient sets of contigs from two genomes in such a way that the number of cycles in the breakpoint graph of the resulting genomes is maximized, which they note "has been shown to approximate very well the reversal distance between them." However, there is no work on extending this analysis to more than two genomes.
Regarding the third feature, the genome median problem considers the problem of finding an ancestral genome that minimizes the distance between three given genomes [5, 13]. This is different from kMCP in that the three individual genomes are known (rather than mixed) and the genomes are complete with no missing adjacencies. Also, in the median problem the topology of the phylogenetic tree has been already inferred, while in kMCP we have to find an optimal topology for the phylogenetic tree as well.
Results
In this section we first consider the 1MCP problem. We present linear time algorithms that solve 1MCP in the cases where: (i) the measured, incomplete genome has a single circular or linear chromosome; (ii) there are no restrictions on the chromosomal content of the measured, incomplete genome.
Next we prove that the unrestricted kMCP is NPcomplete when k ≥ 3 for any distance function ϕ. Finally, we show that the unrestricted 2MCP, and the restricted 2MCP where all chromosomes are circular (i.e., \mathcal{C}=\left\{\mathsf{\text{circular}}\right\}), are NPcomplete for DCJ distance.
1MCP
Here, we consider the unrestricted 1MCP and two restricted versions of 1MCP problem: (1) the chromosomal condition set is {circular, unichromosomal}, which we denote by 1MCP_{ c }; (2) the chromosomal condition set is {linear, unichromosomal}, which we denote by 1MCP_{ℓ}. We first show that unrestricted version is linearly tractable. Then, we show that we can solve the 1MCP_{ c }in linear time. Finally, we prove a relation between 1MCP_{ c } and, 1MCP_{ℓ} which implies that 1MCP_{ℓ} is also solvable in linear time.
Note that 1MCP_{ℓ} is a variation of the Block Ordering Problem (BOP) considered in [12]. In our terminology, the BOP considers two partial genomes, and aims to complete both partial genomes into linear, unichromosomal genomes such that the pairwise distance between the completed genome is minimal. In [12], Gaul and Blanchette provide a linear algorithm for BOP. The algorithm we present for 1MCP_{ℓ} is simpler than the algorithm for the BOP in [12], and our algorithm is obtained from a straightforward algorithm (Algorithm 1 below) which solves 1MCP_{ c } in linear time.
We begin with the unrestricted 1MCP, where we have the following result.
Theorem 1. The unrestricted 1MCP with DCJ distance is linearly tractable.
Proof. In 1MCP we have a single partial genome \mathcal{G} and a reference genome \mathcal{A} (see Figure 2a). Since both \mathcal{G} and \mathcal{A} are matchings over the gene extremities, their breakpoint graph B\left(\mathcal{G},\mathcal{A}\right) consists of some paths and cycles. Suppose P_{1}, . . ., P_{ r } are all the paths such that the first and their last edges are adjacencies in \mathcal{A}. An optimal completion for \mathcal{G} can be obtained by adding an edge to \mathcal{G} which connects the end points of each P_{ i }, for 1 ≤ i ≤ r (see Figure 3), since we only can add edges between the vertices which are not incident with any edge in A\left(\mathcal{G}\right), i.e., the end vertices of P_{ i }'s. Note that adding other possible edges just create longer paths in B\left(\mathcal{G},\mathcal{A}\right). □
1MCP_{ c }: circular unichromosomal completion
Here we consider 1MCP_{ c }, the restricted 1MCP for a partial genome \mathcal{G} that we wish to complete to a circular unichromosomal genome {\mathcal{G}}_{c}. We assume that \mathcal{G} is not already a circular unichromosomal genome. Thus \mathcal{G} has a set F\left(\mathcal{G}\right) of free extremities, i.e., the extremities that are not in any adjacency in \mathcal{G}. Equivalently, F\left(\mathcal{G}\right) is the set of vertices of degree 0 in the genome graph \mathsf{\text{gr}}\left(\mathcal{G}\right). Finding the completion {\mathcal{G}}_{c} corresponds to finding a partition of F\left(\mathcal{G}\right) into pairs of extremities, i.e., into adjacencies. However, this partition cannot be arbitrary as the adjacencies defined by the partition must satisfy two constraints: (1) The resulting genome {\mathcal{G}}_{c} is circular unichromosomal, meaning that the augmented genome graph \overline{\mathsf{\text{gr}}}\left({\mathcal{G}}_{c}\right) has exactly one component, a cycle. Note that \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right) has only path components, since \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right)\subset \overline{\mathsf{\text{gr}}}\left({\mathcal{G}}_{c}\right) and \mathcal{G}\ne {\mathcal{G}}_{c}. (2) The resulting genome {\mathcal{G}}_{c} must minimize the distance between the reference genome \mathcal{A} and {\mathcal{G}}_{c}.
The first constraint on partitioning of F\left(\mathcal{G}\right) is that joining extremities at ends of a same path in \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right) by an edge, which we call an excluded edge, creates a cycle. This cycle must be selected carefully to obtain a unichromosomal genome. We define E\left(\mathcal{G}\right) to be the set of all excluded edges.
The second constraint on partitioning of F\left(\mathcal{G}\right) is provided by our desire to minimize the distance between the reference genome \mathcal{A} and {\mathcal{G}}_{c}. For the DCJ distance, we must maximize the number c\left(\mathcal{A},{\mathcal{G}}_{c}\right) of cycles in the breakpoint graph B=B\left(\mathcal{G},\mathcal{A}\right). Adding an edge to A\left(\mathcal{G}\right) increases the number of cycles in B if and only if the edge connects the endpoints of a same path in B. We call such an edge a desired edge and denote by {\mathcal{D}}_{\mathcal{A}}\left(\mathcal{G}\right) the set of all desired edges. Now we combine these two constraints into a graph.
We define the freeextremities graph, R=R\left(\mathcal{G},\mathcal{A}\right) to be a bicolored graph, whose vertex set is F\left(\mathcal{G}\right), and whose edge set is {D}_{\mathcal{A}}\left(\mathcal{G}\right)\bigsqcup E\left(\mathcal{G}\right). The edges from {D}_{\mathcal{A}}\left(\mathcal{G}\right) are colored blue and the edges from E\left(\mathcal{G}\right) are colored red. Note that R is a multigraph, and R consists of even cycles. This is because both {D}_{\mathcal{A}}\left(\mathcal{G}\right) and E\left(\mathcal{G}\right) are perfect matchings on F\left(\mathcal{G}\right): since both A\left(\mathcal{A}\right) and {{g_{ h }, g_{ t }}  g is a gene in \mathcal{G}} are perfect matchings on the set of all gene extremities. The restriction of these perfect matchings to F\left(\mathcal{G}\right) are {D}_{\mathcal{A}}\left(\mathcal{G}\right) and E\left(\mathcal{G}\right). See Figure 4b. Thus, we have
To find a completion of the partial genome \mathcal{G} we select pairs {u, v} of free extremities from F\left(\mathcal{G}\right) and add them as adjacencies to A\left(\mathcal{G}\right). Respecting the constraints encoded in the freeextremities graph R, we define a transformation update(R, {u, v}) that records the effect of adding adjacency {u, v} to \mathcal{G} (Figure 4). In particular, since u and v are free vertices of \mathcal{G}, there are paths {P}_{B}^{u} and {P}_{B}^{v} in B with an endpoint equal to u and v, respectively. Similarly, there are paths {P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{u} and {P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{v} in \overline{\text{g}\text{r}}\left(\mathcal{G}\right) having an endpoint equal to u and v, respectively. We may have {P}_{B}^{u}={P}_{B}^{v} or {P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{u}={P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{v}. By the definition of {D}_{\mathcal{A}}\left(\mathcal{G}\right), {P}_{B}^{u} and {P}_{B}^{v} are represented by blue edges b^{u} and b^{v} in R incident to u and v. Similarly by the definition of E\left(\mathcal{G}\right), {P}_{\overline{gr}\left(\mathcal{G}\right)}^{u} and {P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{v} are represented by red edges r^{u} and r^{v} in R incident to u and v. Adding the adjacency {u, v} to A\left(\mathcal{G}\right) will have the following effects on B and \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right):

(i)
u and v are no longer free vertices.

(ii)
If {P}_{B}^{u}\ne {P}_{B}^{v} then these paths merge into one path in B ∪ {u, v}. Otherwise these paths merge to create a cycle in B ∪{u, v}, and the number of cycles in the breakpoint graph increases by one.

(iii)
If {P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{u}\ne {P}_{\overline{\text{g}\text{r}}\left(\mathcal{G}\right)}^{v} these paths merge into one path in \overline{\text{g}\text{r}}\left(\mathcal{G}\right)\cup \left\{u,v\right\}. Otherwise these paths merge into a cycle in \overline{\text{g}\text{r}}\left(\mathcal{G}\right)\cup \left\{u,v\right\}. In the latter case, we should add {u, v} as an adjacency if and only if F\left(\mathcal{G}\right)=\left\{u,v\right\}. This is because adding {u, v} creates a cycle component in \overline{\text{g}\text{r}}\left(\mathcal{G}\right)\cup \left\{u,v\right\} (i.e., a circular chromosome) and if there are other free vertices any subsequent completion will not be unichromosomal.
Therefore, adding the adjacency {u, v} to A\left(\mathcal{G}\right) will have three corresponding effects on R: removing the vertices u and v from R based on (i) above, identifying b^{u} and b^{v} based on (ii) above, and identifying r^{u} and r^{v} based on (iii) above. We denote this process of updating R by update(R, {u, v}). Figure 4 gives an illustration of this process.
If {u, v} is a blue edge in R, then update(R, {u, v}) increases the number of cycles in the breakpoint graph B by one. Hence, to find a solution to 1MCP_{ c } we want to perform update(R, {u, v}) transformations with as many blue edges as possible. On the other hand, adding new adjacencies has to merge the paths in the graph \overline{\mathsf{\text{gr}}}\left(\mathcal{G}\right) in such a way that we end with a genome with exactly one circular chromosome. Let M_{ b }(R) be the maximum possible number of update transformations using blue edges for the graph R. The following theorem provides the exact value of M_{ b }(R).
Theorem 2. Suppose \mathcal{G} is a partial genome, \mathcal{A} is a reference genome, and R=R\left(\mathcal{G},\mathcal{A}\right) is their freeextremities graph. We have
where N_{ b }(R) is the number of blue edges, and c(R) is the number of cycles in R.
Proof. We prove the theorem by induction on N_{ b }(R). Suppose N_{ b }(R) = 1. Then necessarily R consists of a cycle of length 2 with one blue and one red edge, and c(R) = 1. Thus, we update the graph R with the unique (and the only possible) blue edge obtaining
Now suppose N_{ b }(R) > 1. Then \leftE\left(\mathcal{G}\right)\right\phantom{\rule{0.3em}{0ex}}>\phantom{\rule{0.3em}{0ex}}1, since \leftE\left(\mathcal{G}\right)\right\phantom{\rule{0.3em}{0ex}}=\phantom{\rule{0.3em}{0ex}}\left{D}_{\mathcal{A}}\left(\mathcal{G}\right)\right={N}_{b}. Suppose u, v\in F\left(\mathcal{G}\right), and \left\{u,v\right\}\notin E\left(\mathcal{G}\right), i.e., there is no red edge between u and v in R. Then, we have the following three cases for u and v: (i) u and v are from different cycles C_{ u } and C_{ v } in R, (ii) u and v are connected with a blue edge in a cycle C of R, or (iii) u and v are nonneighboring vertices in a cycle C of R.
Let R' = update(R, {u, v}) be the freeextremities graph after the update. Since u and v are incident with blue edges in R, after update(R, {u, v}) the number of blue edges decreases by one, i.e., N_{ b }(R') = N_{ b }(R)  1.
Thus, by induction hypothesis
Considering the above cases we have:

(i)
After update(R, {u, v}), C_{ u } and C_{ v } will shrink into one cycle, and c(R') = c(R)  1. Thus by (2), M_{ b }(R') = N_{ b }(R)  c(R) + 1. By choosing such an edge we can update R with N_{ b }(R)  c(R) + 1 blue edges.

(ii)
After update(R, {u, v}), C shrinks into a smaller cycle, and c(R') = c(R). Thus, by (2), M_{ b }(R') = N_{ b }(R)  c(R). Since {u, v} is a blue edge, we can update R with N_{ b }(R)  c(R) + 1 blue edges.

(iii)
After update(R, {u, v}), C splits into two smaller cycles. Thus c(R') = c(R) + 1. Thus, by (2), M_{ b }(R') = N_{ b }(R)  c(R)  1. So by choosing {u, v} we can update R with N_{ b }(R)  c(R)  1 blue edges.
By calculations above, choosing a pair {u, v} satisfying cases (i) or (ii) will result in a greater number of update moves with blue edges, than choosing a pair satisfies the case (iii). Moreover, considering pairs {u, v} from cases (i) and (ii) gives M_{ b }(R) = N_{ b }(R)  c(R) + 1. □
We call a pair {u, v} (which may or may not be an edge in R) satisfying case (i) or (ii) in the proof of Theorem 2 an optimal adjacency. Optimal adjacencies play an important role in finding a solution of 1MCP_{ c }: updating the freeextremities graph with these adjacencies results in the maximum number of blue edges used in update transformations. We have the following important corollary to this theorem.
Corollary 1. Suppose \mathcal{G} is a partial genome and \mathcal{A} is a reference genome. Adding any optimal adjacency to A\left(\mathcal{G}\right) leads to a solution for 1MCP_{ c }. In other words, for any optimal adjacency e, there exists a solution {\mathcal{G}}_{c} for 1MCP_{ c } which includes e as an adjacency.
Proof. By Theorem 2, adding any optimal adjacency to A\left(\mathcal{G}\right) will allow the maximum number of blue edges in the update process. Since each update transformation on a blue edge increases the number of cycles in the breakpoint graph by one, a sequence of update transformations on optimal adjacencies gives a solution {\mathcal{G}}_{c} to 1MCP_{ c }. Hence, if {\mathcal{G}}_{c} is the resulting completion of \mathcal{G}, we obtain the maximum number of cycles in the breakpoint graph B\left({\mathcal{G}}_{c},\mathcal{A}\right). □
A linear time (in number of genes) algorithm for solving 1MCP_{ c } adds optimal adjacencies according to cases (i) and (ii) in Theorem 2, and is shown in Algorithm 1. The following corollary is an immediate consequence of Corollary 1 and Algorithm 1.
Corollary 2. The 1MCP_{ c } is solvable in linear time.
Algorithm 1: Solving 1MCP_{ c }
Input : Partial genome \mathcal{G} and reference genome A.
Output: A 1completion {\mathcal{G}}_{c} that is circular unichromosomal and maximizes c\left({\mathcal{G}}_{c},\mathcal{A}\right).
1 begin
2 Construct the freeextremities graph R=R\left(\mathcal{G},\mathcal{A}\right);
3 {\mathcal{G}}_{c}\leftarrow \mathcal{G};
4 while c(R) > 1 do
5 u, v ← select two vertices from different cycles in R;
6 \mathcal{A}\left({\mathcal{G}}_{c}\right)\leftarrow \mathcal{A}\left({\mathcal{G}}_{c}\right)\cup \left\{u,v\right\};
7 R ← update (R, {u, v});
8 while the number of blue edges in R > 1 do
9 u, v ← select two vertices connected via a blue edge in R;
10 \mathcal{A}\left({\mathcal{G}}_{c}\right)\leftarrow \mathcal{A}\left({\mathcal{G}}_{c}\right)\cup \left\{u,v\right\};
11 R ← update (R, {u, v});
12 Add the single remaining excluded edge in E\left(\mathcal{G}\right) to A\left({\mathcal{G}}_{c}\right);
13 Output the resulting circular unichromosomal genome {\mathcal{G}}_{c};
14 end
1MCP_{ℓ}: linear unichromosomal completion
In this section we consider the 1MCP with chromosomal condition of a linear unichromosomal genome. We refer to this restricted problem as 1MCP_{ℓ}. We relate solutions of 1MCP_{ℓ} to solutions of 1MCP_{ c }. Combined with the results in the previous section, we derive a linear time algorithm for 1MCP_{ℓ}.
Recall that {\u0109}_{c}\left(\mathcal{G},\mathcal{A}\right) is the number of alternating cycles in the breakpoint graph B\left({\mathcal{G}}_{c},\mathcal{A}\right), for any solution {\mathcal{G}}_{c} of 1MCP_{ c }. Similarly, we define {\u0109}_{\ell}\left(\mathcal{G},\mathcal{A}\right) to be the number of alternating cycles in B\left({\mathcal{G}}_{\ell},\mathcal{A}\right), for any solution {\mathcal{G}}_{\ell} of 1MCP_{ℓ}. The following theorem relates the solutions of 1MCP_{ c } to the solutions of 1MCP_{ℓ}.
Theorem 3. Let \mathcal{G} be a partial genome, {\mathcal{A}}_{c} be a circular unichromosomal genome, and {\mathcal{A}}_{\ell} be a linear unichromosomal genome obtained from {\mathcal{A}}_{c} by removing an adjacency e. Suppose {\mathcal{A}}_{c} and {\mathcal{A}}_{\ell} are the reference genomes in 1MCP_{ c } and 1MCP_{ℓ}, respectively. From any solution {\mathcal{G}}_{c} to 1MCP_{ c } we obtain a solution {\mathcal{G}}_{\ell}^{\prime} for 1MCP_{ℓ}. Also, from any solution {\mathcal{G}}_{\ell} to 1MCP_{ℓ} we obtain a solution {\mathcal{G}}_{c}^{\prime} for 1MCP_{ c }. Moreover, {\u0109}_{c}\left(\mathcal{G},{\mathcal{A}}_{c}\right)={\u0109}_{\ell}(\mathcal{G},{\mathcal{A}}_{\ell})+\theta \left(e\right), where
Proof. First, suppose e is not in any cycle in the graph B\left(\mathcal{G},{\mathcal{A}}_{c}\right), and hence θ(e) = 1. Let {\mathcal{G}}_{c} be a solution to 1MCP_{ c }, and let {\mathcal{G}}_{\ell}^{\prime} be a linear unichromosomal genome obtained from {\mathcal{G}}_{c} by removing an adjacency f\in A\left({\mathcal{G}}_{c}\right)\backslash A\left(\mathcal{G}\right), such that f and e are in the same cycle in B\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right). Note that such edge f exists, since e is not in any cycle in B\left(\mathcal{G},{\mathcal{A}}_{c}\right) but it is in a cycle of B\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right). See Figure 5. Both gr\left({\mathcal{G}}_{c}\right) and \text{g}\text{r}\left({\mathcal{A}}_{c}\right) are perfect matchings as {\mathcal{A}}_{c} and {\mathcal{G}}_{c} are both circular. Removing the edges e and f from B\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right) will decrease the number of cycles by exactly one since e and f are in a same cycle in B\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right). Hence c\left({\mathcal{G}}_{\ell}^{\prime},{\mathcal{A}}_{\ell}\right)=c\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right)1, and we have,
where the last inequality follows from the definition of {\u0109}_{\ell}\left(\mathcal{G},{\mathcal{A}}_{\ell}\right) as the largest number of cycles in any linear chromosomal completion of \mathcal{G}.
Now suppose {\mathcal{G}}_{\ell} is a solution to 1MCP_{ℓ}, so \leftE\left({\mathcal{G}}_{\ell}\right)\right=\leftE\left({\mathcal{A}}_{\ell}\right)\right=1. Assume E\left({\mathcal{G}}_{\ell}\right)=\left\{{f}^{\prime}\right\}. Let {\mathcal{G}}_{c}^{\prime} be the circular unichromosomal genome obtained by adding {f}^{\prime} to {\mathcal{G}}_{\ell}. Note that there is at least one path component in B\left({\mathcal{G}}_{\ell},{\mathcal{A}}_{\ell}\right) which becomes a cycle after adding the edges f' to A\left({\mathcal{G}}_{\ell}\right) and e to A\left({\mathcal{A}}_{\ell}\right). Hence, {\u0109}_{\ell}\left(\mathcal{G},{\mathcal{A}}_{\ell}\right)+1=c\left({\mathcal{G}}_{\ell},{\mathcal{A}}_{\ell}\right)+1\le c\left({\mathcal{G}}_{c}^{\prime},{\mathcal{A}}_{c}\right)\le {\u0109}_{c}\left(\mathcal{G},{\mathcal{A}}_{}\right), and we have
Thus by (3) and (4) we have {\u0109}_{c}\left(\mathcal{G},{\mathcal{A}}_{c}\right)={\u0109}_{\ell}\left(\mathcal{G},{\mathcal{A}}_{\ell}\right)+1, which implies that c\left({\mathcal{G}}_{c}^{\prime},{\mathcal{A}}_{c}\right)={\u0109}_{c}\left(\mathcal{G},{\mathcal{A}}_{c}\right) and c\left({\mathcal{G}}_{\ell}^{\prime},{\mathcal{A}}_{\ell}\right)={\u0109}_{\ell}\left(\mathcal{G},{\mathcal{A}}_{\ell}\right). This means that {\mathcal{G}}_{c}^{\prime} and {\mathcal{G}}_{\ell}^{\prime} are solutions to 1MCP_{ c } and 1MCP_{ℓ} that are obtained from {\mathcal{G}}_{\ell} and {\mathcal{G}}_{c}, respectively, which completes the proof for the case θ(e) = 1.
Now suppose e is in a cycle in B\left(\mathcal{G},{\mathcal{A}}_{c}\right), and thus θ(e) = 2. Using the same argument above, we have {\u0109}_{c}\left(\mathcal{G},{\mathcal{A}}_{c}\right)2=c\left({\mathcal{G}}_{\ell}^{\prime},{\mathcal{A}}_{\ell}\right)\le {\u0109}_{\ell}\left(\mathcal{G},{\mathcal{A}}_{\ell}\right) since we cannot find such edge f and the number of cycles in B\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right) decreases by two, when we remove an edge from {\mathcal{G}}_{c} (to obtain a linear genome), and e from {\mathcal{A}}_{c} (to obtain the genome {\mathcal{A}}_{\ell}). Also, {\u0109}_{\ell}\left(\mathcal{G},{\mathcal{A}}_{\ell}\right)+2\le {\u0109}_{c}\left(\mathcal{G},{\mathcal{A}}_{c}\right), as adding the excluded edges of {\mathcal{A}}_{\ell} and {\mathcal{G}}_{\ell} will increase the number of cycles by 2. Thus, for this case we have {\u0109}_{c}\left(\mathcal{G},\mathcal{A}\right)={\u0109}_{\ell}\left(\mathcal{G},\mathcal{A}\right)+2 □
Notice that the function θ depends only on the partial genome \mathcal{G} and the reference genome {\mathcal{A}}_{c}, and not on the completion {\mathcal{G}}_{c}. Also, it is easy to see that θ is computable in linear time (in number of genes). We have the following corollary.
Corollary 3. The 1MCP_{ℓ} is solvable in linear time.
Proof. Suppose \mathcal{G} is a partial genome and {\mathcal{A}}_{\ell} is a linear chromosomal reference genome. Since {\mathcal{A}}_{\ell} is linear and unichromosomal, \leftE\left({\mathcal{A}}_{\ell}\right)\right=1. Assume that E\left({\mathcal{A}}_{\ell}\right)=\left\{e\right\}. Let {\mathcal{A}}_{c} be the circular unichromosomal genome obtained by adding e to A\left({\mathcal{A}}_{\ell}\right). Using Algorithm 1 we obtain a solution {\mathcal{G}}_{c} for 1MCP_{ c } with {\mathcal{A}}_{c} as the reference genome. Then by Theorem 3, we can transform the solution {\mathcal{G}}_{c} to a linear unichromosomal completion {\mathcal{G}}_{\ell} in linear time in the following way: If there exists an edge f\in A\left({\mathcal{G}}_{c}\right)\backslash A\left(\mathcal{G}\right) such that f and e are in the same cycle of the breakpoint graph B\left({\mathcal{G}}_{c},{\mathcal{A}}_{c}\right), i.e. θ(e) = 1, remove f from A\left({\mathcal{G}}_{c}\right). Otherwise θ(e) = 2 and we remove an arbitrary edge from A\left({\mathcal{G}}_{c}\right) to make a linear unichromosomal genome. Therefore, we obtain a solution to 1MCP_{ℓ} by viewing \mathcal{G} as a partial genome for a 1MCP_{ c }, solving the problem, and converting the solution {\mathcal{G}}_{c} of 1MCP_{ c } into a solution {\mathcal{G}}_{\ell} for 1MCP_{ℓ}. Since all of these steps are done in linear time (in number of genes), the proof is complete. □
(3 ≤ k)MCP
In the unrestricted case of the kMCP, the completion of a partial genome is always possible as we can add adjacencies and telomeres arbitrarily to the partial genome, since there is no restriction on the number and type of chromosomes in the resulting genome. The hardness of showing the existence of a kcompletion derives from the fact that finding a kcompletion for the partial multigenome results in a proper edge coloring for the genome graph of the partial multigenome.
Let G = (V, E) be a graph. We define the edgechromatic number of G, denoted χ'(G), to be the minimum number of colors required to obtain an edgecoloring of G. For each edgecoloring of G a color class is a set of all edges with a specific color. A color class defines a matching in the graph since no two edges of the same color share a vertex.
The following proposition shows the relation between the edgecoloring of a genome graph and the edge color classes of the corresponding breakpoint graph.
Proposition 1. If \mathcal{M} is a multigenome of k genomes then {\chi}^{\prime}\left(\mathsf{\text{gr}}\left(\mathcal{M}\right)\right)\le k.
Proof. Suppose \mathcal{M} is a mixture of k genomes {\mathcal{G}}_{1},\dots {\mathcal{G}}_{k}. Then the breakpoint graph B=B\left({\mathcal{G}}_{1},\dots ,{\mathcal{G}}_{k}\right) can be partitioned into the sets A\left({\mathcal{G}}_{i}\right) of adjacencies, and each A\left({\mathcal{G}}_{i}\right) can be considered as color class. So the edges of B can be colored with k colors. Since B and \mathsf{\text{gr}}\left(\mathcal{M}\right) are isomorphic, we have {\chi}^{\prime}\left(\mathsf{\text{gr}}\left(\mathcal{M}\right)\right)\le k. □
Using the same argument as in Proposition 1 we have:
Lemma 1. If \mathcal{M} is a partial multigenome of k partial genomes then {\chi}^{\prime}\left(\mathsf{\text{gr}}\left(\mathcal{M}\right)\right)\le k.
Now, in the following theorem we show a relation between the edgecoloring of a genome graph and the kcompletion of the corresponding partial multigenomes.
Theorem 4. Let \mathcal{M} be a partial multigenome. Then \mathcal{M} has an unrestricted kcompletion if and only if {\chi}^{\prime}\left(\mathsf{\text{gr}}\left(\mathcal{M}\right)\right)\le k, for any positive integer k.
Proof. (⇒) If \mathcal{M} has a k completion, then it can be considered as a partial multigenome of k genomes. Then by Lemma 1 we have {\chi}^{\prime}\left(\mathsf{\text{gr}}\left(\mathcal{M}\right)\right)\le k.
(⇐) Now assume that {\chi}^{\prime}\left(\mathsf{\text{gr}}\left(\mathcal{M}\right)\right)\le k. Hence, we can color the edges of \mathsf{\text{gr}}\left(\mathcal{M}\right) with k colors. If C_{1}, . . ., C_{ k } are the color classes of G, we have {\bigsqcup}_{i=1}^{k}{C}_{i}=E\left(G\right). Each C_{ i } is a matching in the graph \mathsf{\text{gr}}\left(\mathcal{M}\right), and is a set of adjacencies among the gene extremities. So we can define a partial genome {\mathcal{G}}_{i}^{\prime} by adjacencies A\left({\mathcal{G}}_{i}^{\prime}\right)={C}_{i}. The color classes partition the edges of \mathsf{\text{gr}}\left(\mathcal{M}\right) into k matchings, and we have \mathcal{M}={\bigsqcup}_{i=1}^{k}{\mathcal{G}}_{i}^{\prime}. Since there is no restriction on the completions, taking any completion {\mathcal{G}}_{i} for each {\mathcal{G}}_{i}^{\prime} results in a a kcompletion {\mathcal{M}}^{k}=\left\{{\mathcal{G}}_{1},\dots {\mathcal{G}}_{k}\right\} for \mathcal{M}; because \mathcal{M}={\bigsqcup}_{i=1}^{k}{\mathcal{G}}_{i}^{\prime}\subseteq \phantom{\rule{2.77695pt}{0ex}}{\bigsqcup}_{i=1}^{k}{\mathcal{G}}_{i}. □
Now, by Theorem 4 and using the following two classic theorems, we show that deciding whether there exists a valid solution to a (k ≥ 3)MCP is NPcomplete. For a graph G let Δ(G) be the maximum degree of G.
Theorem 5 (Vizing [14]). If G is a simple graph, χ'(G) = Δ(G) or Δ(G) + 1.
Theorem 6 (Holyler [15]). For a graph G, deciding whether χ'(G) = Δ(G) or Δ(G) + 1 is NPcomplete, if Δ(G) ≥ 3.
Corollary 4. If k ≥ 3, deciding whether there exists a valid solution to the unrestricted kMCP is NPcomplete.
Proof. In order to prove this corollary we reduce the edgecoloring problem to kMCP. Suppose G = (V, E) is a simple graph and k = Δ(G) ≥ 3. If V  is not even, add an isolated vertex so that the number of vertices in G is 2n for some positive integer n. Consider these 2n vertices as gene extremities of a set of n genes. Now, G defines a partial multigenome \mathcal{M} on these n genes, since the kMCP is unrestricted and any graph can be considered as a partial multigenome with no restriction on the chromosomal structure of its partial genomes. If there is a polynomial algorithm for kMCP, we can input to this algorithm \mathcal{M} as the partial multigenome, along with an arbitrary distance function ϕ and a healthy reference \mathcal{A}. First, suppose the algorithm gives a valid output. Since the algorithm is polynomial, we can find a kcompletion for \mathcal{M} in polynomial time, and by Theorem 4, we can find an edge coloring of G with k colors in polynomial time.This implies that the χ'(G) ≤ k. Now if the algorithm does not give a valid output, by Theorem 4 we have χ'(G) > k. This implies that the kMCP is NPcomplete, since the genome graph of a partial multigenome is always a multigraph and the class of simple graphs is a subset of the class of multigraphs. □
Note that in Corollary 4 we only considered the unrestricted version of kMCP. This allows us to assume that for each (multi) graph G there exists a partial multigenome \mathcal{M} such that G and \mathsf{\text{gr}}\left(\mathcal{M}\right) are isomorphic.Thus, if \stackrel{\u0304}{M}=\{\mathsf{\text{gr}}\left({\mathcal{M}}^{\prime}\right)  for all partial multigenomes {\mathcal{M}}^{\prime}} and if \u1e20 is the set of all multigraphs, then \stackrel{\u0304}{M}=\u1e20. However, one can restrict the kMCP by taking a set of chromosomal conditions. Consequently we may have \stackrel{\u0304}{M}\u228a\u1e20 such that the new restricted kMCP is polynomially tractable for all partial multigenomes (whose genome graph is in \stackrel{\u0304}{M}).
Corollary 5. If k ≥ 3, then the unrestricted kMCP is NPcomplete.
Proof. Since in solving a kMCP we need to find a kcompletion for its partial multigenome, by Corollary 4 the proof is complete. □
2MCP
In this section, we prove that the unrestricted 2MCP, and the restricted 2MCP where all chromosomes are circular (i.e., \mathcal{C}=\left\{\mathsf{\text{circular}}\right\}), are NPcomplete for DCJ distance. The NPcompleteness of the unrestricted 2MCP is done by a reduction from MAX 3AND problem. The MAX 3AND is a satisfiability problem, where given a set of conjunctions, each with 3 literals, the goal is to determine an assignment of Boolean value to each variable that maximizes the number of satisfied conjunctions. Note that in 2MCP there are only two possible topologies for the mixture tree: the branchtree and pathtree (Figure 2b, c).
Theorem 7. The unrestricted 2MCP with DCJ distance is NPcomplete.
In order to provide the proof of this theorem, we need the following lemmas.
Lemma 2. Suppose \mathcal{M} is a partial multigenome whose genome graph, \mathsf{\text{gr}}\left(\mathcal{M}\right), consists of m cycles C_{1}, . . ., C_{ m } with even lengths, and \mathcal{A} is a reference genome which consists of ℓ edges (i.e., it has ℓ adjacencies). Assume that there are ℓ' cycles among the cycles in \mathsf{\text{gr}}\left(\mathcal{M}\right) such that no edge in A is connected to any of their vertices. If ℓ' > 2ℓ then in every solution to the 2MCP, the optimal mixture tree is a pathtree.
Proof. Note that in 2MCP there are only two possible topologies for the mixture tree: the branchtree and pathtree (Figure 2b, c). Since the degree of each vertex in \mathsf{\text{gr}}\left(\mathcal{M}\right) is two, if we partition the edges of \mathsf{\text{gr}}\left(\mathcal{M}\right) into two perfect matchings {\mathcal{G}}_{1}^{\prime} and {\mathcal{G}}_{2}^{\prime}. Therefore, for any 2completion {\mathcal{M}}^{2}=\left\{{\mathcal{G}}_{1},{\mathcal{G}}_{2}\right\} we have {\mathcal{G}}_{1}^{\prime}={\mathcal{G}}_{1} and {\mathcal{G}}_{2}^{\prime}={\mathcal{G}}_{2}, since G_{1} and G_{2} are maximal (and circular) and we cannot add any edge to them. Also, for each {\mathcal{G}}_{i}\left(i=1,2\right) we have {\mathcal{G}}_{i}={\cup}_{j=1}^{m}{M}_{ij}, where M_{ ij } is a perfect matching on vertices of C_{ j }. Obviously, c\left({\mathcal{G}}_{1},{\mathcal{G}}_{2}\right)=m. We have c\left(\mathcal{A},{\mathcal{G}}_{i}\right)\le \ell for i = 1, 2, since \mathcal{A} has ℓ edges and each of them can be in at most one cycle in B\left({\mathcal{G}}_{i},\mathcal{A}\right). Therefore,
which shows that the d_{ DCJ }value of a path tree is smaller than the d_{ DCJ } value of a branch tree, and completes the proof. □
Lemma 3. Any MAX 3SAT instance is reducible to a MAX 3AND instance. Moreover, MAX 3AND is NPcomplete.
Proof. Let Δ = ℓ_{1} V ℓ_{2} V ℓ_{3} be a clause (disjunction) of three literals. Define
By using basic Boolean rules we have Δ ⇔ V_{S∈ℓ(Δ)}S.
Now, suppose \mathcal{I} is a MAX 3SAT instance which has m clauses Δ_{1}, . . ., Δ_{ m. } Let {\mathcal{I}}^{\prime} be an instance of MAX 3AND which consists of all the conjunctions in {\cup}_{j=1}^{m}L\left({\mathrm{\Delta}}_{j}\right). Since for every assignment to the variables at most one conjunction in L(Δ_{ j }), 1 ≤ j ≤ m, is satisfied and this happens if and only if Δ_{ j } is satisfied, then every optimal assignment to the variables in \mathcal{I} will be also an optimal assignment to the variables in \mathcal{I}. Therefore, MAX 3SAT is reducible to MAX 3AND, which implies that MAX 3AND is NPcomplete, as MAX 3SAT is NPcomplete [16]. □
Now, consider an instance \mathcal{I} of the MAX 3AND problem. We show how to represent \mathcal{I} by a genome graph and a reference genome, to make a reduction from MAX 3AND to 2MCP. Suppose we represent a variable x with a cycle C of even length, which we will call a variablecycle (see Figure 6a). This cycle has exactly two perfect matchings. We label one of these the true matching, T(x), and the other one the false matching, F(x) (see Figure 6b, c). We represent an assignment to a variable by choosing one of the matchings T(x) and F(x) and remove the edges in the other matching (see Figure 7).
Let ℓ(x_{1}), ℓ(x_{2}), ℓ(x_{3}) be three literals of variables x_{1}, x_{2}, x_{3}, and Δ = (ℓ(x_{1}) Λ ℓ(x_{2}) Λ ℓ(x_{3})) be a conjunction in \mathcal{I}. A conjunctioncycle of Δ is a cycle which is obtained as follows:

1.
For each i ∈ {1, 2, 3} consider an edge in T(x_{ i }) if ℓ(x_{ i }) = x_{ i }. If \ell \left({x}_{i}\right)={\stackrel{\u0304}{x}}_{i} take an edge in F(x_{ i }).

2.
Add three new edges, called conjunctionedges, to the three edges we chose in the previous step, and build a cycle of length 6. This cycle is a conjunctioncycle of Δ.
It is easy to see that an assignment α to x_{ i }'s satisfy the conjunction Δ if and only if the corresponding matching assignment to α keeps all the edges in the conjunctioncycle of Δ. We call a representation of a MAX 3AND instance \mathcal{I} with cycles and conjunctioncycles a graphical representation of \mathcal{I}.
If the literals of a variable appear in at most t conjunctions, and the variablecycles have length at least 4t, then by choosing the edges of conjunctioncycles properly, we have a graphical representation of a MAX 3AND instance, where no edge in a variablecycle is incident with two conjunction edges from different conjunctioncycles. This implies the following lemma:
Lemma 4. For each MAX 3AND instance \mathcal{I} there exists a graphical representation {\mathcal{I}}_{g} such that any assignments to the variables in \mathcal{I} which maximizes the number of satisfied conjunctions, induces a matching assignment that maximizes the number of conjunctioncycles, and vice versa.
Combining Lemmas 24 gives the proof of Theorem 7.
Proof of Theorem 7. Since the MAX 3AND is NPcomplete by Lemma 3, it suffices to reduce the MAX 3AND problem to the 2MCP. Suppose \mathcal{I} is a MAX 3AND instance. Assume \mathcal{I} has m conjunctions. We can add 3m + 1 new conjunctions δ_{1}, . . ., δ_{3m+1}where each δ_{ i } consists of a new single variable x_{ δi }; obviously in any optimal assignment the value of all the x_{ δi }'s should be true. Now by Lemma 4, there is a graphical representation {\mathcal{I}}_{g} such that finding an optimal assignment in \mathcal{I} is equivalent to finding a matching for each variablecycle such that the number of preserved conjunctioncycles are maximized. Note that there are 3m conjunctionedges and 3m + 1 variablecycles which are not connected to any conjunctionedge. Now, consider all the vertices in {\mathcal{I}}_{g} as gene extremities, and all the edges in the variablecycles as the adjacencies of a partial multigenome G. Also, consider all the conjunctionedges as the adjacencies of a reference healthy genome \mathcal{A}. In the 2MCP problem with partial multigenome G and reference healthy genome \mathcal{A}, the optimal tree is forced to be a pathtree by Lemma 2 (Figure 2). Therefore, in the optimal solution of this 2MCP, {\mathcal{G}}_{1} should be a genome such that the number of cycles in the breakpoint graph B\left({\mathcal{G}}_{1},\mathcal{A}\right) is maximized, i.e., the number of conjunctioncycles are maximized. Since {\mathcal{G}}_{1} is a union of perfect matchings of the variablecycles (see the proof of Lemma 2) it induces an assignment for the variables which maximizes the number satisfied conjunctions, and this completes the proof. □
We end this section by considering the restricted version of kMCP, where the chromosomal condition set is {circular}, i.e. all genomes have all circular chromosomes. We denote this restricted version by kMCP_{ c }, and the unrestricted version of kMCP by kMCP_{∅}. If opt(kMCP_{ c }) and opt(kMCP_{∅}) are the d_{ DCJ }value of a solution to kMCP_{ c } and kMCP_{∅}, respectively, then:
Theorem 8. For the kMCP_{ c } and kMCP_{∅} versions of kMCP with DCJ distance we have
Proof. First note that each solution to kMCP_{ c } is also a solution of kMCP_{∅}, since there is no restriction in kMCP. Hence, opt(kMCP_{ c }) ≥ opt(kMCP_{∅}). Second, for each solution to kMCP_{∅} if the resulting genomes are not circular we can add new edges to the genomes and make them circular. By adding the new edges the number of cycles in the breakpoint graph does not decrease which implies that the d_{ DCJ }value of the newly obtained genomes is not larger than opt(kMCP_{∅}). Therefore, these circular genomes form a solution of kMCP_{∅}. So opt(kMCP_{ c }) ≤ opt(kMCP_{∅}) completing the proof. □
Combining this theorem and Theorem 7 we have
Corollary 6. If k ≥ 2, then kMCP_{ c } with DCJ distance is NPcomplete.
Discussion and conclusion
In this paper we introduced the kMinimum Completion Problem (kMCP) motivated by the type of data produced in current cancer genome sequencing studies. We showed the following results. (1) A linear time algorithm for the unrestricted 1MCP; (2) a linear time algorithm for the restricted versions 1MCP where the genomes are circular or linear; i.e. the chromosomal condition set \mathcal{C} is {circular, unichromosomal} or \mathcal{C} is {linear, unichromosomal}; (3) the unrestricted kMCP is NPcomplete for any distance when k ≥ 3; and (4) the 2MCP with DCJ distance is NPcomplete in the unrestricted version and with the condition that all chromosomes are circular, i.e. \mathcal{C}=\left\{\mathsf{\text{circular}}\right\}. These results lay the foundation for future algorithmic studies of the kMCP and the application of these algorithms to real cancer sequencing data.
There are numerous further directions to pursue. As noted in the introduction, the model described in this paper does not consider all the complexities of cancer genome sequencing: most importantly copy number aberrations (duplications and deletions) and errors in the measured adjacencies are important features of cancer genome sequencing and should be addressed.
To handle errors, one might consider weighted versions of the kMCP where adjacencies have a weight corresponding to the confidence in the measurement. Regarding the current model, further work is needed on different chromosomal conditions, genomic distances, or other constraints on the relationships between the genomes in the mixture. For example, the case of linear chromosomes demands further attention, as human chromosomes are linear, although circular chromosomes have been observed in cancer [17]. Similarly, one may impose an upper bound on the number of chromosomes. One may also place restrictions on the structure of the mixture tree.
Another direction is to derive approximation algorithms. In the kMCP we aim to minimize distance over all possible kcompletion and mixture trees simultaneously. However, by separating the completion and distance optimization steps, one may employ techniques that have developed for other problems. For example, one may try to first complete the partial multigenomes using some clustering techniques, as have been employed in metagenomic studies [18]. With complete genomes, one could then try to find optimal mixture trees rooted at the reference genome. Depending on the allowed structure of the mixture tree, techniques from genome rearrangement phylogeny problems may be employed. For example, in the case of 2MCP, if the complete genomes are the leaves of the mixture tree, then the problem becomes the median problem (with the reference genome genome as the third genome) [5, 13]. Alternatively, if the genomes are the vertices of the mixture tree, then the tree construction problem becomes the problem of finding a minimum spanning tree, which is in generally easier. In between these extremes, where some of the genomes in the mixture are the leaves and some are intermediate nodes (ancestors), the problem becomes a Steiner tree problem. In the cancer application, any of these cases might provide useful approximations, as the process of clonal evolution of cancer [1] might mean that cells at intermediate stages of cancer progression remain present in the tumor.
References
Nowell PC: The clonal evolution of tumor cell populations. Science. 1976, 194 (4260): 2328. 10.1126/science.959840.
Raphael BJ, Volik S, Collins C, Pevzner PA: Reconstructing tumor genome architectures. Bioinformatics. 2003, 19 (Suppl 2): i162171.
Meyerson M, Gabriel S, Getz G: Advances in understanding cancer genomes through secondgeneration sequencing. Nat Rev Genet. 2010, 11 (10): 685696. 10.1038/nrg2841.
Yancopoulos S, Attie O, Friedberg R: Efficient sorting of genomic permutations by translocation, inversion and block interchange. Bioinformatics. 2005, 21 (16): 33403346. 10.1093/bioinformatics/bti535.
Tannier E, Zheng C, Sankoff D: Multichromosomal median and halving problems under different genomic distances. BMC Bioinformatics. 2009, 10:
Hannenhalli S, Pevzner PA: Transforming Men into Mice (Polynomial Algorithm for Genomic Distance Problem). FOCS. 1995, IEEE Computer Society, 581592.
Hannenhalli S, Pevzner PA: Transforming Cabbage into Turnip: Polynomial Algorithm for Sorting Signed Permutations by Reversals. J ACM. 1999, 46: 127. 10.1145/300515.300516.
Bergeron A, Mixtacki J, Stoye J: A new linear time algorithm to compute the genomic distance via the double cut and join distance. Theor Comput Sci. 2009, 410 (51): 53005316. 10.1016/j.tcs.2009.09.008.
ElMabrouk N, Sankoff D: The Reconstruction of Doubled Genomes. SIAM J Comput. 2003, 32 (3): 754792. 10.1137/S0097539700377177.
Warren R, Sankoff D: Genome Aliquoting Revisited. RECOMBCG, Volume 6398 of Lecture Notes in Computer Science. Edited by: Tannier E. 2010, Springer, 112.
Zheng C, Lenert A, Sankoff D: Reversal distance for partially ordered genomes. ISMB (Supplement of Bioinformatics). 2005, 502508.
Gaul É, Blanchette M: Ordering Partially Assembled Genomes Using Gene Arrangements. Comparative Genomics, Volume 4205 of Lecture Notes in Computer Science. Edited by: Bourque G, ElMabrouk N. 2006, Springer, 113128.
Xu AW: A Fast and Exact Algorithm for the Median of Three ProblemA Graph Decomposition Approach. RECOMBCG, Volume 5267 of Lecture Notes in Computer Science. Edited by: Nelson CE, Vialette S. 2008, Springer, 184197.
Vizing VG: On an estimate of the chromatic class of a pgraph. (Russian). Diskret Analiz. 1964, 3: 2530.
Holyer I: The NPCompleteness of EdgeColoring. SIAM J Comput. 1981, 10 (4): 718720. 10.1137/0210055.
Cook SA: The Complexity of TheoremProving Procedures. STOC. Edited by: Harrison MA, Banerji RB, Ullman JD. 1971, ACM, 151158.
Raphael BJ, Pevzner PA: Reconstructing tumor amplisomes. ISMB/ECCB (Supplement of Bioinformatics). 2004, 265273.
Wu YW, Ye Y: A Novel AbundanceBased Algorithm for Binning Metagenomic Sequences Using ℓTuples. RECOMB, Volume 6044 of Lecture Notes in Computer Science. Edited by: Berger B. 2010, Springer, 535549.
Acknowledgements
We thank the anonymous referees for helpful comments on an earlier version of this manuscript. This work was supported by a CAREER Award from the National Science Foundation (#1053753). In addition, BJR is supported by a Career Award from the Scientific Interface from the Burroughs Wellcome Fund and an Alfred P. Sloan Research Fellowship.
This article has been published as part of BMC Bioinformatics Volume 13 Supplement 19, 2012: Proceedings of the Tenth Annual Research in Computational Molecular Biology (RECOMB) Satellite Workshop on Comparative Genomics. The full contents of the supplement are available online at http://www.biomedcentral.com/bmcbioinformatics/supplements/13/S19
Author information
Authors and Affiliations
Corresponding authors
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors' contributions
All authors contributed equally to this work.
Rights and permissions
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Mahmoody, A., Kahn, C.L. & Raphael, B.J. Reconstructing genome mixtures from partial adjacencies. BMC Bioinformatics 13 (Suppl 19), S9 (2012). https://doi.org/10.1186/1471210513S19S9
Published:
DOI: https://doi.org/10.1186/1471210513S19S9
Keywords
 Reference Genome
 Linear Time Algorithm
 Partial Genome
 Blue Edge
 Mixture Tree