SkillAgentSearch skills...

PEtab.jl

Create parameter estimation problems for ODE models

Install / Use

/learn @sebapersson/PEtab.jl
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PEtab.jl

Create parameter estimation problems for dynamic models

Stable Dev Build Status Aqua QA codecov code style: runic

Getting Started | Documentation | Contributing

PEtab.jl is a Julia package for creating parameter estimation problems to fit ordinary differential equation (ODE) and scientific machine learning (SciML) models to time-series data.

Major features are:

  • Define ODE parameter estimation problems directly in Julia, with models provided as Catalyst.jl ReactionSystem, ModelingToolkitBase.jl ODESystem, an OrdinaryDiffEq.jl ODEProblem, or as SBML model (imported 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).
  • Support for three types of scientific machine learning (SciML) problems combining mechanistic ODE models with machine-learning (ML) components: (1) ML in the ODE dynamics (e.g. UDEs/Neural ODEs), (2) ML in the observable/measurement model linking simulations to data, and (3) pre-simulation ML mapping high-dimensional inputs to ODE parameters.
  • Import and work with PEtab problems in both v1 and v2 of the PEtab format, as well as the PEtab-SciML 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.
  • Support for state-of-the-art SciML training strategies, such as curriculum learning and multiple shooting, via PEtabTraining.jl.
  • High-level wrapper for Bayesian inference via AdvancedHMC.jl (including NUTS) and AdaptiveMCMC.jl.

Installation

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.

Citation

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}
}

Related Skills

View on GitHub
GitHub Stars69
CategoryDevelopment
Updated4d ago
Forks9

Languages

Julia

Security Score

95/100

Audited on Mar 28, 2026

No findings