From 2e78c01274fdb2563ad6b5b44dc14eebf86a64d4 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Mon, 14 Aug 2023 18:32:21 +0000 Subject: [PATCH] build based on 9e38446 --- v1.4.4/API_choosen/index.html | 2 +- v1.4.4/Bachmann/index.html | 2 +- v1.4.4/Beer/index.html | 2 +- v1.4.4/Beer_julia_import/index.html | 2 +- v1.4.4/Best_options/index.html | 2 +- v1.4.4/Boehm/index.html | 2 +- v1.4.4/Brannmark/index.html | 2 +- v1.4.4/Gradient_hessian_support/index.html | 2 +- v1.4.4/Model_selection/index.html | 2 +- v1.4.4/Parameter_estimation/index.html | 2 +- v1.4.4/index.html | 2 +- v1.4.4/search/index.html | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/v1.4.4/API_choosen/index.html b/v1.4.4/API_choosen/index.html index 1bea9b09..5d6aaeb7 100644 --- a/v1.4.4/API_choosen/index.html +++ b/v1.4.4/API_choosen/index.html @@ -11,4 +11,4 @@ reltol=nothing, maxiters=nothing)

Setup options for finding steady-state via either method=:Rootfinding or method=:Simulate.

For method=:Rootfinding, the steady-state u* is found by solving the problem du = f(u, p, t) ≈ 0 with tolerances abstol and reltol via an automatically chosen optimization algorithm (rootfindingAlgorithm=nothing) or via any algorithm in NonlinearSolve.jl.

For method=:Simulate, the steady-state u* is found by simulating the ODE system until du = f(u, p, t) ≈ 0. Two options are available for howCheckSimulationReachedSteadyState:

maxiters refers to either the maximum number of rootfinding steps or the maximum number of integration steps, depending on the chosen method.

source
PEtab.remakePEtabProblemFunction
remakePEtabProblem(petabProblem::PEtabODEProblem, parametersChange::Dict) :: PEtabODEProblem

Fixate model parameters for a given PEtabODEProblem without recompiling the problem.

This function allows you to modify parameters without the need to recompile the underlying code, resulting in reduced latency. To fixate the parameter k1, you can use parametersChange=Dict(:k1 => 1.0).

If model derivatives are computed using ForwardDiff.jl with a chunk-size of N, the new PEtabODEProblem will only evaluate the necessary number of chunks of size N to compute the full gradient for the remade problem.

source
PEtab.FidesType
Fides

Fides is a Python Newton-trust region optimizer for box-bounded optimization problems.

It is particularly effective when the full Hessian cannot be computed, but the Gauss-Newton Hessian approximation can be computed. If constructed with Fides(verbose=true), it prints optimization progress during the process.

source
PEtab.callibrateModelFunction
calibrateModel(petabProblem::PEtabODEProblem,
                optimizer;
-               <keyword arguments>)

Perform multi-start local optimization for a given PEtabODEProblem and return (fmin, minimizer) for all runs.

Arguments

  • petabProblem::PEtabODEProblem: The PEtabODEProblem to be calibrated.
  • optimizer: The optimizer algorithm to be used. Currently, we support three different algorithms:
    1. Fides(): The Newton trust-region Fides optimizer from Python. Please refer to the documentation for setup examples. This optimizer performs well when computing the full Hessian is not possible, and the Gauss-Newton Hessian approximation can be used.
    2. IPNewton(): The interior-point Newton method from Optim.jl. This optimizer performs well when it is computationally feasible to compute the full Hessian.
    3. LBFGS() or BFGS() from Optim.jl: These optimizers are suitable when the computation of the Gauss-Newton Hessian approximation is too expensive, such as when adjoint sensitivity analysis is required for the gradient.
  • nOptimisationStarts::Int: Number of multi-starts to be performed. Defaults to 100.
  • samplingMethod: Method for generating start guesses. Any method from QuasiMonteCarlo.jl is supported, with LatinHypercube as the default.
  • options: Optimization options. For Optim.jl optimizers, it accepts an Optim.Options struct. For Fides, please refer to the Fides documentation and the PEtab.jl documentation for information on setting options.
