Abstract
Background
Phylogenetic tree reconciliation is a widely-used method for inferring the evolutionary histories of genes and species. In the duplication-loss-coalescence (DLC) model, we seek a reconciliation that explains the incongruence between a gene and species tree using gene duplication, loss, and deep coalescence events. In the maximum parsimony framework, costs are associated with these event types and a reconciliation is sought that minimizes the total cost of the events required to map the gene tree onto the species tree.
Results
We show that this problem is NP-hard even for the special case of minimizing the number of duplications. We then show that the problem is APX-hard when both duplications and losses are considered, implying that no polynomial-time approximation scheme can exist for the problem unless P = NP.
Conclusions
These intractability results are likely to guide future research on algorithmic aspects of the DLC-reconciliation problem.
Keywords: Phylogenetic reconciliation, Duplication-loss-coalescence model, NP-hardness, APX-hardness
Background
Phylogenetic tree reconciliation is a fundamental technique in the study of the evolutionary relationships of genes and species. Given a gene tree, a species tree, and the association between their leaves, we seek to explain the incongruence between the two trees using a set of evolutionary events. In the widely-used DL model, duplication and loss events are considered, while the DTL model considers horizontal transfers as well. Although these models can explain paralogous gene families, they do not address population effects. In contrast, coalescent models [1] can explain population effects but implicitly assume that all genes are orthologs. Recently, a new duplication-loss-coalescence (DLC) model has been proposed that combines the duplication-loss tree reconciliation model with a coalescent model. This DLC model has been shown to have higher accuracy of reconstructing evolutionary events than the DL model alone [2, 3].
Reconciliation is often performed using a maximum parsimony formulation in which each type of event in the model has an associated non-negative cost and the objective is to find a reconciliation of minimum total cost. Wu et al. [3] gave the first maximum parsimony algorithm for the DLC reconciliation problem. That algorithm has worst-case exponential time, leaving open the question of whether the problem can be solved in polynomial time.
In this paper, we show that the DLC parsimony problem is NP-hard and, further, has no polynomial-time approximation scheme (PTAS) unless P = NP. Specifically, we show that:
The DLC parsimony problem is NP-hard even when only seeking to minimize the number of duplications (i.e., loss and coalescence events have zero cost). However, the problem of minimizing duplications alone can be approximated using a PTAS for the multicut problem [4].
The DLC parsimony problem is APX-hard even when only duplications and losses are considered (i.e., coalescence events have zero cost), which implies that no PTAS exists for this problem unless P = NP.
Just as complexity results for DTL parsimony [5–7] guided the direction of algorithmic research on that problem, these results serve to guide future work on algorithms and heuristics for the DLC parsimony problem.
Finally, we note that while the DLC reconciliation problem considers duplications and losses, those events are treated differently from duplications and losses in the DL and DTL models due to the introduction of explicit gene loci in the DLC model. Thus, the complexity results that we offer here are not directly related to those for the DL and DTL models. The interested reader is referred to [5–7] for discussions of the DL and DTL models and known results about their computational complexity.
Problem statement and preliminaries
This section provides notation, definitions, and basic results that will be used throughout the paper.
Graph definitions
We begin with notation and definitions adapted from Wu et al. [3]. A tree is a rooted binary tree where V(T) denotes the set of nodes and E(T) denotes the set of directed edges, also called branches. An edge terminating at a leaf node is called a terminal edge. Denote by the set of leaves of T, the set of internal nodes, and the root node. In a binary tree, leaves correspond to extant taxa whereas internal nodes correspond to ancestral taxa.
Denote by c(v) the set of children of v, p(v) the parent of v, and e(v) the directed edge (p(v), v). The partial orders and on V(T) are defined by if u is on the path from r(T) to v and if v is on the path from r(T) to u. Note that as required by a partial ordering, and are reflexive ( and ). If and then u is said to be an ancestor of v and v is a descendant of u. The distance from a node u to v, where , is the length of the shortest path from u to v. The least common ancestor of nodes u, v, denoted , is the node w of maximum distance from r(T) such that and . For two nodes , we say that an edge e separates u and v if e is either on the path from to u or on the path from to v. For convenience, we also use as shorthand for the term “least common ancestor” when the context is clear.
Reconciliations
A leaf map is a function that associates each leaf in the gene tree with the leaf in the species tree in which that gene is found. This function need not be one-to-one nor onto; gene tree leaves that map onto the same species tree leaf correspond to paralogous genes. The labeled coalescent tree, defined below, formalizes the notion of a reconciliation in the DLC model.
Definition 1
(Labeled Coalescent Tree) Given gene tree G, species tree S, and leaf map , a labeled coalescent tree (LCT) for ( is a tuple where:
is a species map which maps each node of G to a node of S;
is a finite set, called the locus set of loci that have evolved within the gene family;
is a locus map that maps each node of G to a locus in
subject to the following constraints:
If , then ;
If , then for , ;
For where , if then ;
For , there exists s.t. ;
For , let Then , where equality holds everywhere except for .
Constraint 1 asserts that the species map extends the leaf map Le; constraint 2 asserts that a gene node is mapped to either the same node or an ancestor of each of its children; constraint 3 asserts that since extant gene nodes (leaves) mapped to the same extant species (leaves) are paralogs, they must be mapped to different loci; constraint 4 asserts that the locus set only includes a locus if at least one gene uses that locus; and constraint 5 asserts that each locus is created only once.1
A gene node g is said to be a speciation node with respect to map if for each child . Since a branch of the gene tree may span multiple branches of the species tree for a given map , implied speciation nodes are added as follows: For each non-root internal node such that either (1) or (2) p(g) is not a speciation node and introduce a new node h and replace edge (p(g), g) with the pair of edges (p(g), h) and (h, g) and define This process is repeated until there exists no node g that satisfies the conditions above. Wu et al. stipulate that the species map is defined first, then implicit speciation nodes are added as required, and finally the locus map is defined on the vertices of the gene tree, which now includes any implied speciation nodes.
The set of gene nodes mapped to a given species node s is denoted ; is the subset of whose children are mapped to descendants of s; and .2 For any set , let denote the set of loci present on all genes in set A.
Next, Wu et al. define duplication and loss events. A duplication event corresponds to the creation of a new locus while a loss event corresponds to a locus that is present at either the top of a species branch, or created via a duplication within the species branch, but no longer present at the bottom of the species branch. More precisely, these events are defined as follows:
Definition 2
(Duplication and Loss Events) Let G, S, and denote a gene tree, species tree, and leaf map , respectively, and let (, , ) be a LCT for .
Duplication events: Let , . If then g induces a duplication event on the edge .
Loss events: Let , . A locus induces a loss event on edge if .
Figure 1 shows a (a) gene tree, (b) species tree, and (c) a species map and locus map with a duplication event. Figure 2 shows a subtree of a gene tree and a subtree of a species tree with the species and locus maps inducing multiple loss events.
Fig. 1.

a A species tree and a b gene tree with the leaf map indicated by solid, dashed, and dotted lines. c A species and locus map for these two trees where circular nodes correspond to gene nodes in the gene tree and the rectangular node is an implied speciation node. In this species map, , , , , and . The two loci are indicated in solid red and dashed blue. There is a single duplication on edge indicated by a star. This edge separates paralogs and as well as paralogs and
Fig. 2.

A part of a gene tree mapped onto a species tree. Circular nodes correspond to gene nodes in the gene tree and rectangular nodes and correspond to implied speciation nodes. The two loci are indicated in solid red and dashed blue. There is a loss on the edges and because the red locus is present at the tops of each of those edges but not at the bottoms of those edges. There is also a loss on edge because the blue locus is present at the top of that edge but not the bottom
Definition 3
(Reconciliation Cost) Given gene tree G, species tree S, leaf map , and non-negative real number costs and for duplication and loss events, respectively, the cost of a LCT for with d duplications events and loss events is .
Definition 4
(DCL Optimization Problem (DCLOP)) Given gene tree G, species tree S, leaf map , and non-negative costs and for duplication and loss events, find a LCT for of minimum cost.
Definition 5
(DCL Decision Problem (DCLDP)) Given gene tree G, species tree S, leaf map , non-negative costs and for duplication and loss events, and non-negative decision parameter k, does there exist a LCT for of cost at most k?
Duplication placement
Duplication events are determined entirely by the locus map whereas loss events depend on both the species map and the locus map. For convenience in our subsequent analyses, we give an alternate characterization of the locus map and prove its equivalence with the original definition.
Definition 6
(Duplication Placement) Given gene tree G, species tree S, and leaf map , a duplication placement is a subset D of the edges of G such that for every pair of leaves where , if then D contains an edge that separates g and .
Theorem 1
Given gene tree G, species tree S, and leaf map , for every locus map in a LCT inducing d duplication events, there exists a duplication placement D such that . Conversely, for every duplication placement D such that , there exists a locus map that induces exactly d duplications.
Proof
Let be a locus map for and define D to be the set of all edges , , such that there is a duplication on edge e(g). By definition, |D| is the number of duplication events induced by . To show that D is a duplication placement, consider any pair of leaves where and . By Definition 1 (3), . Let P denote the path from to g and let denote the path from to . There must exist some edge (p(u), u) in such that since otherwise every node in P and is mapped to the same locus, contradicting the assumption that . Therefore, there is necessarily a duplication event on an edge in ; this edges separates g and and thus D is a duplication placement.
Conversely, let D be a duplication placement and consider the set comprising the subgraphs of G induced by the removal of the edges of D from G. Note that S(D) partitions the nodes V(G). Let and let map all nodes in to . It follows directly that this satisfies the requirements of a locus map in Definition 1 (3), (4), (5).
Henceforth, we use locus maps and duplication placements interchangeably. When defining a duplication placement D, we say that a duplication is placed on an edge (u, v) to mean that edge (u, v) is included in the set D. We say that a duplication is placed between two leaves g and to mean that there is a duplication placed on some edge that separates g and .
3SAT
Our reductions will be from 3SAT [8]: Given m Boolean variables and n clauses where each clause is the disjunction of exactly three literals over the given set of variables, we wish to determine whether there exists a valuation of the variables such that all clauses are satisfied. Without loss of generality, each literal occurs at most once per clause. In addition, the literals in the clauses are assumed to be ordered so that we may uniquely refer to the hth literal of each clause, . Since the clauses are ordered, we may also uniquely refer to the qth occurrence of a literal (or ) in the 3SAT instance. Finally, without loss of generality, we assume that no clause contains both a literal and its negation (since such clauses are trivially satisfied by every valuation and can thus be removed).
NP-hardness
We show that DLCDP is NP-hard, even when loss events have cost zero, by a reduction from 3SAT. To provide intuition, we begin with a small example of the reduction and sketch the proof of correctness. Afterwards, we formalize the reduction and prove its correctness.
Figure 3 shows the construction for the 3SAT instance comprising a single clause, . We construct a gene tree with a single clause gadget on the left and one variable gadget for each of and on the right. The variable gadget for variable is a subtree rooted at node . That node has a true branch and a false branch, corresponding to setting that variable true or false, respectively. The nodes at the end of the true and false branches each have two children, resulting in four leaves for each variable gadget. (In general, variable gadgets can be larger than this, with size dependent on the number of clauses in which appears). One leaf on the true side and one leaf on the false side of the variable gadget get mapped to the same species tree leaf, as represented by the dashed rectangles at the bottom right of Fig. 3 and labeled 1, 2, and 3 for , , and , respectively. Since each of these pairs of leaves are paralogs mapped to the same species leaf, there must be a duplication placed between them. As we shall see, our construction will force there to be a duplication on exactly one of the true or false branches incident on each , corresponding to setting each variable to true or false, respectively.
Fig. 3.

A small example of the reduction for a single clause
Next, the gadget for clause 1 has five internal nodes (this is true in general, not just in this small example). The three important internal nodes are , , corresponding to the first, second, and third literals in clause 1. Each of these internal nodes has one leaf child that is mapped to a shared species leaf, as indicated in the dashed rectangle at the bottom left labeled A. Since the first literal in clause 1 is , clause node and the true node in the variable gadget for each have a leaf child that is mapped to the same species node labeled B in the figure. Similarly, since the second literal of clause 1 is , clause node and the false node in the variable gadget for each have a leaf child that is mapped to the same species node labeled C in the figure. Finally, and the true node in the gadget have leaves on a shared species node D. All remaining leaves in the variable gadgets are mapped to their own individual unshared species leaves, placing no constraints on their locus mappings.
We set the cost of duplication events, , to 1 and the cost of loss events, , to 0. We set the decision parameter in this example to 5 which will force two duplications to be used in the clause gadget and one to be used in each of the three variable gadgets in a way that corresponds to choosing a valuation for the three variables (in general, the decision parameter for the number of duplications will be equal to the number of variables plus twice the number of clauses).
As noted earlier, the variable gadget leaves mapped to species 1, 2, and 3 require that there be at least one duplication placed within each variable gadget. Similarly, the three clause gadget leaves mapped to species A are paralogs and imply that there must be two duplications placed in the clause gadget rooted at . Thus, in order to use no more than the five given duplications, there must be exactly one duplication placed in each variable gadget and exactly two duplications placed in the clause gadget. Moreover, without loss of generality, we can assume that duplications do not occur on edges terminating at leaves, since such duplications can be pushed up one level in the tree without violating any of the species map constraints.
We now sketch how the proof of correctness will proceed. First, assume that there is a satisfying assignment for the 3SAT instance (for example, true, true, false). We place duplications on the corresponding edges in the variable gadgets. This satisfies the requirement that there exists a duplication placed between each pair of leaves associated with species 1, 2, and 3. Since, in our valuation, true satisfies the clause, we choose not to place a duplication on the edge terminating at in the clause gadget, instead placing duplications on the two edges terminating at and . This satisfies the requirement that a duplication is placed between each pair of the three clause leaves associated with species A. Moreover, the two leaves associated with species B have a duplication between them due to the duplication on ’s true edge and the leaves associated with groups C and D have duplications between them due to the duplications placed on the edges terminating at and .
To prove the converse direction, we assume a solution to the constructed DLCDP instance; as noted above, this implies that there exists one duplication placed in each variable gadget and two in the clause gadget. At least one duplication must be placed in the subtree rooted at , as it is the of two leaves in group A. Therefore, only one of the three remaining internal edges in the subtree rooted at can contain a duplication. Thus, at least one of the pairs of leaves mapped to species B, C, or D cannot be separated by a duplication placed inside the clause gadget and thus must be separated by a duplication placed inside a variable gadget. Consider, for example, the case that the pair of leaves in group B is separated by an edge in a variable gadget. By construction, that duplication must then occur on the true side of the gadget, which corresponds to setting to be true in the valuation which, in turn, satisfies this 3SAT instance.
Formal reduction
Given a 3SAT instance with m variables and n clauses , we construct an instance of DLCDP comprising m variable gadgets and n clause gadgets.
Variable gadgets
A variable gadget for variable , shown in Fig. 4, is a binary tree with root node which, in turn, has two children and which are roots of two subtrees. Node has two children: a leaf and an internal node . Each node has two children: a leaf and an internal node , . Node has two children: leaves and . Similarly, node has a child labeled and another child . Each node has a child and a child , . Node has children and .
Fig. 4.

A variable gadget corresponding to variable
Clause gadgets
A clause gadget for clause , shown in Fig. 5, is a binary tree rooted at node which in turn has children and . Node has children and . Finally, each node has two leaf children, and , .
Fig. 5.

A clause gadget corresponding to clause
Gene tree
The gene tree is constructed by assembling m variable gadgets and n clause gadgets into a single binary tree. Specifically, the gene tree is constructed from an arbitrary binary tree with leaves. The first m leaves become the roots of m variable gadgets corresponding to variables while the remaining n leaves become the roots of n clause gadgets corresponding to clauses .
Species tree
The species tree is an arbitrary binary tree with leaves labeled .
Leaf map
We define as follows:
, .
, ,
For each appearing as the h-th literal in clause , ,
For each appearing as the h-th literal in clause , ,
Every leaf whose mapping is not specified above is mapped to a unique species leaf such no other gene leaf is mapped to s.
Note that steps 1 through 4 of this leaf map define the mapping of gene tree leaves onto species leaves . By construction, after these first four steps in the leaf map, there remain gene tree leaves that are not yet mapped and species tree leaves that are not yet mapped onto. Thus, in step 5 of the leaf map, every gene tree leaf whose mapping was not established in parts 1 through 4 can be mapped to a unique species tree leaf.
Event costs and decision parameter
We set the cost of a duplication event to be 1 and all other event costs to be 0. The decision parameter is , meaning in this case that we seek a reconciliation with at most duplications. It is easily seen that this reduction can be performed in time polynomial in the size of the given 3SAT instance.
Proof of correctness
3SAT DLCDP
We first show that the existence of a satisfying valuation to a given 3SAT instance implies that the corresponding DLCDP instance is true. We prove this by constructing a duplication placement D of size as follows: For each literal , place a duplication on edge if is true in the valuation and place a duplication on edge if is false. This ensures that all pairs of leaves and , , are separated by an edge in D as required by part 1 of the leaf map above.
Next, consider an arbitrary clause and one of the literals whose true valuation satisfies (the case that the literal is is analogous). Without loss of generality, assume that is the first literal in clause (the case that the literal is the second or third literal in the clause is analogous). The placement of a duplication on edge ensures that leaves and are separated by an edge in D as required by part 3 (analogously, part 4) of the leaf map. Next, we place duplications on the edges and in the clause gadget for . This separates all leaves in part 2 of the leaf map and separates the remaining leaves in parts 3 and 4. Part 5 of the leaf map has no leaves requiring separation by D.
Since all of the duplication requirements implied by the leaf map are satisfied by this duplication placement and it uses exactly duplications, this is a solution to the constructed DLCDP instance.
DLCDP 3SAT
Given a solution to the DLCDP instance, we construct a satisfying valuation for the corresponding 3SAT instance. Because part 1 of the leaf map associates each pair and , , with the same species node, each such pair must be separated by an edge in D. By construction, each such pair must be separated by a distinct edge in the variable gadget for which is either an edge on the path from to or on the path from to . Separating all such pairs therefore requires m edges in D.
For each clause , , the leaves , and are mapped to the same species leaf by part 2 of the leaf map. Therefore, each pair of those leaves must be separated by an edge in D and, by the construction of the clause gadget, this requires two edges in each clause gadget and thus a total of 2n additional edges in D.
Thus, all are required to satisfy parts 1 and 2 of the leaf map, with exactly m edges selected from the variable gadgets and exactly 2n edges from the clause gadgets.
We construct a valuation of the boolean variables in the 3SAT instance as follows: for , set to true if there is a duplication placed on some edge on the path from to , and set to false if there is a duplication along the path from to .
Consider an arbitrary clause and its corresponding gadget in the gene tree. Part 2 of the leaf map requires that there be an edge in D separating each pair of of , , and , but, as noted above, only two edges of D are placed within that clause gadget. Since is the lca of and , at least one duplication must be placed in the subtree rooted at . Therefore, at least one of the three paths from to , , and does not contain an edge in D. Without loss of generality, assume that the path from to does not contain an edge in D and let be the first literal in clause (the argument is analogous if is the second or third literal of the clause). Then, by part 3 (analogously, part 4) of the leaf map, and must be separated by an edge in D. Since this edge occurs in the variable gadget for , by the observations above it must occur on the path from to , resulting in setting true and thereby satisfying clause .
Thus, all clauses are satisfied and the 3SAT instance is satisfiable.
APX-hardness of the DLC parsimony problem
When only the duplication cost is considered, the DLC optimization problem, DLCOP, can be approximated arbitrarily well using the polynomial-time approximation scheme (PTAS) for Multicut in binary trees [4] since duplications correspond exactly to removed edges in the Multicut problem. However, we now show that DLCOP has no PTAS in general, unless P = NP. Specifically, we show that DLCOP is APX-hard when duplications and losses are considered. We establish this result by a polynomial-time reduction from max3sat(b) which comprises a Boolean formula in 3-CNF form in which each variable appears at most B times in the clauses. Arora [9] showed that, for some , , there exists a constant value of B () and a polynomial-time reduction from any NP-complete problem to max3sat(b) that maps yes instances of to satisfiable instances of max3sat(b) and no instances of to instances of max3sat(b) in which less than of the total number of clauses are satisfiable.
Our reduction maps an instance of max3sat(b) with n clauses (for sufficiently large values of n) to an instance of DLCOP and a parameter b such that the optimal solution to the DLCOP instance is less than b if the max3sat(b) instance is satisfiable and more than if at most clauses can be satisfied, for some constant . If a polynomial-time -approximation algorithm exists for DLCOP, we can apply our gap-preserving reduction to generate a DLCOP instance from the max3sat(b) instance and then run the putative approximation algorithm to distinguish between satisfiable and -satisfiable instances of max3sat(b). Thus, the existence of a -approximation algorithm for DLC implies that , and the approximation-hardness of DLCOP follows.
Reduction
Given an instance of max3sat(b) comprising m variables and n clauses, we construct an instance of DLCOP comprising a gene tree, a species tree, a leaf map, and event costs. The reduction is based on the NP-hardness reduction in the previous section but introduces more complex gadgetry and uses nonzero cost for loss events.
Thorn gadget
An -thorn gadget, depicted in Fig. 6, is a binary tree with leaves constructed as follows: let the root node be . Each node has two children: internal node and leaf , . Node has two leaf children and . Leaf is denoted the end tip of the thorn gadget.
Fig. 6.

An -thorn gadget
Variable gadgets
Let B(i) and denote the number of occurrences of literals and , respectively. The variable gadget for variable , illustrated in Fig. 7, consists of a root node, , and two subtrees, one for each of the two literals of this variable. The left subtree has root , with two children: Internal node and leaf . In turn, has two children: Internal node and leaf . Each node , , has a child and a second child which is the root of a -thorn gadget with end tip . Node has two children, each of which is the root of a -thorn gadget. The end tips of these thorn gadgets are labeled and . This construction introduces a distinct -thorn gadget for each occurrence of in the 3SAT instance. We refer to the thorn gadget terminating at end tip as the thorn gadget for the qth occurrence of . The right subtree of , representing literal , is symmetric to the left subtree, but with and replaced with and , respectively, each replaced by , and each replaced by . This construction introduces a distinct -thorn gadget for each clause containing . We refer to the thorn gadget terminating at end tip as the thorn gadget for the qth occurrence of .
Fig. 7.

A gene tree variable gadget corresponding to variable
Clause gadgets
A clause gadget corresponding to clause , shown in Fig. 8, consists of root node with children and . Node has two children and . Each node , , is the root of a tree with two children, a leaf and a node , which in turn has two leaf children and .
Fig. 8.

A gene tree clause gadget corresponding to clause
Gene tree
The gene tree G is constructed as follows: the root of the gene tree is a node with children and . Node is the root of a -thorn gadget. Node is the root of an arbitrary binary subtree with leaves. Each of the first n of those leaves becomes the root of a clause gadget for clauses and the remaining m leaves become the roots of m variable gadgets for variables .
Species tree
The species tree, shown in Fig. 9, is rooted at node and is constructed from a path followed by , and finally . This path is henceforth referred to as the trunk of the tree. Each node has a leaf child , , and each node and has a leaf child and , respectively, . Finally, each node , which corresponds the hth literal in clause , has a child that is the root of a -thorn with end tip (henceforth referred to as the -thorn for ), , . Node has an additional leaf child so that the tree is binary.
Fig. 9.

The species tree
Leaf map and event costs
The leaf map Le is defined as follows:
and , ;
and , ;
Each leaf in the -thorn gadget rooted at node is mapped to ;
If the hth literal of is and this is the qth occurrence of in the 3SAT instance, then each leaf of the -thorn gadget for the qth occurrence of is mapped to the leaf with the same index in the -thorn gadget for and is mapped to the end tip, , of that -thorn gadget.
If the hth literal of is and this is the qth occurrence of in the 3SAT instance, then each leaf of the -thorn gadget for the qth occurrence of is mapped to the leaf with the same index in the -thorn gadget for and is mapped to the end tip, , of that -thorn gadget.
Let the event costs be as follows: . Finally, note that this reduction can be performed in polynomial time.
Proof of correctness
To prove the correctness of our reduction, we show that:
- If the max3sat(b) instance is satisfiable, the optimal cost of the constructed DLC instance is less than
- For sufficiently large n, if at most clauses of the max3sat(b) instance can be satisfied, the optimal cost is more than , where
Satisfiable MAX3SAT(B) instances
We first consider a satisfiable instance of max3sat(b). We show how a satisfying valuation can be used to construct a solution to the DLC instance whose cost is less than b.
The species map maps all internal nodes of G to except for and its descendant -thorn gadget which are mapped to ; each leaf is mapped to .
For each variable , we place one duplication in the corresponding variable gadget, on the edge if is assigned true and on the edge if is assigned false.3 This ensures that and are separated and that and are separated, as required by part 1 of the leaf map. For each clause , identify any one literal that satisfies that clause. If the first literal in satisfies the clause, place duplications on edges and . Alternatively, if the second literal in satisfies the clause, place duplications on edges and ; alternatively, if the third literal in satisfies the clause, place duplications on edges and . This placement of two duplications per clause gadget satisfies the constraints implied by part 2 of the leaf map, which requires that each pair of be separated and that each pair of be separated. Thus far, duplications have been placed. Finally, we place duplications on the terminal edges of the -thorn gadget, since all of its leaves are mapped to by part 3 of the leaf map and thus each pair of leaves must be separated. Note that parts 4 and 5 of the leaf mapping do not map multiple species leaves to the same trees leaves and thus require no additional duplication placements. The total number of duplications is thus .
Next, we count the number of losses. We do this by first counting losses on the -thorns of the species tree and then on the trunk of the species tree.
Each clause has three -thorns in the species tree, one branching from each of , , and . Without loss of generality, assume that clause is satisfied by its first literal and thus duplications were placed on and . Also, without loss of generality, assume that the first literal in is (the case for is analogous) and that this is the th occurrence of in the 3SAT instance. The duplication on implies that leaf is mapped to a different locus than all of the leaves of the -thorn for the th occurrence of in the variable gadget for . Since by part 4 of the leaf map, there is a loss event on each of the edges terminating at the leaves of the -thorn gadget for . Similarly, the duplication on edge incurs losses in the -thorn gadget for for a total of losses for clause . Since is satisfied by , we know that true and thus a duplication was placed on edge in the variable gadget for . Therefore, there is no duplication placed between and the leaves of the -thorn for the th occurrence of and thus there are no losses incurred on the -thorn for . Since there are n clauses and each contributes losses in the corresponding -thorns, losses are incurred thus far.
We next consider the number of losses incurred on the trunk of the species tree. Since , none of the loci created by the duplications in the -thorn required by part 3 of the leaf map induce loss events. There are nodes on the trunk and at most loci can be lost on each of the two edges emanating from each such node since there only other duplications.
Observing that , the total number of losses can thus be bounded from above by
Therefore, the total cost of this solution is bounded by
At most (1-)-satisfiable MAX3SAT(B) instances
To complete the proof, we show that given an instance of max3sat(b) in which the fraction of satisfiable clauses is at most (1-), the optimal cost of the corresponding DLC instance, for sufficiently large n, is greater than:
Part 1 of the leaf map requires at least one duplication placement per variable gadget, part 2 of the leaf map requires at least two duplications per clause gadget, and part 3 of the leaf map requires duplications to be placed in the -thorn gadget. Therefore, all valid duplication placements for this instance use at least duplications. We call a solution that uses exactly 5n duplications well-behaved.
A well-behaved solution must use exactly one duplication in each variable gadget. For each variable gadget for variable , this duplication must be placed on either the edge or the edge in order to separate both and and and . We interpret a duplication on edge as setting variable to false and a duplication on edge as setting to true. Thus, a well-behaved solution to the DLC Optimization Problem has a corresponding valuation of the variables in the 3SAT instance.
We now show that all optimal solutions to the DLC Optimization Problem are necessarily well-behaved. Consider a solution for our constructed DLC instance that is not well-behaved and thus comprises more than 5n duplications. A duplication placed outside of a variable, clause, or -thorn gadget cannot satisfy any of the duplication requirements imposed by the leaf map and thus can be removed, reducing the number of duplications and not increasing the number of losses.
If a variable gadget for contains more than one duplication, we may replace all duplications in that variable gadget with a single duplication on edge , which satisfies the duplication requirements of the leaf map and reduces the number of duplications by at least one. Introducing a new duplication may increase the number of losses. However, since each variable appears in at most B clauses in the max3sat(b) instance, the number of new losses introduced can be at most due to the B -thorn gadgets where losses are introduced and the O(n) internal vertices in the trunk of the species tree, which is dominated by for sufficiently large n. Thus, the total number of new losses incurred is less than for sufficiently large n and thus less than the cost of the saved duplication.
Similarly, if a clause gadget for contains more than two duplications, we can replace it with two duplications on the edges and . The saving of one duplication is larger than the cost of the additional losses.
We have established that an optimal solution to the constructed DLC instance is necessarily well-behaved. Next, observe that any species map must map , , , to a node v on the trunk of the species tree such that since has children and and while .
Consider an optimal solution for the DLC instance. Since this solution is well-behaved, it induces a valuation of the Boolean variables as described above. As noted earlier, if clause is satisfied by this valuation then a total of losses are incurred in two of the three -thorns , , and . Conversely, if clause is not satisfied by this valuation then a total of losses are incurred in all three of those -thorns. To see this, let the th literal, , of be (analogously, ) and let this be the th occurrence of this literal in the 3SAT instance. Since is not satisfied false [analogously, false and, therefore, there is a duplication placed on edge (analogously, ]. It follows that the loci of the leaves of the -thorn for the th occurrence of are different from the locus of , causing losses in the -thorn for since, as noted above, the path from to passes through every internal node of this thorn gadget. Thus, if is unsatisfied, its three -thorns in the species tree contribute losses.
We have shown that every satisfied clause contributes losses and every unsatisfied clause contributes losses. Therefore, if there are fewer than losses then there must be fewer than unsatisfied clauses. Since there are more than unsatisfied clauses by assumption, for sufficiently large n, the cost of a well-behaved solution, and thus of an optimal solution, is at least:
Conclusion
We have shown that the DLC parsimony problem is NP-hard even when only duplications are considered and APX-hard when duplications and losses are considered. These results may help guide the direction of future research on algorithms and heuristics for the DLC parsimony problem. In particular, although the existence of a polynomial-time approximation scheme for the DLC parsimony problem would imply that P = NP, approximation algorithms may exist and would be of significant potential value.
Authors' contributions
All authors contributed to the development of the results and writing of this paper. All authors read and approved the final manuscript.
Acknowlegements
The authors wish to thank Yi-Chieh Wu and Mukul Bansal for valuable advice and feedback.
Competing interests
The authors declare that they have no competing interests.
Funding
This work was funded by the U.S. National Science Foundation under Grant Number IIS-1419739. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Footnotes
Wu et al. include one other relation in the LCT, a partial ordering relation on V(G). This relation is used solely to define and count the number of so-called coalescence events. In this paper, we show that the reconciliation problem is intractable even when the cost of coalescence events is ignored. Therefore, while coalescence events are induced by the LCT, there is no need to explicitly identify these events here and we thus omit the partial ordering relation from the above definition.
Wu et. al use the names leaves and roots where we use bottoms and tops, respectively.
Note that this is opposite of what was done in the preceeding NP-hardness proof. This switch is necessary as becomes evident in the subsequent proof of correctness.
Contributor Information
Daniel Bork, Email: dbork@g.hmc.edu.
Ricson Cheng, Email: ricsonc@andrew.cmu.edu.
Jincheng Wang, Email: jiwang@g.hmc.edu.
Jean Sung, Email: jsung@g.hmc.edu.
Ran Libeskind-Hadas, Email: hadas@cs.hmc.edu.
References
- 1.Kingman JFC. The coalescent. Stoch Process Appl. 1982;13(3):235–248. doi: 10.1016/0304-4149(82)90011-4. [DOI] [Google Scholar]
- 2.Rasmussen M, Kellis M. Unified modeling of gene duplication, loss, and coalescence using a locus tree. Genome Res. 2011;22:755–765. doi: 10.1101/gr.123901.111. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 3.Wu Y-C, Rasmussen MD, Bansal MS, Kellis M. Most parsimonious reconciliation in the presence of gene duplication, loss, and deep coalescence using labeled coalescent trees. Genome Res. 2014;24(3):475–486. doi: 10.1101/gr.161968.113. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 4.C-ălinescu G, Fernandes CG, Reed B. Multicuts in unweighted graphs and digraphs with bounded degree and bounded tree-width. J Algorithm. 2003;48(2):333–359. doi: 10.1016/S0196-6774(03)00073-7. [DOI] [Google Scholar]
- 5.Bansal MS, Alm EJ, Kellis M. Efficient algorithms for the reconciliation problem with gene duplication, horizontal transfer and loss. Bioinformatics. 2012;28(12):283–291. doi: 10.1093/bioinformatics/bts225. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 6.Ovadia Y, Fielder D, Conow C, Libeskind-Hadas R. The cophylogeny reconstruction problem is NP-complete. J Comput Biol. 2011;18(1):59–65. doi: 10.1089/cmb.2009.0240. [DOI] [PubMed] [Google Scholar]
- 7.Tofigh A, Hallett MT, Lagergren J. Simultaneous identification of duplications and lateral gene transfers. IEEE/ACM Trans Comput Biol Bioinform. 2011;8(2):517–535. doi: 10.1109/TCBB.2010.14. [DOI] [PubMed] [Google Scholar]
- 8.Garey MR, Johnson DS. Computers and intractability: a guide to the theory of NP-completeness. New York: W. H. Freeman & Co.; 1979. [Google Scholar]
- 9.Arora S. Probabilistic checking of proofs and hardness of approximation problems. Ph.D. Thesis, Princeton: Princeton University, Department of Computer Science; 1994
