 Proceedings
 Open Access
 Published:
Gene tree correction guided by orthology
BMC Bioinformaticsvolume 14, Article number: S5 (2013)
Abstract
Background
Reconciled gene trees yield orthology and paralogy relationships between genes. This information may however contradict other information on orthology and paralogy provided by other footprints of evolution, such as conserved synteny.
Results
We explore a way to include external information on orthology in the process of gene tree construction. Given an initial gene tree and a set of orthology constraints on pairs of genes or on clades, we give polynomialtime algorithms for producing a modified gene tree satisfying the set of constraints, that is as close as possible to the original one according to the RobinsonFoulds distance. We assess the validity of the modifications we propose by computing the likelihood ratio between initial and modified trees according to sequence alignments on Ensembl trees, showing that often the two trees are statistically equivalent.
Availability
Software and data available upon request to the corresponding author.
Introduction
A gene tree represents the evolutionary relationships between a set of homologous genes. Gene trees are useful to unveil the molecular evolutionary events that have shaped today's genomes. They are traditionally constructed from sequence alignments [1], while recent methods also use the information from species phylogenies through reconciliation [2–8]. But constructing good gene trees is still challenging: for example, while they yield orthology and paralogy relationships between genes, often alternative or additional information, such as conserved synteny, is used to provide or confirm orthology [9].
The orthology information suggested by gene tree reconciliation may be contradictory with that suggested by an external source, such as conserved synteny [10, 11]. We explore a way to reconcile them by performing slight modifications to a given gene tree in order to fit external information on orthology.
We propose two kinds of gene tree modification, which consist in computing a gene tree as close as possible to the initial one, satisfying two kinds of constraints. One kind is a set of pairs of genes that should be orthologous but are seen as paralogous in the initial tree. This occurs when orthologs are computed with synteny for example [11]. The other kind is a set of clades that should be rooted by speciation nodes but are rooted by duplication nodes in the initial tree. This occurs when dubious duplications are detected because of the absence of extant support for a duplication, or because of ancestral synteny information [10]. We give polynomialtime algorithms for both problems under the RobinsonFoulds distance, thus proposing several ways to improve gene trees according to external information.
There are very few gene tree reconstruction methods including synteny information [12], whereas integrating this information could be valuable [13]. The modifications we propose could be included in a local search framework as other kinds of modifications based on duplications and losses [14–17]. We assess the validity of the modifications we propose by computing the likelihood ratio between initial and modified trees according to sequence alignments on Ensembl trees [18], showing that often the two trees are statistically equivalent.
Different gene tree corrections
Phylogenies
A phylogeny is a rooted binary tree which represents the evolutionary relationships between the nodes. Internal nodes are extinct ancestors, leaves are extant elements and edges represent direct descents between parents and children. Given a node x of a phylogeny T, we call an ancestor of x any node on the path from the root (inclusively) of T to the parent of x. For a leafsubset X of T, lca_{ T } (X), the lowest common ancestor of X, denotes the farthest node from the root which is an ancestor of all elements of X. We use the notation l(x), and call the clade of x, the set of leaves which are descendant from an internal node x. We also denote by l(T ) the set of leaves, and by V(T ) the set of nodes of T.
We define two kinds of phylogenies: species trees and gene trees. Species are identified with genomes. For our purpose, genomes are simply sets of genes. Therefore, each gene g, extant or ancestral, belongs to a species s(g). We then have one species tree S, where nodes are identified with species, and many gene trees, where nodes are identified with genes. The set of genes in a gene tree is called a gene family.
A reconciliation between a gene tree G and a species tree S consists in assigning to each gene g of G (both extant and ancestral) the species s(g) corresponding to the lowest common ancestor in S of the set {s(l), for all l ∈ l(g)}. Every internal node g of G is labeled by an event E(g), verifying E(g) = speciation if s(g) is different from s(g_{ℓ}) and s(g_{ r }) where g_{ℓ} and g_{ r } are the two children of g, and E(g) = duplication otherwise.
The reconciliation of G and S gives all informations about the gene family history. In particular it defines the gene content of an ancestral species at the time of speciation. A reconciliation also implies the orthology and paralogy relationships between genes: two genes g and g' of T are said to be orthologous if E(lca_{ T }(g, g')) = speciation; g and g' are paralogous if E(lca_{ T }(g, g')) = duplication. For example, Figure 1(1) shows a gene tree reconciled with a species tree. In this gene tree a_{1} and b_{1} are paralogous as their lowest common ancestor is d which is a duplication node, while a 2 and b 2 are orthologous. The number of dots inside big circles represents the number of genes in the corresponding genome (each big circle represents a species).
The RobinsonFould (RF) distance
The RF distance RF (G, G') between two phylogenies G and G' is the cardinality of the symmetric difference between the cladesets of the two trees. In other words, denote by c(G, G') the number of clades that are in G but not in G'. Then RF (G, G') = c(G, G') + c(G', G).
In this paper, since we only compare rooted binary trees sharing the same leafsets, they always have the same number of internal nodes, and hence the same number of clades. Therefore c(G, G') = c(G', G), and RF (G, G') = 2c(G, G').
Two correction problems
Suppose that in addition to a species tree and a set of reconciled gene trees, we are given additional information of two kinds:

Pairs of genes that we know are orthologous;

Duplication nodes of some gene trees that we suspect to be false.
Constraints of orthology on pairs of genes may for example be generated from synteny analysis [9, 11]. Some pairs may contradict the information given by the gene tree. Let P be a set of pairs (g_{1}, g_{2}) of orthologous extant genes (verifying s(g_{1}) ≠ s(g_{2})). A gene tree G is said to satisfy a set P if, for any pair (g_{1}, g_{2}) ∈ P, lca_{ G }(g_{1}, g_{2}) is a speciation node.
Problem 1 Gene Orthology Correction [GOC] Problem
Input: A gene tree G reconciled with a species tree S, and a set P of gene pairs that are required to be orthologous;
Output: A corrected gene tree G_{ P } satisfying P, such that RF (G, G_{ P } ) is minimum among all possible solutions.
An example is given in Figure 1: (1) is the initial tree, and (2) depicts two syntenic regions of size 3 surrounding genes b 1 and a 1. In general (if we neglect the effect of gene conversion) genes in two syntenic regions should be either all pairwise orthologous or all pairwise paralogous [11]. Consequently, if the two neighbors of b 1 on genome B and of a 1 on genome C are inferred to be orthologous (according to their lowest common ancestor in their respective gene trees), then an orthology constraint should be imposed on the pair (b 1, a 1). Figure 1. This principle is usually considered as one of the most efficient method to detect orthologies [9]. (3) is a corrected tree.
On the other hand, duplication nodes of a gene tree can be considered dubious for different reasons. For example, in Ensembl [19], "dubious" is a label assigned to the nonapparent duplication nodes [20, 21] pointing to an incongruence between the gene tree and the species tree. Alternatively, inferred ancestral synteny may also point to dubious duplication nodes [10]. Formally, clades corresponding to some duplication nodes may erroneously be considered as sets of paralogous genes, and should rather be considered as orthologous.
A gene tree G is said to satisfy a set C of its clades if E(lca_{ G }(c)) = speciation for all c ∈ C.
Problem 2 Clade Orthology Correction [ COC ] Problem
Input: A gene tree G reconciled with a species tree S, and a set C of clades of G assigned to duplication nodes;
Output: A corrected tree GC satisfying C, such that RF (G, G_{ C }) is minimum among all possible solutions.
The two problems are different, as exemplified by Figure 1, where (3) is an optimal solution to GOC while (4) is an optimal solution to COC, the latter more distant to the initial tree.
In the next two sections, we use S for the species tree name, G for the reconciled gene tree, and we give efficient solutions to these two problems.
The Gene Orthology Correction Problem
Notice that for any instance of the GOC problem, a corrected tree satisfying P always exists. Indeed, for any extant species x of S, one can make a tree whose leafset is all the extant genes g of G for which s(g) = x. Doing this for every species yields a forest whose roots can be reconnected by matching the topology of S, ensuring that any pair of genes not in the same species are orthologous. However, the obtained tree can be very far from the original.
Let P be a set of gene pairs (which are leaves of G) required to be orthologous. Notice that if (a, b) ∈ P, then we also have (b, a) ∈ P. For any pair (a, b) ∈ P, if lca_{ G }(a, b) is a duplication in G, then (a, b) is a pair of false paralogs. The set P_{ f } ⊆ P denotes the set of all false paralogous pairs of P.
Given two distinct leaves a and b of G, we set r_{ a,b } = lca_{ G }(a, b), s_{ a,b } = lca_{ S } (s(a), s(b)), and define h_{ a,b } as the highest node (closest to the root) on the path from a to r_{ a,b } such that s(h_{ a,b }) is a descendant of s_{ a,b }. Notice that h_{ a,b } can be a itself, but not r_{ a,b }.
For instance on Figure 2(1), a_{1}, c_{2} are false paralogs with ${r}_{{a}_{1},{c}_{2}}={e}_{3}$ and ${s}_{{a}_{1},{c}_{2}}=E$. From this, one can deduce that ${h}_{{a}_{1},{c}_{2}}={d}_{2}$ and ${h}_{{c}_{2},{a}_{1}}={c}_{2}$. We show below that, for any pair (a, b) of false paralogs, h_{ a,b } is the highest node on the path from a to r_{ a,b } over which we can move b to make lca_{ G }(a, b) a speciation node. The reason for moving b as high as possible is to preserve as many clades as possible, allowing a minimum RF distance between the initial and corrected tree.
Lemma 1 Let (a, b) be a pair of false paralogs in G, and let G' be a tree in which a and b are orthologous. If x is an ancestor of h_{ a,b } and a descendant of r_{ a,b }, then the clade of x is not in G'.
Proof: Suppose otherwise that there is some x' ∈ V (G') with the same clade as x (and hence s(x) = s(x')). Let r'_{ a,b } = lca_{ G' } (a, b), which should be a speciation. Since b was not in the clade of x, it cannot be in the clade of x' either, implying that r'_{a,b} is an ancestor of x'. Also, since s(x') = s(x) and x is above h_{ a,b } in G, we have that s(x') is s_{ a,b } or one of its ancestors (otherwise we would have picked x to be h_{ a,b }). But r' has x' in one of its subtrees, and b in the other, implying that r'_{a,b} is a duplication: contradiction. □
We now have a way to identify a set of clades that cannot be in G_{ P }. For any (a, b) ∈ P_{ f }, denote by H_{ a,b } the set of ancestors of h_{ a,b } that are descendants of r_{ a,b }. If G_{ P } satisfies the set P_{ f }, G_{ P } cannot contain any clade from the set $H={\cup}_{\left(a,b\right)\in {P}_{f}}{H}_{a,b}$. It follows that a minimum of H clades of G are missing in G_{ P }. We claim that a solution G_{ P } to the GOC problem is obtained by modifying exactly c(G, G_{ P }) = H clades.
Theorem 1 Let G_{ P } be a solution to the GOC problem. Then RF (G, G_{ P }) = 2H.
In what follows, we give a constructive proof of Theorem 1 by describing an algorithm for solving the GOC problem.
An algorithm for the GOC problem
Call V (G)\H the set of preservable nodes of G (those that we hope to preserve). For example in Figure 2(1), $H={H}_{{a}_{1},{c}_{2}}\cup {H}_{{c}_{2},{a}_{1}}\cup {H}_{{a}_{1},{c}_{1}}\cup {H}_{{c}_{1},{a}_{1}}\cup {H}_{{a}_{1},{b}_{2}}\cup {H}_{{b}_{2},{a}_{1}}=\left\{{e}_{1}\right\}\cup \left\{{e}_{2}\right\}\cup \varnothing \cup \varnothing \cup \left\{{d}_{1}\right\}\cup \varnothing =\left\{{e}_{1},{e}_{2},{d}_{1}\right\}$.The nodes of H are represented by red crosses, while the preservable nodes are circled in green. Notice that the root r of G is preservable, since any solution G_{ P } to the GOC problem should share the same leafset as G. Consider the set $\mathcal{G}$ of subtrees of G rooted on the highest preservable descendants of r, i.e. preservable nodes for which r is the unique preservable ancestor. Observe that since any leaf of G is preservable, we have ${\cup}_{{G}_{x}\in \mathcal{G}}l\left({G}_{x}\right)=l\left(G\right)$. If, for some (g_{1}, g_{2}) ∈ P, g_{1} and g_{2} are scattered across two subtrees of G, we call these subtrees required orthologous subtrees (or simply required orthologs when the context is clear as to whether we are comparing genes or subtrees). For example in the tree G of Figure 2(1), G is the set of subtrees rooted at d_{2}, c_{1}, b_{3} and c_{2} (the last four restricted to a single leaf), and the subtrees rooted at d_{2} and c_{1} are required orthologs, as well as those rooted at d_{2} and c_{2}. However, connecting two subtrees under a speciation might not always be feasible. A definition of possible orthologs follows.
Definition 1 (Possible orthologs) Two subtrees G_{1}, G_{2} ∈ $\mathcal{G}$rooted at x_{1}, x_{2} respectively are possible orthologs if and only if s(x_{1}) and s(x_{2}) are unrelated, i.e. neither is an ancestor of the other in S.
The following lemma ensures that the roots of required orthologous subtrees can actually be joined under a common parent which is a speciation.
Lemma 2 Let G_{1}, G_{2} ∈ $\mathcal{G}$be required orthologs. Then G_{1} and G_{2} are possible orthologs.
Proof: Let x_{1}, x_{2} be the roots of G_{1}, G_{2} respectively, and let (g_{1}, g_{2}) ∈ P such that g_{1} ∈ l(G_{1}) and g_{2} ∈ l(G_{2}). Let s_{ ℓ }, s_{ r } be the left and right children of ${s}_{{g}_{1},{g}_{2}}$, and denote by S_{ ℓ } and S_{ r } the subtrees of S rooted at s_{ ℓ } and s_{ r } respectively. Suppose without loss of generality that s(g_{1}) is in l(S_{ ℓ }) and s(g_{2}) is in l(S_{ r }). Since x_{1} is preservable and on the path between g_{1} and ${r}_{{g}_{1},{g}_{2}}$, we have ${x}_{1}\notin {H}_{{g}_{1},{g}_{2}}$ and thus s(x_{1}) ∈ V (S_{ ℓ }). Similarly, s(x_{2}) ∈ V (S_{ r }). Therefore s(x_{1}) and s(x_{2}) are unrelated and possible orthologs.
The problem, formally defined in the sequel as the maximum orthology tree, consists in joining all trees of $\mathcal{G}$ into a single tree G' in a way ensuring that each pair of possible orthologs is joined under a speciation. More precisely, for some possible orthologs ${G}_{1},{G}_{2}\in \mathcal{G}$ rooted at nodes x_{1}, x_{2}, we get that lca_{G'}(x 1, x_{2}) is a speciation, with G_{1}, G_{2} being unchanged.
We begin by giving an overview of the whole algorithm.
Algorithm Outline:

1.
Compute the set $H={\cup}_{\left(a,b\right)\phantom{\rule{0.3em}{0ex}}\in \phantom{\rule{0.3em}{0ex}}{P}_{f}}{H}_{a,b}$ of internal nodes of G corresponding to clades that cannot be in G_{ P };

2.
Compute the set $\mathcal{G}$ of subtrees rooted at the highest preservable descendants of the root of G. If $\mathcal{G}$ is empty, return G and terminate;

3.
Construct a tree G' by joining all trees of $\mathcal{G}$ in a way ensuring that possible orthologs are joined under speciation. We call G' the maximum orthology tree for $\mathcal{G}$;

4.
For every tree ${G}_{x}\in \mathcal{G}$, construct G_{ x,P } by recursively repeating Steps 2 to 4 with G being G_{ x }, and replace the G_{ x } subtree of G' by G_{ x,P }.
The tree obtained corresponds to the corrected tree G_{ P } we want. Running this algorithm on the G tree of Figure 2 yields the corrected tree G_{ P }. This algorithm terminates, since we eventually reach all the leaves of G, which correspond to terminal cases in the recursion. Implementing step 1 is straightforward, while step 2 can be done by performing a depthfirst search from the root, in which upon visiting a preservable node, we add it to $\mathcal{G}$ and continue the search without visiting its children. Step 3 is the purpose of the next section, so assume for now that it can be performed correctly as stated. This algorithm can be implemented to run in O(P  × V (G)) steps in the worst case, the main bottleneck being the computation of H. The algorithm correctness follows from the two lemmas below.
Lemma 3 Any preservable node x of G is preserved in G_{ P }, meaning that the clade of G rooted at x is a clade of G_{ P }.
Proof: Let x be a preservable node of G and G_{ x } be the subtree rooted at x. It is not hard to see that eventually, steps 24 will be run on G_{ x } and return a tree G_{ x,P }, which will itself be a subtree of the final corrected tree G_{ P }. As the algorithm only moves and reconnects subtrees of G_{ x }, we have that l(G_{ x }) = l(G_{ x,P }). Since G_{ x,P } is a subtree of G_{ P }, it follows that the clade of x is preserved in G_{ P }.
Lemma 4 Let (g_{1}, g_{2}) ∈ P. Then g_{1} and g_{2} are orthologs in G_{ P }.
Proof: Denote by G_{ v } the subtree rooted at v, for some v ∈ V (G). Let x be a preservable node and G_{ x,P } be the subtree produced after running steps 24 on G_{ x }. Let D be the set of highest preservable descendants of x. We say that a gene pair (g_{1},g_{2}) is contained in G_{ x } if g_{1}, g_{2} ∈ l(G_{ x }). We use induction on the height of the tree to show that all gene pairs in P that are contained in G_{ x } are orthologous in G_{ x,P } (which proves the lemma since x can be the root). This is trivially true for leaves as they are preservable and contain no gene pairs. We thus suppose by induction that for any d ∈ D, gene pairs in P that are contained in G_{ d } are orthologous in G_{ d,P }. Let (g_{1}, g_{2}) ∈ P such that (g_{1}, g_{2}) is contained in G_{ x }, but there is no d ∈ D such that G_{ d } contains (g_{1}, g_{2}). What is left to prove is that g_{1} and g_{2} are orthologous in G_{ x,P }.
We first observe that g_{1}, g_{2} belong to two different subtrees ${G}_{{d}_{1}},{G}_{{d}_{2}}$, where d_{1}, d_{2} ∈ D. Otherwise ${G}_{{d}_{1}}={G}_{{d}_{2}}$, implying that (g_{1}, g_{2}) is contained in ${G}_{{d}_{1}}$ and we are done. Therefore, ${G}_{{d}_{1}}$,${G}_{{d}_{2}}$are required orthologs, and hence possible orthologs. Since we may assume that G_{d1} and G_{d2} are joined under a speciation in G_{ x,P }, we get that $\mathsf{\text{lc}}{\mathsf{\text{a}}}_{{G}_{x,P}}\left({g}_{1},{g}_{2}\right)$ is a speciation. The result follows from observing that G_{ x,P }is a subtree of G_{ P }.
Maximum orthology tree
We now describe a solution to the maximum orthology tree problem. Formally, given a set of k possible orthologous subtrees of G rooted on a set of nodes X = {x_{1}, . . . , x_{ k } }, the problem is to construct a tree F with l(F) = X, such that for each pair x_{ i }, x_{ j } ∈ X that correspond to roots of possible orthologs, x_{ i } and x_{ j } are orthologous in F.
Roughly speaking, the algorithm proceeds as follows: start with F_{0} being a copy of S. Iterate over i from 1 to k, at each step constructing F_{ i } by grafting x_{ i } on F_{i 1}right above the node v ∈ V (F_{0}) such that s(v) = s(x_{ i }). Proceeding this way, we show in Lemma 5 that nodes of V (F_{0}) are ensured to remain speciation nodes all over the procedure, and in lemma 6 that the lowest common ancestor of two possible orthologs belongs to V (F_{0}), leading to corollary 1 stating that possible orthologs are in fact orthologous in the output tree. Finally remove the leaves artificially introduced by F_{0} and standardize the tree, which means

remove all nodes with no descendant labeled with extant genes;

contract nonroot degree 2 nodes, then contract the root if it is of degree one.
Starting with F_{0} being a copy of S is a step that might be omitted, but the set of nodes V (F_{0}) serves as a skeleton around which we graft our x_{ i }'s, making it both easily implementable and provable. Figure 3 shows how the algorithm proceeds on the set of highest preservable descendants of the root of the tree G in Figure 2(1).
Algorithm 1 findMaxOrthology(S, X = {x_{1}, ... , x_{ k }})
F_{0} ← A copy of S
V_{0} ← V (F_{0})
L ← l(F_{0})
for i = 1 → k do
Find the unique node v ∈ V_{0} such that s(v) = s(x_{ i })
F_{ i } ← a copy of F_{ i  1 } on which we graft x_{ i } on the edge linking v to its parent node (or if v is the root of F_{ i  1 }, create a new root with children v and x_{ i })
end for
F ←F_{ k } on which we remove L and stardardize
Lemma 5 If r ∈ V (F_{0}) ∩ V (F), then r is a speciation.
Proof: Since F_{0} is a copy of S, all nodes of V (F_{0}) are initially speciation nodes. We show that each grafting operation does not change the event corresponding to these nodes. Say that at iteration i, we graft x_{ i } on the edge linking v to its parent node p. We first observe that the only nodes that can be transformed from speciation in F_{ i1 }to duplication in F_{ i } are on the path from p to the root of F_{ i1 }. Suppose without loss of generality that v is the left child of p in F_{ i1 }, and let w be the newly created node between p and v in F_{ i }. Thus w has children xi and v, and since s(x_{ i }) = s(v), we get that s(w) = s(v). It follows that if p was a speciation in F_{ i1 }, it remains a speciation in F_{ i }. Moreover, this implies that s(p) is left unchanged in F_{ i }, implying in turn that any ancestor of p cannot change from speciation to duplication. Therefore, no grafting operation can affect speciation of any vertex in V (F_{ i1 }). Finally, we note that removing leaves or deleting degree two nodes in F also cannot affect speciation nodes.
Lemma 6 Let x_{ i }, x_{ j } ∈ X be the roots of possible orthologous subtrees. Then, lca_{ F } (x_{ i }, x_{ j }) ∈ V (F_{0}).
Proof: First recall that if x_{ i },x_{ j } are the roots of possible ortholog subtrees, then there is some s ∈ V (S) such that s(x_{ i }) and s(x_{ j } ) are in the left and right subtrees of s, respectively. Now, let r be the unique node in V (F_{0}) such that s(r) = s, and let v_{ i }, v_{ j } ∈ V (F_{0}) such that s(v_{ i }) = s(x_{ i }) and s(v_{ j }) = s(x_{ j }). It is clear that in F_{0}, lca(v_{ i },v_{ j }) = r. This also holds for any F_{ i } by observing that grafting nodes cannot change the lca relationship. Since x_{ i } is grafted on some edge between v_{ i } and r, and x_{ j } between v_{ j } and r, it follows that lca(x_{ i }, x_{ j } ) = r ∈ V (F_{0}).
Corollary 1 Let x_{ i }, x_{ j } ∈ X be the roots of possible orthologs. Then they are orthologous in F.
The Clade Orthology Correction Problem
We prove several results characterizing the solutions to the COC problem. Let C be a set of clades that has to be satisfied. For a clade c ∈ C, we denote by s(c) the value of s(r(c)) where r(c) is the root of c, and by E(c) the value of E(r(c)) that we call the label of c.
First, unlike in the GOC problem, a solution to the COC problem does not always exist. Indeed, it is possible that no gene tree has all clades in C labeled by speciations. We give a necessary and sufficient condition for the existence of a solution. The following lemma is obvious from the definition of reconciliation, and will be used in several proofs.
Lemma 7 For a reconciled gene tree G, if a node x is an ancestor of a node y and s(x) = s(y) then E(x) = duplication.
Theorem 2 There is a solution to the COC problem if and only if for every clade c ∈ C, s(c) is not a leaf of S, and if for every pair c_{1}, c_{2} ∈ C, either c_{1} and c_{2} are disjoint sets of leaves, or s(c_{1}) ≠ s(c_{2}).
The necessity of these conditions directly follow from Lemma 7, since s(c_{1}), s(c_{2}) and the ancestry relationship between c_{1} and c_{2} remain unchanged in a solution. Their sufficiency will be constructively demonstrated in the sequel. Suppose that the conditions are satisfied. We give a way of finding all optimal solutions according to the RF distance, followed by two ways of finding an optimal one optimizing other criteria in addition.
Given a duplication node x of G, pushing x by multifurcation means applying the following procedure:

Let s = s(x), and A and B be the two children of s in S.

Let T^{A}be the set of maximal subtrees of the subtree of G rooted at x, such that all their leaves l verify that s(l) is a descendant of A (including A itself). Let G^{A}[x] be the multifurcated tree obtained by joining all roots of trees in T^{A}under a common root.

Let symmetrically T^{B}be the set of maximal subtrees of the subtree of G rooted at x, such that all their leaves l verify that s(l) is a descendant of B (including B itself). Let G^{B}[x] be the multifurcated tree obtained by joining all roots of trees in T^{B}under a common root.

Let G' be obtained from G by replacing the clade rooted at x by a new subtree, obtained by joining G^{A}[x] and G^{B}[x] under a common root.
This rearrangement is described in [16] and applied to dubious duplications as a preprocessing step for ancestral genome reconstruction.
A binary resolution G_{ b } of a multifurcated tree G is a binary tree in which all the clades of G are in G^{b}.
Theorem 3 If there is a solution to the COC problem, then a binary gene tree is an optimal solution if and only if it is a binary resolution of the multifurcated tree obtained by pushing the roots of the elements of C by multifurcation (in any order).
Proof: It is clear that a binary resolution is a solution, provided that the conditions for the existence of a solution are satisfied. Indeed any clade is preserved through pushing a duplication node, so this operation can be done for all clades in C independently. This proves the converse part of Theorem 2.
Then it is an optimal solution because by Lemma 7, no clade x which is a descendant of the pushed clade c such that s(c) = s(x) may be conserved if we want c to be a speciation node. And by construction all clades such that s(c) ≠ s(x) are preserved by this operation.
Binary resolutions which minimize the number of duplications and losses are studied by [22] and may be applied to provide bona fide phylogenies. We describe an alternative maximizing the number of common triplets. A triplet in a tree G is a set of three leaves ((a, b), c) of G, such that the LCA of the three is strictly more ancient than the LCA of the first two.
Given a species tree S, a reconciled gene tree G and one of its duplication nodes x, pushing x by tree duplication means applying the following procedure, illustrated in Figure 4:

Let s = s(x), and A and B be the two children of s in S.

Let G^{A}[x] be a tree obtained from the subtree of G rooted at x, by deleting all leaves l with s(l) being a descendant of A, and standardizing it, which as in the previous sections, means

removing all nodes with no descendant labeled with extant genes;

contracting nonroot degree 2 nodes, then contracting the root if it is of degree one.


Let symmetrically G^{B}[x] be a tree obtained from the subtree of G rooted at x, by deleting all leaves l with s(l) being a descendant of B, and standardizing it.

Let G' be obtained from G by replacing the clade rooted at x by a new subtree, obtained by joining G^{A}[x] and G^{B}[x] under a common root.
Note that if a clade y is disjoint from x or assigned to a different species, then pushing x by tree duplication does not affect the subtree rooted at y. In consequence, pushing several clades by tree duplications in any order gives a unique solution if the clades satisfy the properties of Lemma 2.
Theorem 4 If there is a solution to the Clade Orthology Correction problem, the gene tree obtained by successively pushing the roots of the elements of C by tree duplication (in any order) is an optimal solution. Among all optimal solutions, it maximizes the number of common triplets with G.
Proof: As already noticed pushing a duplication by multifurcation preserves all clades assigned to species which are different from the species assigned to the pushed node. So it is an optimal solution.
Now we have to prove that none of the triplets that are in G but not in G' can be preserved in any other optimal solution. For this we characterize the triplets that can be preserved. For a triplet ((a, b), c) of G, let T_{((a,b),c)}be the rooted phylogeny with three leaves and two internal nodes containing the triplet. If the leaves a, b, c are in the pushed clade x, then the triplet can be preserved only if in the reconciliation of T_{((a,b),c)}, the lowest internal node is not mapped to s(x). Otherwise by Lemma 7, the root node of the triplet cannot be a speciation.
Let ((a, b), c) be a triplet such that in the reconciliation of T_{((a,b),c)}, the lowest internal node is not mapped to s(x). This triplet is entirely included in G^{1}[x] or G^{2}[x]. So it is preserved. In consequence all triplets possibly preserved are indeed preserved by the operation, showing the optimality of the procedure reguarding the number of common triplets.
Now if there is no solution to the Clade Orthology problem, we advice to push duplication nodes in C starting from the highest ones, without having formalized why we find this solution adequate.
Fish gene trees
Using synteny as evidence of orthology, we wanted to test the ability of our algorithm designed for the GOC problem to correct gene trees. To this end, we considered the four fish genomes Gasterosteus aculeatus (Stickleback), Oryzias latipes (Medaka), Tetraodon nigroviridis, and Danio rerio (Zebrafish) with human and mouse as outgroups. We used the Ensembl Genome Browser to collect all available gene trees, and filtered each tree to preserve only genes from the taxa of interest. We then reconciled the trees with the known species trees, and identified duplication and speciation nodes. Following our methodology in [11], a region surrounding a gene is defined as the substring containing the gene and both its left and right adjacencies, and two regions are considered syntenic if they contain homologous genes in the same order. We observed in [11] that more than 22% of the 6241 collected gene trees contain at least one false paralogy, that is a pair of genes required from synteny to be orthologous, but the LCA of the corresponding leaves being a duplication rather than a speciation node.
For 1000 of the trees containing at least one false paralogy, we applied the correction procedure previously described, and retrieved the gene family alignment from Ensembl. With PhyML [23], we computed the likelihood of the initial and corrected tree, given the alignment. These two likelihood values were compared with Consel [24]. For only 17.7% of the trees, the correction was rejected by the AU test. In other words, the correction algorithm is valid for a vast majority (82.3%) of the tested trees. Moreover, the likelihood of the corrected tree is higher than the original for 44.4% of the trees. Interestingly, 14.8% of the original Ensembl gene trees were rejected when compared to the corrected trees.
The correction of the gene tree for the ZNF800 gene family, which is related to transcriptional regulation, is given as an example in Figure 5. The corrected tree was highly favored by the AU Test, giving it a statistical support advantage with a pvalue below 0.001. Furthermore, the nonapparent duplication of G, located at the root of the (m_{1}, t_{1}, s_{1}) subtree, was eliminated, resulting in one less duplication in G_{ P }.
Conclusion
We give two efficient algorithms for two new gene tree rearrangement problems, related to the correction of a gene tree according to some external information on orthology. The rearrangements are modifications that are as small as possible, given some distance criterion (namely the RF distance), but can be more significant according to other distances such as the usual NNI (nearest neighbor interchange) distance. We show that for fish genomes, the rearrangements we define can be efficient to explore statistically equivalent gene trees when sequence alignement is used to compute likelihood. As corrected trees satisfy synteny contraints, we can be confident enough that they describe the gene family evolution better.
Many algorithmic and theoretical problems remain open. For example, is there a similar way for handling paralogy constraints? What about having both orthology and paralogy constraints? It can be shown that there exist sets of constraints with both types that cannot be satisfied. What are the conditions for a set of orthology/paralogy constraints to be satisfiable?
These algorithms may be used in a global framework to contruct large gene tree sets which are arguably better than those found in standard databases. The implementation of such a framework is an ongoing work.
References
 1.
Felsenstein J: Evolurionary trees from DNA sequences: a maximum likelihood approach. Journal of Molecular Evolution. 1981, 17: 368376. 10.1007/BF01734359.
 2.
Akerborg O, Sennblad B, Arvestad L, Lagergren J: Simultaneous Bayesian gene tree reconstruction and reconciliation analysis. Proceedings of the National Academy of Sciences of the United States of America. 2009, 106 (14): 57145719. 10.1073/pnas.0806251106.
 3.
BerglundSonnhammer A, Steffansson P, Betts M, Liberles D: Optimal gene trees from sequences and species trees using a soft interpretation of parsimony. Journal of Molecular Evolution. 2006, 63: 240250. 10.1007/s0023900500961.
 4.
Boussau B, Szöllosi GJ, Duret L, Gouy M, Tannier E, Daubin V: Genomescale coestimation of species and gene trees. Genome Research. 2013, 23: 323330. 10.1101/gr.141978.112.
 5.
Gorecki P, Eulenstein O: A lineartime algorithm for errorcorrected reconciliation of unrooted gene trees. ISBRA, Volume 6674 of LNBI. 2011, SpringerVerlag, 148159.
 6.
Rasmussen MD, Kellis M: A Bayesian approach for fast and accurate gene tree reconstruction. Molecular Biology and Evolution. 2011, 28: 273290. 10.1093/molbev/msq189.
 7.
Szöllosi GJ, Rosikiewicz W, Bousseau B, Tannier E, Daubin V: Efficient Exploration of the Space of Reconciled Gene Trees 2013. [Submitted].
 8.
Thomas P: GIGA: a simple, efficient algorithm for gene tree inference in the genomic age. BMC Bioinformatics. 2010, 11: 31210.1186/1471210511312.
 9.
Jun J, Mandoiu II, Nelson CE: Identification of mammalian orthologs using local synteny. BMC Genomics. 2009, 10: 63010.1186/1471216410630. [http://dx.doi.org/10.1186/1471216410630]
 10.
Chauve C, ElMabrouk N, Gueguen L, Semeria M, Tannier E: Models and algorithms for genome evolution. 2013, Springer, chap. Duplication, rearrangement and reconciliation: a followup 13 years later
 11.
Lafond M, Swenson K, ElMabrouk N: Models and algorithms for genome evolution. 2013, Springer, chap. Error detection and correction of gene trees
 12.
Wapinski I, Pfeffer A, Friedman N, Regev A: Automatic genomewide reconstruction of phylogenetic gene trees. Bioinformatics. 2007, 23 (13): i549i558. 10.1093/bioinformatics/btm193. [http://bioinformatics.oxfordjournals.org/content/23/13/i549.abstract]
 13.
Bérard S, Gallien C, Boussau B, Szöllosi GJ, Daubin V, Tannier E: Evolution of gene neighborhoods within reconciled phylogenies. Bioinformatics. 2012, 28 (18): i382i388. 10.1093/bioinformatics/bts374.
 14.
Chaudhary R, Burleigh J, Eulenstein O: Efficient error correction algorithms for gene tree reconciliation based on duplication, duplication and loss, and deep coalescence. BMCBioinformatics. 2011, 13 (Supp 10): S11
 15.
Górecki P, Eulenstein O: Algorithms: simultaneous errorcorrection and rooting for gene tree reconciliation and the gene duplication problem. BMC Bioinformatics. 2012, 13 (Suppl 10): S1410.1186/1471210513S10S14.
 16.
Muffato M, Louis A, Poisnel CE, Crollius HR: Genomicus: a database and a browser to study gene synteny in modern and ancestral genomes. Bioinformatics. 2010, 26 (8): 11191121. 10.1093/bioinformatics/btq079.
 17.
Nguyen T, Ranwez V, Pointet S, Chifolleau AMA, Doyon JP, Berry V: Reconciliation and local gene tree rearrangement can be of mutual profit. Algorithms Mol Biol. 2013, 8: 1210.1186/17487188812. [http://dx.doi.org/10.1186/17487188812]
 18.
Flicek P: Ensembl 2012. Nucleic Acids Research. 2012, 40 (Database): D84D90.
 19.
Vilella A, Severin J, UretaVidal A, Heng L, Birney E: EnsemblCompara GeneTrees: Complete, duplicationaware phylogenetic trees in vertebrates. Genome Research. 2009, 19 (2): 327335.
 20.
Chauve C, ElMabrouk N: New perspectives on gene family evolution: losses in reconciliation and a link with supertrees. RECOMB 2009, Volume 5541 of LNCS. 2009, Springer, 4658.
 21.
Doroftei A, ElMabrouk N: Removing Noise from Gene Trees. WABI 2011, Algorithms in Bioinformatics, Volume 6833 of LNCS/LNBI. 2011, 7691.
 22.
Lafond M, Swenson K, ElMabrouk N: An Optimal Reconciliation Algorithm for Gene Trees with Polytomies. Algorithms in Bioinformatics, proceedings of WABI'12, Volume 7534 of LNCS/LNBI. 2012, 106122.
 23.
Guidon S, Gascuel O: A simple, fast and accurate algorithm to estimate large phylogenies by maximum likelihood. Systematic Biology. 2003, 52: 696704
 24.
Shimodaira H, Hasegawa M: Consel: for assessing the confidence of phylogenetic tree selection. Bioinformatics. 2001, 17 (12): 12461247. 10.1093/bioinformatics/17.12.1246.
Declarations
This work is funded by the Natural Sciences and Engineering Reserach Council of Canada (NSERC), Fonds de Recherche Nature et technologies of Quebec, Agence Nationale pour la Recherche and Ancestrome project ANR10BINF0101.
This article has been published as part of BMC Bioinformatics Volume 14 Supplement 15, 2013: Proceedings from the Eleventh 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/14/S15.
Author information
Additional information
Competing interests
None
Authors' contributions
ML, MS, KS, ET, NE modeled the problem, devised the algorithms and wrote the paper. ML implemented the software.
Rights and permissions
About this article
Published
DOI
Keywords
 Gene Tree
 Corrected Tree
 Extant Gene
 Binary Resolution
 Lower Common Ancestor