source
PEtab.runPEtabSelectFunction
runPEtabSelect(pathYAML, optimizer; <keyword arguments>)

Given a PEtab-select YAML file perform model selection with the algorithms specified in the YAML file.

Results are written to a YAML file in the same directory as the PEtab-select YAML file.

Each candidate model produced during the model selection undergoes parameter estimation using local multi-start optimization. Three optimizers are supported: optimizer=Fides() (Fides Newton-trust region), optimizer=IPNewton() from Optim.jl, and optimizer=LBFGS() from Optim.jl. Additional keywords for the optimisation are nOptimisationStarts::Int- number of multi-starts for parameter estimation (defaults to 100) and optimizationSamplingMethod - which is any sampling method from QuasiMonteCarlo.jl for generating start guesses (defaults to LatinHypercubeSample). See also (add callibrate model)

Simulation options can be set using any keyword argument accepted by the createPEtabODEProblem function. For example, setting gradientMethod=:ForwardDiff specifies the use of forward-mode automatic differentiation for gradient computation. If left blank, we automatically select appropriate options based on the size of the problem.

source
PEtab.solveSBMLModelFunction

solveSBMLModel(pathSBML, solver, timeSpan; abstol=1e-8, reltol=1e-8, saveat=Float64[], verbose=true)

Solve an ODE SBML model at the values reported in the SBML file over the specified time span (t0::Float, tend::Float).

Solvers from the OrdinaryDiffEq.jl package are supported. If you want to save the ODE solution at specific time-points, e.g., [1.0, 3.0], provide the saveat argument as saveat=[1.0, 3.0]. The output is provided in the format of OrdinaryDiffEq.jl. The Julia model files are saved in the same directory as the SBML file, in a subdirectory named "SBML".

Note

This function is primarily intended for testing the SBML importer.

source
+ <keyword arguments>)

Perform multi-start local optimization for a given PEtabODEProblem and return (fmin, minimizer) for all runs.

Arguments

source
PEtab.runPEtabSelectFunction
runPEtabSelect(pathYAML, optimizer; <keyword arguments>)

Given a PEtab-select YAML file perform model selection with the algorithms specified in the YAML file.

Results are written to a YAML file in the same directory as the PEtab-select YAML file.

Each candidate model produced during the model selection undergoes parameter estimation using local multi-start optimization. Three optimizers are supported: optimizer=Fides() (Fides Newton-trust region), optimizer=IPNewton() from Optim.jl, and optimizer=LBFGS() from Optim.jl. Additional keywords for the optimisation are nOptimisationStarts::Int- number of multi-starts for parameter estimation (defaults to 100) and optimizationSamplingMethod - which is any sampling method from QuasiMonteCarlo.jl for generating start guesses (defaults to LatinHypercubeSample). See also (add callibrate model)

Simulation options can be set using any keyword argument accepted by the createPEtabODEProblem function. For example, setting gradientMethod=:ForwardDiff specifies the use of forward-mode automatic differentiation for gradient computation. If left blank, we automatically select appropriate options based on the size of the problem.

source
PEtab.solveSBMLModelFunction

solveSBMLModel(pathSBML, solver, timeSpan; abstol=1e-8, reltol=1e-8, saveat=Float64[], verbose=true)

Solve an ODE SBML model at the values reported in the SBML file over the specified time span (t0::Float, tend::Float).

Solvers from the OrdinaryDiffEq.jl package are supported. If you want to save the ODE solution at specific time-points, e.g., [1.0, 3.0], provide the saveat argument as saveat=[1.0, 3.0]. The output is provided in the format of OrdinaryDiffEq.jl. The Julia model files are saved in the same directory as the SBML file, in a subdirectory named "SBML".

Note

This function is primarily intended for testing the SBML importer.

