Software
I write all of my software in the open: everything is freely licensed and developed publicly on GitHub, and written for mathematicians and biologists alike. Every package is written in Python and comes with its own documentation site and test suite, and most have a graphical interface, so you can use them without writing any code. The packages also fit together: PhyloZoo provides the shared foundation that Squirrel and PaNDA build on.
phylozoo
Python
The shared foundation for working with phylogenetic networks in Python.
PhyloZoo is a Python package for working with phylogenetic networks and the kinds of evolutionary data that come with them. It is the common foundation that Squirrel and PaNDA are built on: it handles both directed and semi-directed networks, reads and writes all the usual phylogenetic file formats, draws publication-ready figures, and is fast enough for large datasets.
physquirrel
Python
Build a phylogenetic network straight from a DNA alignment.
physquirrel implements the Squirrel algorithm, which reconstructs a phylogenetic network either from a DNA sequence alignment or from a set of four-species building blocks. It comes with a graphical interface for anyone who would rather not write code, and a full Python API for those who would. It runs in minutes on a normal laptop.
- Squirrel: Reconstructing Semi-directed Phylogenetic Level-1 Networks from Four-Leaved Networks or Sequence Alignments Molecular Biology and Evolution, 2025
phypanda
Python
Which species preserve the most evolutionary diversity?
phypanda (PaNDA) helps answer a conservation question: if you can only protect a limited number of species, which ones together preserve the most evolutionary variety? It measures that variety on phylogenetic networks, finds the best selection for you, and shows the result through an interactive interface.
scanwidth
Python
Measure how tree-like a network is.
Many hard computations on a phylogenetic network become much easier when the network is close to being a tree. Scanwidth puts a number on how close it is, and this package computes it: exactly when you can afford to, and with a fast, near-optimal heuristic when you cannot. It is also useful for preparing networks before running other tools.
- Exact and Heuristic Computation of the Scanwidth of Directed Acyclic Graphs Journal of Computer and System Sciences, 2026
- Computing the Scanwidth of Directed Acyclic Graphs MSc Thesis, Delft University of Technology, Delft, The Netherlands
Drag, scroll sideways, or use the arrows / arrow keys to flip through the packages.