fast-nnt: fast, reproducible, and scalable neighbour network analysis in R, Python, and CLI.
Where this comes from
- Record sourced from PubMed, PMID 42578716.
- Also identified by DOI 10.1093/bioinformatics/btag577.
- No licence information is recorded for this record.
- Because redistribution is not established, this page shows the abstract only. Follow the links below for the full text.
Abstract
Neighbour networks are widely used to visualise evolutionary relationships in the presence of reticulation, admixture, or hybridisation. Existing implementations are largely GUI-based, limiting reproducibility, integration into scripted workflows, and deployment on remote or high-performance computing systems. They are also computationally slow and memory-intensive at scale, restricting analyses to relatively small datasets. We present fast-nnt, an open-source Rust reimplementation of the neighbour-net algorithms from SplitsTree4 and SplitsTree6, providing interfaces for R, Python, and the command line. fast-nnt is substantially faster and more memory-efficient than existing tools, completing analyses of 3,333 taxa in ∼148 seconds compared to ∼1,640 seconds for SplitsTree6, an 11-fold improvement, while using less than half the memory. It accepts any symmetric distance matrix and reproduces SplitsTree output with near-identical accuracy. Both the circular ordering algorithms (Multi-Way, Closest-Pair) and split weight inference methods (Conjugate Gradient, Active-Set) are independently selectable, enabling modular and reproducible analyses. This removes a major computational barrier to routine use of neighbour-net methods in large-scale phylogenetics. By addressing key computational and usability bottlenecks in existing implementations, fast-nnt enables scalable, reproducible neighbour-network inference that is practical for large modern datasets. Source code, documentation, and test data freely available at https://github.com/rhysnewell/fast-nnt. Implemented in Rust with R (fastnntr) and Python (fastnntpy) packages. An archived release is available at [https://doi.org/10.5281/zenodo.16907379]. Licensed under GNU General Public License v3.0. Supplementary data are available at Bioinformatics online.