All software I develop follows the principles of open software: openly licensed, publicly developed on GitHub, and documented for a mixed audience of mathematicians and biologists. Each package has a dedicated documentation website, a test suite, and where applicable a graphical user interface so that researchers without a programming background can use the tools directly. The packages are designed to work together, with PhyloZoo providing a shared foundation that Squirrel and PaNDA build on.
phylozoo
PhyloZoo is a Python package for working with phylogenetic networks and related evolutionary data types, designed as foundational infrastructure for phylogenetic network analysis in Python.
It provides validated directed and semi-directed network representations, support for quartets/splits/distance matrices and sequence alignments, flexible Matplotlib-based visualization, standard phylogenetic file formats, and performance-focused routines powered by NumPy (with optional Numba acceleration).
This package implements the Squirrel algorithm for reconstructing semi-directed phylogenetic level-1 networks from either four‐leaf quarnet sets or sequence alignments.
It provides both a graphical user interface (GUI) for non-programmers and a full Python API for advanced users, enabling simulation, inference and visualization of reticulate evolutionary histories.
A Python package designed for exploration and maximization of phylogenetic diversity in phylogenetic networks.
It supports generation and handling of phylogenetic network instances, computes diversity‐based optimization criteria, and includes interactive visualizations and algorithmic pipelines for network‐level diversity analyses.
An implementation of exact algorithms and heuristics for computing the scanwidth parameter of directed acyclic graphs (DAGs), including phylogenetic networks.
Scanwidth is a structural complexity measure that can improve the tractability of dynamic-programming algorithms on DAGs.
The package supports both exact computation and fast approximation, and can be used to preprocess network instances before running other phylogenetic tools.
All packages above are written in Python and include links to their code repositories and related publications. You can also browse all my projects on GitHub: https://github.com/nholtgrefe