TreeFlow: Probabilistic programming and automatic differentiation for phylogenetics
Swanepoel, Christiaan et al. (2023), TreeFlow: Probabilistic programming and automatic differentiation for phylogenetics, Dryad, Dataset, https://doi.org/10.5061/dryad.v6wwpzh0p
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.
- Carnivores sequence alignment accessed from benchmark in BEAST examples
- H3N2 sequence alignment taken from Vaughan TG, Kühnert D, Popinga A, Welch D, Drummond AJ. Efficient Bayesian inference under the structured coalescent. Bioinformatics. 2014 Aug 15;30(16):2272-9. doi: 10.1093/bioinformatics/btu201
Data processing pipeline can be found at https://github.com/christiaanjs/treeflow-paper
- 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