Build status Documentation Status License

Welcome to SBML2Julia’s documentation!

SBML2Julia is a tool to for optimizing parameters of ordinary differential equation (ODE) models. SBML2Julia translates a model from SBML/PEtab format into Julia for Mathematical Programming (JuMP), performs the optimization task and returns the results. For importing SBML models into the the SciML ecosystem, please refer to SBMLToolkit.jl.

Optimization method

SBML2Julia uses the optimization method presented in Scalable nonlinear programming framework for parameter estimation in dynamic biological system models. In brief, contrary to typical parameter optimization methods for ODE systems, SBML2Julia does not rely on simulation of the ODE system. Instead SBML2Julia uses an implicit Euler scheme to time-discretize an ODE system of n equations into m time steps. This transforms the ODE system into a system of n * (m - 1) algebraic equations with n * m variables. These n * m variables (or a subset thereof) can then be cast into an objective function. Per default, SBML2Julia uses a least square objective. SBML2Julia then uses interior-point optimization implemented in the Julia language to minimize the objective function constraint to the n * (m - 1) algebraic equations.

Interfaces

Optimization tasks can be performed from a Python API or a command line interface.

Contents