Create parameter estimation problems for dynamic models
Getting Started | Documentation | Contributing
PEtab.jl is a Julia package for creating parameter estimation problems for fitting Ordinary Differential Equation (ODE) models to time-lapse data in Julia.
Major features are:
- Define problems directly in Julia, with models provided as
Catalyst.jl
ReactionSystem, ModelingToolkit.jlODESystem, or as SBML (via SBMLImporter.jl). Problems can be defined with a wide range of features, such as multiple observables and/or simulation conditions, events, and pre-equilibration (steady-state initialization). - Import and work with PEtab problems in both v1 and v2 of the PEtab standard format.
- Built on the SciML ecosystem, with access to performant stiff and non-stiff ODE solvers from OrdinaryDiffEq.jl, and efficient gradients via forward-mode automatic differentiation (small models) and adjoint sensitivity analysis (large models).
- High performant, often faster than the state-of-the-art toolbox AMICI by ~2× for gradient and parameter-estimation workloads.
- High-level wrappers for parameter estimation via Optim.jl, Ipopt.jl, Fides.jl, and Optimization.jl.
- High-level wrapper for Bayesian inference via AdvancedHMC.jl (including NUTS) and AdaptiveMCMC.jl.
PEtab.jl is a registered Julia package and can be installed with the Julia package manager using:
julia> import Pkg; Pkg.add("PEtab")PEtab.jl is compatible with Julia 1.10 and above. For additional installation details, see the documentation.
If you use PEtab.jl in work that is published, please cite the paper below:
@article{PEtabBioinformatics2025,
title={PEtab.jl: advancing the efficiency and utility of dynamic modelling},
author={Persson, Sebastian and Fr{\"o}hlich, Fabian and Grein, Stephan and Loman, Torkel and Ognissanti, Damiano and Hasselgren, Viktor and Hasenauer, Jan and Cvijovic, Marija},
journal={Bioinformatics},
volume={41},
number={9},
pages={btaf497},
year={2025},
publisher={Oxford University Press}
}