Abstract
AbstractDistance-based methods for inferring evolutionary trees are important subroutines in computational biology, sometimes as a first step in a statistically more robust phylogenetic method. The most popular method is Neighbor Joining, mainly to to its relatively good accuracy, but Neighbor Joining has a cubic time complexity, which limits its applicability on larger datasets. Similar but faster algorithms have been suggested, but the overall time complexity remains essentially cubic as long as the input is a distance matrix. This paper investigates a randomized divide-and-conquer heuristic,dnctree, which selectively estimates pairwise sequence distances and infers a tree by connecting increasingly large subtrees. The divide-and-conquer approach avoids computing all pairwise distances and thereby saves both time and memory. The time complexity is at worst quadratic, and seems to scale likeO(nlgn) on average. A simple Python implementation,dnctree, available on GitHub and PyPI.org, has been tested and we show that it is a scalable solution. In fact, it is applicable to very large datasets even as plain Python program.
Publisher
Cold Spring Harbor Laboratory
Reference27 articles.
1. The performance of neighbor-joining methods of phylogenetic reconstruction;Algorithmica,1999
2. Phylogenetic tree estimation with and without alignment: New distance methods and benchmarking;Systematic Biology,2017
3. Brodal, G. S. , Fagerberg, R. , Pedersen, C. N. , and Östlin, A. (2001). The com-plexity of constructing evolutionary trees using experiments. In Automata, Languages and Programming: 28th International Colloquium, ICALP 2001 Crete, Greece, July 8–12, 2001 Proceedings 28, pages 140–151. Springer.
4. Computing the distribution of a tree metric;IEEE/ACM transactions on computational biology and bioinformatics,2009
5. Clausen, P. T. L. C. (2023). Scaling neighbor joining to one million taxa with dynamic and heuristic neighbor joining. Bioinformatics (Oxford, England), 39(1).