Skip to main content

TreeFlow: Probabilistic programming and automatic differentiation for phylogenetics


Swanepoel, Christiaan et al. (2023), TreeFlow: Probabilistic programming and automatic differentiation for phylogenetics, Dryad, Dataset,


Probabilistic programming frameworks are powerful tools for statistical modelling and inference. They are not immediately generalisable to phylogenetic problems due to the particular computational properties of the phylogenetic tree object. TreeFlow is a software library for probabilistic programming and automatic differentiation with phylogenetic trees. It implements inference algorithms for phylogenetic tree times and model parameters, given a tree topology. We demonstrate how TreeFlow can be used to quickly implement and assess new models. We also show that it provides reasonable performance for gradient-based inference algorithms compared to specialized computational libraries for phylogenetics.


Usage notes

Data processing pipeline can be found at

  • Tree topologies inferred using RAxML 8.2.12
  • Tree topologies are rooted using LSD 0.2
  • BEAST analyses are performed using BEAST 2.6.7
  • Variational inference analyses are performed using TreeFlow 0.0.1beta

Sequences have been removed H3N2 BEAST XML as a result of license conflicts. This complete version of this file is generated by the above pipeline.


University of Auckland