Gene tree correction for reconciliation and species tree inference

Algorithms for Molecular Biology. 2012;7(1):31 DOI 10.1186/1748-7188-7-31


Journal Homepage

Journal Title: Algorithms for Molecular Biology

ISSN: 1748-7188 (Online)

Publisher: BMC

LCC Subject Category: Science: Biology (General): Genetics

Country of publisher: United Kingdom

Language of fulltext: English

Full-text formats available: PDF, HTML



Swenson Krister M
Doroftei Andrea
El-Mabrouk Nadia


Blind peer review

Editorial Board

Instructions for authors

Time From Submission to Publication: 25 weeks


Abstract | Full Text

<p>Abstract</p> <p>Background</p> <p>Reconciliation is the commonly used method for inferring the evolutionary scenario for a gene family. It consists in “embedding” inferred gene trees into a known species tree, revealing the evolution of the gene family by duplications and losses. When a species tree is not known, a natural algorithmic problem is to infer a species tree from a set of gene trees, such that the corresponding reconciliation minimizes the number of duplications and/or losses. The main drawback of reconciliation is that the inferred evolutionary scenario is strongly dependent on the considered gene trees, as few misplaced leaves may lead to a completely different history, with significantly more duplications and losses.</p> <p>Results</p> <p>In this paper, we take advantage of certain gene trees’ properties in order to preprocess them for reconciliation or species tree inference. We flag certain duplication vertices of a gene tree, the “non-apparent duplication” (NAD) vertices, as resulting from the misplacement of leaves. In the case of species tree inference, we develop a polynomial-time heuristic for removing the minimum number of species leading to a set of gene trees that exhibit no NAD vertices with respect to at least one species tree. In the case of reconciliation, we consider the optimization problem of removing the minimum number of leaves or species leading to a tree without any NAD vertex. We develop a polynomial-time algorithm that is exact for two special classes of gene trees, and show a good performance on simulated data sets in the general case.</p>