source
diff --git a/v1.4.4/Bachmann/index.html b/v1.4.4/Bachmann/index.html index 570e5f12..780206b7 100644 --- a/v1.4.4/Bachmann/index.html +++ b/v1.4.4/Bachmann/index.html @@ -34,4 +34,4 @@ @printf("First element in the gradient = %.2e\n", gradient[1]) @printf("First element in the Gauss-Newton Hessian = %.2f\n", hessian[1, 1])
Cost for Bachmann = -418.41
 First element in the gradient = -1.85e-03
-First element in the Gauss-Newton Hessian = 584.10
+First element in the Gauss-Newton Hessian = 584.10 diff --git a/v1.4.4/Beer/index.html b/v1.4.4/Beer/index.html index f51e3405..d8fabbc8 100644 --- a/v1.4.4/Beer/index.html +++ b/v1.4.4/Beer/index.html @@ -21,4 +21,4 @@ @printf("First element in the gradient = %.2e\n", gradient[1]) @printf("First element in the hessian = %.2f\n", hessian[1, 1])
Cost = -58622.91
 First element in the gradient = 7.17e-02
-First element in the hessian = 755266.33
+First element in the hessian = 755266.33 diff --git a/v1.4.4/Beer_julia_import/index.html b/v1.4.4/Beer_julia_import/index.html index fa049828..442aa9b3 100644 --- a/v1.4.4/Beer_julia_import/index.html +++ b/v1.4.4/Beer_julia_import/index.html @@ -52,4 +52,4 @@ pathYaml = joinpath(@__DIR__, "Beer", "Beer_MolBioSystems2014.yaml") pathJuliaFile = joinpath(@__DIR__, "Beer", "Julia_import_files", "Beer_Julia_Import.jl") petabModel = readPEtabModel(pathYaml, verbose=true, jlFilePath=pathJuliaFile)
PEtabModel for model Beer. ODE-system has 4 states and 9 parameters.
-Generated Julia files are at ...

Moving forward, you can use the imported model similar to any other model imported from an SBML-file. To get an idea of how to use the wpetabModel` to compute the cost, gradient or hessian for an ODE parameter estimation problem, please refer to the tutorial for the Beer model.

+Generated Julia files are at ...

Moving forward, you can use the imported model similar to any other model imported from an SBML-file. To get an idea of how to use the wpetabModel` to compute the cost, gradient or hessian for an ODE parameter estimation problem, please refer to the tutorial for the Beer model.

diff --git a/v1.4.4/Best_options/index.html b/v1.4.4/Best_options/index.html index 2554b446..fc3e3ddb 100644 --- a/v1.4.4/Best_options/index.html +++ b/v1.4.4/Best_options/index.html @@ -13,4 +13,4 @@ odeSolverOptions=ODESolverOptions(CVODE_BDF(), abstol=1e-8, reltol=1e-8), odeSolverGradientOptions=ODESolverOptions(CVODE_BDF(), abstol=1e-8, reltol=1e-8), gradientMethod=:Adjoint, - sensealg=InterpolatingAdjoint()) + sensealg=InterpolatingAdjoint()) diff --git a/v1.4.4/Boehm/index.html b/v1.4.4/Boehm/index.html index 240f05d0..ebbe6df0 100644 --- a/v1.4.4/Boehm/index.html +++ b/v1.4.4/Boehm/index.html @@ -31,4 +31,4 @@ @printf("First element in the gradient = %.2e\n", gradient[1]) @printf("First element in the hessian = %.2f\n", hessian[1, 1])
Cost = 138.22
 First element in the gradient = 2.20e-02
-First element in the hessian = 2199.49

Where to go from here

Next, we suggest you take a look at the Choosing best options for a PEtab problem guide. Additionally, we recommend exploring the Supported gradient and hessian methods section. In case you want to provide your model-file as a Julia-file instead of an SBML file take a look at Providing a model as a Julia file instead of an SBML File.

+First element in the hessian = 2199.49

Where to go from here

Next, we suggest you take a look at the Choosing best options for a PEtab problem guide. Additionally, we recommend exploring the Supported gradient and hessian methods section. In case you want to provide your model-file as a Julia-file instead of an SBML file take a look at Providing a model as a Julia file instead of an SBML File.

