Bioinformatics. 2024 Nov 21:btae701. doi: 10.1093/bioinformatics/btae701. Online ahead of print.
ABSTRACT
MOTIVATION: Phylogenetic reconstruction is a fundamental problem in computational biology. The Neighbor Joining (NJ) algorithm offers an efficient distance-based solution to this problem, which often serves as the foundation for more advanced statistical methods. Despite prior efforts to enhance the speed of NJ, the computation of the n 2 entries of the distance matrix, where n is the number of phylogenetic tree leaves, continues to pose a limitation in scaling NJ to larger datasets.
RESULTS: In this work, we propose a new algorithm which does not require computing a dense distance matrix. Instead, it dynamically determines a sparse set of at most O(n log n) distance matrix entries to be computed in its basic version, and up to O(n log 2n) entries in an enhanced version. We show by experiments that this approach reduces the execution time of NJ for large datasets, with a trade-off in accuracy.
AVAILABILITY AND IMPLEMENTATION: Sparse Neighbor Joining is implemented in Python and freely available at https://github.com/kurtsemih/SNJ.
SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.
PMID:39570613 | DOI:10.1093/bioinformatics/btae701