phypanda#
phypanda is the Python library for PaNDA — efficient optimization of phylogenetic diversity in phylogenetic networks. It works on directed phylogenetic networks represented in phylozoo, and uses scanwidth (scanwidth) to obtain tree extensions and run fixed-parameter tractable dynamic programs for several budgeted problems.
What you can do here#
Score a chosen set of taxa under different PD notions (all-paths / MAPPD, max-tree, min-tree, and stubs for tree-only, network, and average-tree measures).
Optimize under an integer budget with taxon costs (notably MAPPD via node-scanwidth FPT, max-tree PD, and greedy / generic wrappers).
Provide a precomputed tree extension (e.g. from NSW / XP ordering) so repeated solves on the same network avoid rescanning.
The algorithms and objective definitions are those in the PaNDA paper; this site focuses on how to run the code. For definitions and proofs, see the reference below.
Where to read next#
User guide
Paper and citation#
If you use this software, please cite:
PaNDA: Efficient Optimization of Phylogenetic Diversity in Networks. Niels Holtgrefe, Leo van Iersel, Ruben Meuwese, Yukihiro Murakami, Jannik Schestag. bioRxiv, 2025. https://doi.org/10.1101/2025.11.14.688467
The repository README links the GUI, experiment scripts (under experiments/), and supplementary datasets for the first MAPPD study (experiments/MAPPD/) and budgeted benchmarks (experiments/budgeted_PD/).