Create parameter estimation problems for dynamic models
PEtab.jl is a Julia package for creating parameter estimation problems for fitting Ordinary Differential Equation (ODE) models to data in Julia. Some major highlights of PEtab.jl are:
- It supports coding parameter estimation problems directly in Julia, where the dynamic model can be provided as a Catalyst
ReactionSystem, a ModelingToolkitODESystem, or as an SBML file imported through SBMLImporter. - It can import and has full support for parameter estimation problems in the PEtab standard format
- It supports a wide range of features for parameter estimation problems, including multiple observables, multiple simulation conditions, models with events, and models with steady-state pre-equilibration simulations.
- It integrates with Julia's DifferentialEquations.jl ecosystem, which among other things, means it supports any of the state-of-the-art ODE solvers in OrdinaryDiffEq.jl.
- It supports efficient forward and adjoint gradient methods, suitable for small and large models, respectively.
- It supports exact Hessian's for small models and good approximations for large models.
- It includes wrappers for performing parameter estimation with optimization packages Optim.jl, Ipopt, Optimization.jl, and Fides.py.
- It includes wrappers for performing Bayesian inference using state-of-the-art methods such as NUTS (the same sampler used in Turing.jl) or AdaptiveMCMC.jl.
Additional information and tutorials can be found in the documentation.
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}
}