"""Example using pypesto, petab, amici.
"""
import os.path
import amici
# import matplotlib and increase image resolution
import matplotlib as mpl
import numpy as np
import petab
import pypesto
import pypesto.optimize as optimize
import pypesto.petab
import pypesto.visualize as visualize
mpl.rcParams['figure.dpi'] = 300
# directory of the PEtab problem
[docs]petab_yaml = './boehm_JProteomeRes2014/Boehm_JProteomeRes2014.yaml'
[docs]importer = pypesto.petab.PetabImporter.from_yaml(petab_yaml)
[docs]problem = importer.create_problem()
# Set gradient computation method to adjoint
# problem.objective.amici_solver.setSensitivityMethod(
# amici.SensitivityMethod.adjoint
# )
# choose optimizer
[docs]optimizer = optimize.ScipyOptimizer()
# # do the optimization
# result = optimize.minimize(problem=problem,
# optimizer=optimizer,
# n_starts=10)
#
# # E.g. best model fit was obtained by the following optimization run:
# result.optimize_result.list[0]
# paralleization:
# Parallelize
[docs]engine = pypesto.engine.MultiProcessEngine()
# Optimize
[docs]result = optimize.minimize(problem=problem,
optimizer=optimizer,
engine=engine,
n_starts=100)