  The supertree problem asking for a tree displaying a set of consistent input
trees has been largely considered for the reconstruction of species trees.
Here, we rather explore this framework for the sake of reconstructing a gene
tree from a set of input gene trees on partial data. In this perspective, the
phylogenetic tree for the species containing the genes of interest can be used
to choose among the many possible compatible "supergenetrees", the most natural
criteria being to minimize a reconciliation cost. We develop a variety of
algorithmic solutions for the construction and correction of gene trees using
the supertree framework. A dynamic programming supertree algorithm for
constructing or correcting gene trees, exponential in the number of input
trees, is first developed for the less constrained version of the problem. It
is then adapted to gene trees with nodes labeled as duplication or speciation,
the additional constraint being to preserve the orthology and paralogy
relations between genes. Then, a quadratic time algorithm is developed for
efficiently correcting an initial gene tree while preserving a set of "trusted"
subtrees, as well as the relative phylogenetic distance between them, in both
cases of labeled or unlabeled input trees. By applying these algorithms to the
set of Ensembl gene trees, we show that this new correction framework is
particularly useful to correct weaklysupported duplication nodes. The C++
source code for the algorithms and simulations described in the paper are
available at https://github.com/UdeM-LBIT/SuGeT.
