bioRxivBioinformaticsPreprint
TreePPL: A Universal Probabilistic Programming Language for Phylogenetics
Viktor SenderoviD, Jan KudlickaiD, Daniel LundéniD, Viktor PalmkvistiD, Mariana P. BragaiD, Emma GranqvistiD, Gizem ÇaylakiD, Thimothée VirgoulayiD, David BromaniD, Fredrik RonquistiD
Abstract
We present TreePPL, a universal probabilistic programming language (PPL) designed for probabilistic modeling and inference in phylogenetics. In TreePPL, the model is expressed as a computer program, which can generate simulations from the model conditioned on some input data. Specialized inference machinery then uses this program to estimate the posterior probability distribution. The aim is to allow the user to focus on describing the model, and provide the inference machinery for free. The TreePPL modeling language is meant to be familiar to users of R or Python, and utilizes a functional programming style that facilitates the application of generic inference algorithms. The model program can be conveniently compiled and run from a Python or R environment, which can be used for pre-processing, feeding the model with the observed data, controlling and running the inference, and receiving and post-processing the output data. The inference machinery is generated by a compiler framework developed specifically for supporting domain-specific modeling and inference, the Miking CorePPL framework. It currently supports a range of inference strategies--including sequential Monte Carlo, Markov chain Monte Carlo, and combinations thereof--and is based on several recent innovations that are important for efficient PPL inference on phylogenetic models. It also allows advanced users to implement novel inference strategies for models described using TreePPL or other domain-specific modeling languages. We briefly describe the TreePPL modeling language and the Python environment, and give some examples of modeling and inference with TreePPL. The examples illustrate how TreePPL can be used to address a range of common problem types considered in statistical phylogenetics, from diversification and tree inference to complex trait evolution. A few major challenges remain to be addressed before the phylogenetic model space is adequately covered by efficient automatic inference techniques, but several of them are being addressed in ongoing work on TreePPL. We end the paper by discussing how probabilistic programming can facilitate further use of machine learning in addressing important challenges in statistical phylogenetics.
- research focus: phylogenetics / evolution
- research focus: benchmarking
- approach: statistical model
- approach: Bayesian inference
- Citations
- 3
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- Universal probabilistic programming offers a powerful approach to statistical phylogenetics
F. Ronquist, J. Kudlicka, … D. Broman·bioRxiv·Jun 16, 2020
- Evaluating probabilistic programming and fast variational Bayesian inference in phylogenetics
Mathieu Fourment, Aaron E. Darling·PeerJPeer-reviewed·Dec 18, 2019
- phyddle: software for exploring phylogenetic models with deep learning
Michael J. Landis, Ammon Thompson·Systematic BiologyPeer-reviewed·May 14, 2025
- LinguaPhylo: a probabilistic model specification language for reproducible phylogenetic analyses
A. J. Drummond, K. Chen, … D. Xie·PLOS Computational BiologyPeer-reviewed·Jul 18, 2023
- Quantifying the impact of an inference model in Bayesian phylogenetics
R. S. Etienne, G. Laudanno, R. J. Bilderbeek·bioRxiv·Dec 17, 2019
- Adaptive Tree Proposals for Bayesian Phylogenetic Inference
X. Meyer·bioRxiv·Sep 26, 2019