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.
We will soon publish a paper you can cite if you found PEtab helpful in your work.