a package for computing and maximizing phylogenetic diversity in phylogenetic networks
Project description
phypanda
phypanda is the Python library for PaNDA—an algorithm library for phylogenetic diversity (PD) optimization on directed phylogenetic networks. It builds on phylozoo for network representations and scanwidth for node- and edge-scanwidth–based dynamic programming.
Key Features
- All-paths (MAPPD), Max-tree and Min-tree PD: compute the diversity score of a fixed taxon set for several PD measures, or maximize PD using exact FPT algorithms parameterized by node scanwidth or edge scanwidth.
- Budgeted maximization: assign integer costs to taxa and maximize PD under budget constraints.
- JIT-compilation: speed up algorithms by optional
numbaJIT compilation. - High-level API —
compute_diversity,marginal_diversities,greedy_max_diversity, andsolve_max_diversitywork with any measure and dispatch to the appropriate solver.
Installation
pip install phypanda
Runtime dependencies (phylozoo, networkx, scanwidth, numba) are installed automatically. For development or documentation extras:
pip install phypanda[dev] # testing
pip install phypanda[docs] # Sphinx documentation
Documentation
For the full manual, API reference, and installation guide, visit the phypanda docs.
Citation
If you use phypanda, please cite:
Niels Holtgrefe, Leo van Iersel, Ruben Meuwese, Yukihiro Murakami, and Jannik Schestag. PaNDA: Efficient Optimization of Phylogenetic Diversity in Networks. bioRxiv, 2025. doi: 10.1101/2025.11.14.688467
If your work builds specifically on the budgeted node-scanwidth algorithms, please also cite:
Niels Holtgrefe and Jannik Schestag. Tractable Optimization of Budgeted Phylogenetic Diversity on Networks Utilizing Node-Scanwidth. 2026.
See also
For the graphical-user interface developed for the first paper, please go to gui/.
For the experimental materials corresponding to the above two papers, please go to experiments/.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phypanda-2.1.0.tar.gz.
File metadata
- Download URL: phypanda-2.1.0.tar.gz
- Upload date:
- Size: 32.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac40ae8b9e13fd453be116515dd92db54057c80be046ccda7ef47c9698748805
|
|
| MD5 |
f59dc99ba58d10fc3d4b5047c47fdfe8
|
|
| BLAKE2b-256 |
1b1b36dc42ce96acfc95b68c63151db17bf9b392e29f4448d2f84bd1c7e17952
|
Provenance
The following attestation bundles were made for phypanda-2.1.0.tar.gz:
Publisher:
release.yml on nholtgrefe/panda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phypanda-2.1.0.tar.gz -
Subject digest:
ac40ae8b9e13fd453be116515dd92db54057c80be046ccda7ef47c9698748805 - Sigstore transparency entry: 1546813296
- Sigstore integration time:
-
Permalink:
nholtgrefe/panda@42423fef0595f01678659c7b69a597bf6838833b -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/nholtgrefe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@42423fef0595f01678659c7b69a597bf6838833b -
Trigger Event:
push
-
Statement type:
File details
Details for the file phypanda-2.1.0-py3-none-any.whl.
File metadata
- Download URL: phypanda-2.1.0-py3-none-any.whl
- Upload date:
- Size: 33.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adbf83b3ffd2cfae305f829e883f641ec5c2d51f5845456cced242fa2ccb4c2b
|
|
| MD5 |
3ea3b783b0fa8984d79a9f69ed6b48fb
|
|
| BLAKE2b-256 |
fc77e60ec43efa5d2539ecc7c0660844675c0bebe3bfce39c08763f68d1435b7
|
Provenance
The following attestation bundles were made for phypanda-2.1.0-py3-none-any.whl:
Publisher:
release.yml on nholtgrefe/panda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phypanda-2.1.0-py3-none-any.whl -
Subject digest:
adbf83b3ffd2cfae305f829e883f641ec5c2d51f5845456cced242fa2ccb4c2b - Sigstore transparency entry: 1546813308
- Sigstore integration time:
-
Permalink:
nholtgrefe/panda@42423fef0595f01678659c7b69a597bf6838833b -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/nholtgrefe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@42423fef0595f01678659c7b69a597bf6838833b -
Trigger Event:
push
-
Statement type: