Juliacon 2024

PEtab.jl - Efficient parameter estimation for dynamic models
07-10, 14:30–15:00 (Europe/Amsterdam), Else (1.3)

Dynamic models via ordinary differential equations (ODEs) are often used to model biological processes. However, ODE models often have unknown parameters that must be estimated from data. This corresponds to minimizing an objective function. PEtab.jl is a Julia package for setting up parameter estimation problems for dynamic models in Julia. Here, I will introduce PEtab.jl, and benchmark results on how PEtab compares against non-Julia tools for parameter estimation.


Dynamic model in biology and in the pharmaceutical industry often have unknown model parameter, such as reaction rates, that must be estimated from experimental time-series data. This parameter estimation problem involves formulating a likelihood function, which subsequently is minimized via numerical methods. For simple cases, the likelihood function can easily be coded by using the SciML ecosystem in Julia. However, for more complex cases, like when the model includes events, data is collected under various simulation conditions, or the model should be at a steady state at time zero, correctly coding a likelihood function is a time-consuming and error-prone process.

PEtab.jl is a Julia package that makes it easy to create parameter estimation problems in Julia. This by leveraging various features from the SciML ecosystem. In this talk I will cover:

  • How to import problems specified in the PEtab standard format for parameter estimation problems.
  • How to import SBML models with SBMLImporter.jl - the importer used by PEtab to import dynamic models in the SBML standard format.
  • How to easily setup parameter estimation problems directly in Julia, where the dynamic models can be provided as either a Catalyst.jl ReactionSystem or a ModelingToolkit.jl ODESystem.
  • Which gradient computation methods to use. PEtab.jl integrates with ForwardDiff and SciMLSensitivity, allowing gradient computations through both forward and adjoint approaches, however, selecting the best method can be non-trivial.

Lastly, I will address the question: Should Julia be used for parameter estimating dynamic models in biology and pharmaceutical research? There already exist excellent tools for dynamic modelling in biology, such as pyPESTO, which utilizes AMICI as simulation engine. To evaluate how PEtab.jl compares against AMICI we conducted an extensive benchmark on real models with real data.

See also: Slides (6.7 MB)