Related Experiment Video
Updated: Aug 12, 2026

Quantification of Protein Interaction Network Dynamics using Multiplexed Co-Immunoprecipitation
Published on: August 21, 2019
Fast-nnt: fast, reproducible, and scalable neighbour network analysis in R, Python, and CLI
1School of Life, Earth, and Environmental Sciences, University of Sydney, Camperdown, NSW, 2050, Australia.
Motivation:
Neighbour networks are widely used to visualise evolutionary relationships in the presence of reticulation, admixture, or hybridization. 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.
Results:
fast-nnt is substantially faster and more memory-efficient than existing tools, completing analyses of 3333 taxa in ∼148 seconds compared to ∼1640 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.
Availability:
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.
