Recrafting the neighbor-joining method
-
* Corresponding author: Thomas Mailund mailund@birc.dk
1 Bioinformatics Research Center (BiRC), University of Aarhus, Denmark
2 Basic Research in Computer Sciences (BRICS), Department of Computer Science, University of Aarhus, Denmark
3 Department of Mathematics and Computer Science, University of Southern Denmark, Odense, Denmark
4 Department of Computer Science, University of Aarhus, Denmark
5 School of Computer Science, University of Waterloo, Canada
BMC Bioinformatics 2006, 7:29 doi:10.1186/1471-2105-7-29
Published: 19 January 2006Abstract
Background
The neighbor-joining method by Saitou and Nei is a widely used method for constructing phylogenetic trees. The formulation of the method gives rise to a canonical Θ(n3) algorithm upon which all existing implementations are based.
Results
In this paper we present techniques for speeding up the canonical neighbor-joining method. Our algorithms construct the same phylogenetic trees as the canonical neighbor-joining method. The best-case running time of our algorithms are O(n2) but the worst-case remains O(n3). We empirically evaluate the performance of our algoritms on distance matrices obtained from the Pfam collection of alignments. The experiments indicate that the running time of our algorithms evolve as Θ(n2) on the examined instance collection. We also compare the running time with that of the QuickTree tool, a widely used efficient implementation of the canonical neighbor-joining method.
Conclusion
The experiments show that our algorithms also yield a significant speed-up, already for medium sized instances.