diff --git a/v1.4.4/Brannmark/index.html b/v1.4.4/Brannmark/index.html index 3454fd42..a2494b76 100644 --- a/v1.4.4/Brannmark/index.html +++ b/v1.4.4/Brannmark/index.html @@ -16,4 +16,4 @@ petabProblem.computeGradient!(gradient, p) @printf("Cost= %.2f\n", cost) @printf("First element in the gradient = %.2e\n", gradient[1])
Cost = 141.89
-First element in the gradient = 2.70e-03

Some useful notes regarding the steady-state solver:

+First element in the gradient = 2.70e-03

Some useful notes regarding the steady-state solver:

diff --git a/v1.4.4/Gradient_hessian_support/index.html b/v1.4.4/Gradient_hessian_support/index.html index c2b1a82c..0e8b1031 100644 --- a/v1.4.4/Gradient_hessian_support/index.html +++ b/v1.4.4/Gradient_hessian_support/index.html @@ -3,4 +3,4 @@ \begin{bmatrix} H_{p} & \mathbf{0} \\ \mathbf{0} & \mathbf{H}_q -\end{bmatrix}\]

+\end{bmatrix}\]

diff --git a/v1.4.4/Model_selection/index.html b/v1.4.4/Model_selection/index.html index d3d35b1b..71f37e6b 100644 --- a/v1.4.4/Model_selection/index.html +++ b/v1.4.4/Model_selection/index.html @@ -26,4 +26,4 @@ [ Info: Callibrating model M1_6 [ Info: Model selection round 4 with 1 candidates [ Info: Callibrating model M1_7 -[ Info: Saving results for best model at 0002/PEtab_select_forward_AIC.yaml

The YAML file storing the model selection results will be saved at pathSave.

To run the code, you will need the PEtab files, which you can find here. You can also find a fully runnable example of this tutorial here.

+[ Info: Saving results for best model at 0002/PEtab_select_forward_AIC.yaml

The YAML file storing the model selection results will be saved at pathSave.

To run the code, you will need the PEtab files, which you can find here. You can also find a fully runnable example of this tutorial here.

diff --git a/v1.4.4/Parameter_estimation/index.html b/v1.4.4/Parameter_estimation/index.html index 41e459fc..d9387e7c 100644 --- a/v1.4.4/Parameter_estimation/index.html +++ b/v1.4.4/Parameter_estimation/index.html @@ -26,4 +26,4 @@ nOptimisationStarts=5, samplingMethod=QuasiMonteCarlo.LatinHypercubeSample(), options=py"{'maxiter' : 200}"o) -@printf("Best found value = %.3f\n", minimum(fvals))
Best found value = 147.544

Please note that since Fides is a Python package, when providing options, they must be in the form of a Python dictionary using the py"..." string.

+@printf("Best found value = %.3f\n", minimum(fvals))
Best found value = 147.544

Please note that since Fides is a Python package, when providing options, they must be in the form of a Python dictionary using the py"..." string.

diff --git a/v1.4.4/index.html b/v1.4.4/index.html index 85c21a76..7fc9a698 100644 --- a/v1.4.4/index.html +++ b/v1.4.4/index.html @@ -1,2 +1,2 @@ -Home · PEtab.jl

PEtab.jl

This is the documentation of PEtab.jl, a Julia package designed to import ODE parameter estimation problems specified in the PEtab format into Julia.

PEtab.jl uses Julia's DifferentialEquations.jl package for ODE solvers and ModelingToolkit.jl for symbolic model processing, which enables fast model simulations. This, combined with support for gradients via forward- and adjoint-sensitivity approaches, and hessian via both exact and approximate methods, allows for efficient parameter estimation for both small and large models. In an extensive benchmark study, PEtab.jl was found to be 2-4 times faster than the pyPESTO toolbox that leverages the AMICI interface to the Sundials suite.

This documentation includes:

  • A guide for getting started with PEtab.jl
  • Tutorials on medium-sized models, small models with several condition-specific parameters, models with pre-equilibration conditions (steady-state simulations), how to define and import a model written in Julia, how to perform parameter estimation, and how to perform model selection with PEtab-select.
  • Details about available hessian and gradient options.
  • Discussion of the best options for specific model types, including small, medium, and large models.

Installation

PEtab.jl can be installed via

julia> ] add PEtab

or alternatively via

julia> using Pkg; Pkg.add("PEtab")

Feature list

PEtab.jl provides a range of features to import and analyze ODE parameter estimation problems specified in the PEtab format. These include:

  • Importing ODE systems specified either by an SBML file or as a Julia file.
  • Model selection via PEtab Select.
  • Symbolic model pre-processing via ModelingToolkit.jl.
  • Support for all ODE solvers in DifferentialEquations.jl.
  • Gradient calculations using several approaches:
    • Forward-mode automatic differentiation with ForwardDiff.jl.
    • Forward sensitivity analysis with ForwardDiff.jl or SciMLSensitivity.jl.
    • Adjoint sensitivity analysis with any of the algorithms in SciMLSensitivity.jl.
    • Automatic differentiation via Zygote.jl.
  • Hessians computed via:
    • Forward-mode automatic differentiation with ForwardDiff.jl (exact).
    • Block approach with ForwardDiff.jl (approximate).
    • Gauss-Newton method (approximate and often more performant than (L)-BFGS).
  • Handling pre-equilibration and pre-simulation conditions.
  • Support for models with discrete events and logical operations.

Citation

We will soon publish a preprint you can cite if you found PEtab.jl helpful in your work.

+Home · PEtab.jl

PEtab.jl

This is the documentation of PEtab.jl, a Julia package designed to import ODE parameter estimation problems specified in the PEtab format into Julia.

PEtab.jl uses Julia's DifferentialEquations.jl package for ODE solvers and ModelingToolkit.jl for symbolic model processing, which enables fast model simulations. This, combined with support for gradients via forward- and adjoint-sensitivity approaches, and hessian via both exact and approximate methods, allows for efficient parameter estimation for both small and large models. In an extensive benchmark study, PEtab.jl was found to be 2-4 times faster than the pyPESTO toolbox that leverages the AMICI interface to the Sundials suite.

This documentation includes:

  • A guide for getting started with PEtab.jl
  • Tutorials on medium-sized models, small models with several condition-specific parameters, models with pre-equilibration conditions (steady-state simulations), how to define and import a model written in Julia, how to perform parameter estimation, and how to perform model selection with PEtab-select.
  • Details about available hessian and gradient options.
  • Discussion of the best options for specific model types, including small, medium, and large models.

Installation

PEtab.jl can be installed via

julia> ] add PEtab

or alternatively via

julia> using Pkg; Pkg.add("PEtab")

Feature list

PEtab.jl provides a range of features to import and analyze ODE parameter estimation problems specified in the PEtab format. These include:

  • Importing ODE systems specified either by an SBML file or as a Julia file.
  • Model selection via PEtab Select.
  • Symbolic model pre-processing via ModelingToolkit.jl.
  • Support for all ODE solvers in DifferentialEquations.jl.
  • Gradient calculations using several approaches:
    • Forward-mode automatic differentiation with ForwardDiff.jl.
    • Forward sensitivity analysis with ForwardDiff.jl or SciMLSensitivity.jl.
    • Adjoint sensitivity analysis with any of the algorithms in SciMLSensitivity.jl.
    • Automatic differentiation via Zygote.jl.
  • Hessians computed via:
    • Forward-mode automatic differentiation with ForwardDiff.jl (exact).
    • Block approach with ForwardDiff.jl (approximate).
    • Gauss-Newton method (approximate and often more performant than (L)-BFGS).
  • Handling pre-equilibration and pre-simulation conditions.
  • Support for models with discrete events and logical operations.

Citation

We will soon publish a preprint you can cite if you found PEtab.jl helpful in your work.

diff --git a/v1.4.4/search/index.html b/v1.4.4/search/index.html index b869e732..1c15e465 100644 --- a/v1.4.4/search/index.html +++ b/v1.4.4/search/index.html @@ -1,2 +1,2 @@ -Search · PEtab.jl

Loading search...

    +Search · PEtab.jl

    Loading search...