diff --git a/doc/examples/example_jax/ExampleJax.ipynb b/doc/examples/example_jax/ExampleJax.ipynb
index 4bf249d619..44d9454e19 100644
--- a/doc/examples/example_jax/ExampleJax.ipynb
+++ b/doc/examples/example_jax/ExampleJax.ipynb
@@ -304,11 +304,10 @@
]
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "beb890bd2f3d0880",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"from amici.sim.sundials import SensitivityOrder\n",
"from amici.sim.sundials.petab.v1 import simulate_petab\n",
@@ -320,7 +319,7 @@
"def amici_callback_base(parameters: jnp.array):\n",
" ret = simulate_petab(\n",
" petab_problem,\n",
- " amici_model,\n",
+ " amici_model=amici_model,\n",
" problem_parameters=dict(zip(petab_problem.x_free_ids, parameters)),\n",
" solver=amici_solver,\n",
" )\n",
@@ -329,7 +328,8 @@
" tuple(ret[\"sllh\"][par_id] for par_id in petab_problem.x_free_ids)\n",
" )\n",
" return llh, sllh"
- ]
+ ],
+ "id": "3fa0df1128a9cb41"
},
{
"cell_type": "markdown",
@@ -477,75 +477,27 @@
]
},
{
- "cell_type": "code",
- "execution_count": 11,
- "id": "48451b0e",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"r = simulate_petab(\n",
" petab_problem,\n",
- " amici_model,\n",
+ " amici_model=amici_model,\n",
" solver=amici_solver,\n",
" scaled_parameters=True,\n",
" scaled_gradients=True,\n",
" problem_parameters=scaled_parameters,\n",
")"
- ]
+ ],
+ "id": "24a7792cc548dfe2"
},
{
- "cell_type": "code",
- "execution_count": 12,
- "id": "2628db12",
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " amici | \n",
- " jax | \n",
- " rel_diff | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | llh | \n",
- " -138.221997 | \n",
- " -138.222 | \n",
- " -2.135248e-08 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " amici jax rel_diff\n",
- "llh -138.221997 -138.222 -2.135248e-08"
- ]
- },
- "execution_count": 12,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "cell_type": "code",
+ "outputs": [],
+ "execution_count": null,
"source": [
"import pandas as pd\n",
"\n",
@@ -557,7 +509,8 @@
" ),\n",
" index=(\"llh\",),\n",
")"
- ]
+ ],
+ "id": "7f72eab3da313f24"
},
{
"cell_type": "code",
diff --git a/doc/examples/example_jax_petab/ExampleJaxPEtab.ipynb b/doc/examples/example_jax_petab/ExampleJaxPEtab.ipynb
index fb655839d2..b23c53325f 100644
--- a/doc/examples/example_jax_petab/ExampleJaxPEtab.ipynb
+++ b/doc/examples/example_jax_petab/ExampleJaxPEtab.ipynb
@@ -598,82 +598,82 @@
]
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "768fa60e439ca8b4",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"%%timeit\n",
"simulate_petab(\n",
" petab_problem,\n",
- " amici_model,\n",
+ " amici_model=amici_model,\n",
" solver=solver,\n",
" problem_parameters=problem_parameters,\n",
" scaled_parameters=True,\n",
" scaled_gradients=True,\n",
")"
- ]
+ ],
+ "id": "42cbc67bc09b67dc"
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "81fe95a6e7f613f1",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"# Profile gradient computation using forward sensitivity analysis\n",
"solver.set_sensitivity_order(SensitivityOrder.first)\n",
"solver.set_sensitivity_method(SensitivityMethod.forward)"
- ]
+ ],
+ "id": "4f1c06c5893a9c07"
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "3bae1fab8c416122",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"%%timeit\n",
"simulate_petab(\n",
" petab_problem,\n",
- " amici_model,\n",
+ " amici_model=amici_model,\n",
" solver=solver,\n",
" problem_parameters=problem_parameters,\n",
" scaled_parameters=True,\n",
" scaled_gradients=True,\n",
")"
- ]
+ ],
+ "id": "7367a19bcea98597"
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "71e0358227e1dc74",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"# Profile gradient computation using adjoint sensitivity analysis\n",
"solver.set_sensitivity_order(SensitivityOrder.first)\n",
"solver.set_sensitivity_method(SensitivityMethod.adjoint)"
- ]
+ ],
+ "id": "a31e8eda806c2d7"
},
{
- "cell_type": "code",
- "execution_count": null,
- "id": "e3cc7971002b6d06",
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"%%timeit\n",
"simulate_petab(\n",
" petab_problem,\n",
- " amici_model,\n",
+ " amici_model=amici_model,\n",
" solver=solver,\n",
" problem_parameters=problem_parameters,\n",
" scaled_parameters=True,\n",
" scaled_gradients=True,\n",
")"
- ]
+ ],
+ "id": "3f2ab1acb3ba818f"
}
],
"metadata": {
diff --git a/doc/examples/example_petab/petab.ipynb b/doc/examples/example_petab/petab.ipynb
index 79427496be..05a415eb05 100644
--- a/doc/examples/example_petab/petab.ipynb
+++ b/doc/examples/example_petab/petab.ipynb
@@ -88,9 +88,7 @@
"execution_count": null,
"metadata": {},
"outputs": [],
- "source": [
- "simulate_petab(petab_problem, amici_model)"
- ]
+ "source": "simulate_petab(petab_problem, amici_model=amici_model)"
},
{
"cell_type": "markdown",
@@ -100,10 +98,10 @@
]
},
{
- "cell_type": "code",
- "execution_count": null,
"metadata": {},
+ "cell_type": "code",
"outputs": [],
+ "execution_count": null,
"source": [
"parameters = {\n",
" x_id: x_val\n",
@@ -114,7 +112,7 @@
"}\n",
"simulate_petab(\n",
" petab_problem,\n",
- " amici_model,\n",
+ " amici_model=amici_model,\n",
" problem_parameters=parameters,\n",
" scaled_parameters=True,\n",
")"
diff --git a/python/sdist/amici/adapters/fiddy.py b/python/sdist/amici/adapters/fiddy.py
index 0f5ad60b35..026100679c 100644
--- a/python/sdist/amici/adapters/fiddy.py
+++ b/python/sdist/amici/adapters/fiddy.py
@@ -240,6 +240,7 @@ def derivative(point: Type.POINT, return_dict: bool = False):
def simulate_petab_to_cached_functions(
petab_problem: petab.Problem,
+ *,
amici_model: Model,
free_parameter_ids: list[str] = None,
cache: bool = True,
@@ -363,6 +364,7 @@ def derivative(point: Type.POINT) -> Type.POINT:
def simulate_petab_v2_to_cached_functions(
petab_simulator: PetabSimulator,
+ *,
free_parameter_ids: list[str] = None,
cache: bool = True,
) -> tuple[Type.FUNCTION, Type.FUNCTION]:
diff --git a/python/sdist/amici/importers/antimony/__init__.py b/python/sdist/amici/importers/antimony/__init__.py
index bd14e058b1..60688e0ad9 100644
--- a/python/sdist/amici/importers/antimony/__init__.py
+++ b/python/sdist/amici/importers/antimony/__init__.py
@@ -54,7 +54,7 @@ def antimony2sbml(ant_model: str | Path) -> str:
return sbml_str
-def antimony2amici(ant_model: str | Path, *args, **kwargs):
+def antimony2amici(ant_model: str | Path, **kwargs):
"""Convert Antimony model to AMICI model.
Converts the Antimony model provided as string or file to SBML and then
@@ -66,4 +66,4 @@ def antimony2amici(ant_model: str | Path, *args, **kwargs):
sbml_str = antimony2sbml(ant_model)
sbml_importer = SbmlImporter(sbml_str, from_file=False)
- return sbml_importer.sbml2amici(*args, **kwargs)
+ return sbml_importer.sbml2amici(**kwargs)
diff --git a/python/sdist/amici/importers/bngl/__init__.py b/python/sdist/amici/importers/bngl/__init__.py
index 55a41ffaca..004cabd07d 100644
--- a/python/sdist/amici/importers/bngl/__init__.py
+++ b/python/sdist/amici/importers/bngl/__init__.py
@@ -16,7 +16,7 @@
]
-def bngl2amici(bngl_model: str, *args, **kwargs) -> None:
+def bngl2amici(bngl_model: str, **kwargs) -> None:
r"""
Generate AMICI C++ files for the provided model.
@@ -24,9 +24,6 @@ def bngl2amici(bngl_model: str, *args, **kwargs) -> None:
bngl model file, model name will determine the name of the generated
module
- :param args:
- see :func:`amici.importers.pysb.pysb2amici` for additional arguments
-
:param kwargs:
see :func:`amici.importers.pysb.pysb2amici` for additional arguments
@@ -34,4 +31,4 @@ def bngl2amici(bngl_model: str, *args, **kwargs) -> None:
if "model" in kwargs:
raise ValueError("model argument not allowed")
pysb_model = model_from_bngl(bngl_model)
- pysb2amici(pysb_model, *args, **kwargs)
+ pysb2amici(pysb_model, **kwargs)
diff --git a/python/sdist/amici/importers/petab/v1/petab_import.py b/python/sdist/amici/importers/petab/v1/petab_import.py
index a8ca2074aa..d63d272d2f 100644
--- a/python/sdist/amici/importers/petab/v1/petab_import.py
+++ b/python/sdist/amici/importers/petab/v1/petab_import.py
@@ -41,6 +41,7 @@
def import_petab_problem(
petab_problem: petab.Problem,
model_output_dir: str | Path | None = None,
+ *,
model_name: str = None,
compile_: bool = None,
non_estimated_parameters_as_constants=True,
diff --git a/python/sdist/amici/importers/pysb/__init__.py b/python/sdist/amici/importers/pysb/__init__.py
index d4871b0519..2d195297f8 100644
--- a/python/sdist/amici/importers/pysb/__init__.py
+++ b/python/sdist/amici/importers/pysb/__init__.py
@@ -66,6 +66,7 @@
def pysb2jax(
model: pysb.Model,
output_dir: str | Path | None = None,
+ *,
observation_model: list[MeasurementChannel] = None,
verbose: int | bool = False,
compute_conservation_laws: bool = True,
@@ -163,6 +164,7 @@ def pysb2jax(
def pysb2amici(
model: pysb.Model,
output_dir: str | Path | None = None,
+ *,
observation_model: list[MeasurementChannel] = None,
fixed_parameters: list[str] = None,
verbose: int | bool = False,
diff --git a/python/sdist/amici/importers/sbml/__init__.py b/python/sdist/amici/importers/sbml/__init__.py
index a39e997142..554529d2ed 100644
--- a/python/sdist/amici/importers/sbml/__init__.py
+++ b/python/sdist/amici/importers/sbml/__init__.py
@@ -97,6 +97,7 @@ class SbmlImporter:
def __init__(
self,
sbml_source: str | Path | libsbml.Model,
+ *,
show_sbml_warnings: bool = False,
from_file: bool = True,
discard_annotations: bool = False,
@@ -261,6 +262,7 @@ def sbml2amici(
self,
model_name: str,
output_dir: str | Path = None,
+ *,
fixed_parameters: Iterable[str] = None,
observation_model: list[MeasurementChannel] = None,
verbose: int | bool = logging.ERROR,
diff --git a/python/sdist/amici/importers/utils.py b/python/sdist/amici/importers/utils.py
index 80dbb2ecb2..5b1026b612 100644
--- a/python/sdist/amici/importers/utils.py
+++ b/python/sdist/amici/importers/utils.py
@@ -132,6 +132,7 @@ class MeasurementChannel:
def __init__(
self,
id_: str,
+ *,
name: str | None = None,
formula: str | sp.Expr | None = None,
noise_distribution: str | Callable[[str], str] | None = None,
diff --git a/python/sdist/amici/sim/sundials/gradient_check.py b/python/sdist/amici/sim/sundials/gradient_check.py
index c45bfff83c..84f4525ec5 100644
--- a/python/sdist/amici/sim/sundials/gradient_check.py
+++ b/python/sdist/amici/sim/sundials/gradient_check.py
@@ -26,6 +26,7 @@
def check_finite_difference(
+ *,
x0: Sequence[float],
model: Model,
solver: Solver,
@@ -162,6 +163,7 @@ def check_finite_difference(
def check_derivatives(
model: Model,
+ *,
solver: Solver,
edata: ExpData | None = None,
atol: float | None = 1e-4,
@@ -259,12 +261,12 @@ def check_derivatives(
if pval == 0.0 and skip_zero_pars:
continue
check_finite_difference(
- p,
- model,
- solver,
- edata,
- ip,
- fields,
+ x0=p,
+ model=model,
+ solver=solver,
+ edata=edata,
+ ip=ip,
+ fields=fields,
atol=atol,
rtol=rtol,
epsilon=epsilon,
diff --git a/python/sdist/amici/sim/sundials/petab/_v2.py b/python/sdist/amici/sim/sundials/petab/_v2.py
index 6c6d61754d..e96256c098 100644
--- a/python/sdist/amici/sim/sundials/petab/_v2.py
+++ b/python/sdist/amici/sim/sundials/petab/_v2.py
@@ -519,6 +519,7 @@ class PetabSimulator:
def __init__(
self,
em: ExperimentManager,
+ *,
solver: amici.sim.sundials.Solver | None = None,
num_threads: int = 1,
# TODO: allow selecting specific experiments?
diff --git a/python/sdist/amici/sim/sundials/petab/v1/_simulations.py b/python/sdist/amici/sim/sundials/petab/v1/_simulations.py
index d054851f78..8d95f5528a 100644
--- a/python/sdist/amici/sim/sundials/petab/v1/_simulations.py
+++ b/python/sdist/amici/sim/sundials/petab/v1/_simulations.py
@@ -68,6 +68,7 @@
@log_execution_time("Simulating PEtab model", logger)
def simulate_petab(
petab_problem: petab.Problem,
+ *,
amici_model: AmiciModel,
solver: amici.sim.sundials.Solver | None = None,
problem_parameters: dict[str, float] | None = None,
diff --git a/python/sdist/amici/sim/sundials/plotting.py b/python/sdist/amici/sim/sundials/plotting.py
index 990f866da2..d6e26b819b 100644
--- a/python/sdist/amici/sim/sundials/plotting.py
+++ b/python/sdist/amici/sim/sundials/plotting.py
@@ -25,6 +25,7 @@
def plot_state_trajectories(
rdata: ReturnDataView,
+ *,
state_indices: Sequence[int] | None = None,
ax: Axes | None = None,
model: Model = None,
@@ -87,6 +88,7 @@ def plot_state_trajectories(
def plot_observable_trajectories(
rdata: ReturnDataView,
+ *,
observable_indices: Iterable[int] | None = None,
ax: Axes | None = None,
model: Model = None,
diff --git a/python/tests/splines_utils.py b/python/tests/splines_utils.py
index 4fdcea87b9..a38592036a 100644
--- a/python/tests/splines_utils.py
+++ b/python/tests/splines_utils.py
@@ -443,7 +443,12 @@ def simulate_splines(
if benchmark is False:
# Simulate PEtab problem
- res = simulate_petab(petab_problem, amici_model, solver, params_str)
+ res = simulate_petab(
+ petab_problem,
+ amici_model=amici_model,
+ solver=solver,
+ problem_parameters=params_str,
+ )
llh, rdatas, edatas = res[LLH], res[RDATAS], res[EDATAS]
assert len(rdatas) == 1
llh = float(llh)
@@ -477,7 +482,12 @@ def simulate_splines(
runtimes = []
for _ in range(int(benchmark)):
t0 = time.perf_counter()
- simulate_petab(petab_problem, amici_model, solver, params_str)
+ simulate_petab(
+ petab_problem,
+ amici_model=amici_model,
+ solver=solver,
+ problem_parameters=params_str,
+ )
t_elapsed = time.perf_counter() - t0
runtimes.append(t_elapsed)
diff --git a/python/tests/test_bngl.py b/python/tests/test_bngl.py
index 2925a47c4b..882c203e5c 100644
--- a/python/tests/test_bngl.py
+++ b/python/tests/test_bngl.py
@@ -87,14 +87,18 @@ def test_compare_to_pysb_simulation(example):
with TemporaryDirectoryWinSafe(prefix=pysb_model.name) as outdir:
if not cl:
with pytest.raises(ValueError, match="Conservation laws"):
- bngl2amici(model_file, outdir, compute_conservation_laws=True)
+ bngl2amici(
+ model_file,
+ output_dir=outdir,
+ compute_conservation_laws=True,
+ )
if example in ["empty_compartments_block", "motor"]:
with pytest.raises(ValueError, match="Cannot add"):
- bngl2amici(model_file, outdir, **kwargs)
+ bngl2amici(model_file, output_dir=outdir, **kwargs)
return
else:
- bngl2amici(model_file, outdir, **kwargs)
+ bngl2amici(model_file, output_dir=outdir, **kwargs)
amici_model_module = import_model_module(pysb_model.name, outdir)
diff --git a/python/tests/test_events.py b/python/tests/test_events.py
index 12650968ae..d798aaa4db 100644
--- a/python/tests/test_events.py
+++ b/python/tests/test_events.py
@@ -797,7 +797,7 @@ def test_handling_of_fixed_time_point_event_triggers(tempdir):
):
amici_solver.set_sensitivity_method(sens_meth)
amici_solver.set_sensitivity_order(SensitivityOrder.first)
- check_derivatives(amici_model, amici_solver, edata=edata)
+ check_derivatives(amici_model, solver=amici_solver, edata=edata)
@skip_on_valgrind
@@ -951,7 +951,7 @@ def test_event_priorities(tempdir):
check_derivatives(
model,
- solver,
+ solver=solver,
edata=edata,
atol=1e-6,
rtol=1e-6,
@@ -966,7 +966,7 @@ def test_event_priorities(tempdir):
# model.requireSensitivitiesForAllParameters()
# check_derivatives(
# model,
- # solver,
+ # solver=solver,
# edata=edata,
# atol=1e-6,
# rtol=1e-6,
@@ -1115,7 +1115,7 @@ def test_event_uses_values_from_trigger_time(tempdir):
solver.set_sensitivity_method(sens_method)
check_derivatives(
model,
- solver,
+ solver=solver,
edata=edata,
atol=1e-6,
rtol=1e-6,
@@ -1182,7 +1182,7 @@ def test_posteq_events_are_handled(tempdir):
check_derivatives(
model,
- solver,
+ solver=solver,
edata=edata,
atol=1e-12,
rtol=1e-7,
@@ -1350,7 +1350,7 @@ def test_event_with_w_dependent_trigger(tempdir):
solver.set_sensitivity_method(sens_method)
check_derivatives(
model,
- solver,
+ solver=solver,
edata=edata,
atol=1e-6,
rtol=1e-6,
diff --git a/python/tests/test_preequilibration.py b/python/tests/test_preequilibration.py
index f33156a811..c2a65c5e9b 100644
--- a/python/tests/test_preequilibration.py
+++ b/python/tests/test_preequilibration.py
@@ -888,7 +888,7 @@ def test_preequilibration_events(tempdir):
check_derivatives(
amici_model,
- amici_solver,
+ solver=amici_solver,
edata=edata,
atol=1e-6,
rtol=1e-6,
diff --git a/python/tests/test_pregenerated_models.py b/python/tests/test_pregenerated_models.py
index a050881eda..46bc676fc1 100755
--- a/python/tests/test_pregenerated_models.py
+++ b/python/tests/test_pregenerated_models.py
@@ -118,8 +118,8 @@ def test_pregenerated_model_py(sub_test, case):
):
check_derivatives(
model,
- solver,
- edata,
+ solver=solver,
+ edata=edata,
**check_derivative_opts,
)
@@ -219,7 +219,9 @@ def test_pregenerated_model_py(sub_test, case):
and solver.get_sensitivity_order()
and len(model.get_parameter_list())
):
- check_derivatives(model, solver, edata, **check_derivative_opts)
+ check_derivatives(
+ model, solver=solver, edata=edata, **check_derivative_opts
+ )
chi2_ref = rdata.chi2
res_ref = rdata.res
diff --git a/python/tests/test_pysb.py b/python/tests/test_pysb.py
index 50e7aea6ea..a0bbd3b2b6 100644
--- a/python/tests/test_pysb.py
+++ b/python/tests/test_pysb.py
@@ -253,7 +253,7 @@ def test_compare_to_pysb_simulation(example):
)
check_derivatives(
model_pysb,
- solver,
+ solver=solver,
epsilon=epsilon,
rtol=1e-2,
atol=1e-2,
@@ -399,7 +399,7 @@ def test_energy():
solver.set_absolute_tolerance(1e-14)
check_derivatives(
- amici_model, solver, epsilon=1e-4, rtol=1e-2, atol=1e-2
+ amici_model, solver=solver, epsilon=1e-4, rtol=1e-2, atol=1e-2
)
diff --git a/python/tests/test_sbml_import.py b/python/tests/test_sbml_import.py
index 70d6219edd..a8c1b951e8 100644
--- a/python/tests/test_sbml_import.py
+++ b/python/tests/test_sbml_import.py
@@ -210,10 +210,10 @@ def test_sbml2amici_observable_dependent_error(
solver.set_sensitivity_method(SensitivityMethod.forward)
rdata = run_simulation(model, solver, edata)
assert np.any(rdata.ssigmay != 0.0)
- check_derivatives(model, solver, edata)
+ check_derivatives(model, solver=solver, edata=edata)
# ASA
solver.set_sensitivity_method(SensitivityMethod.adjoint)
- check_derivatives(model, solver, edata)
+ check_derivatives(model, solver=solver, edata=edata)
@skip_on_valgrind
@@ -290,7 +290,7 @@ def test_presimulation(sbml_example_presimulation_module):
solver.set_relative_tolerance(1e-12)
solver.set_absolute_tolerance(1e-12)
- check_derivatives(model, solver, edata, epsilon=1e-4)
+ check_derivatives(model, solver=solver, edata=edata, epsilon=1e-4)
@pytest.mark.filterwarnings(
@@ -374,7 +374,7 @@ def test_presimulation_events(tempdir):
check_derivatives(
model,
- solver,
+ solver=solver,
edata=edata,
atol=1e-6,
rtol=1e-6,
@@ -438,7 +438,7 @@ def test_presimulation_events_and_sensitivities(tempdir):
model.require_sensitivities_for_all_parameters()
check_derivatives(
model,
- solver,
+ solver=solver,
edata=edata,
atol=1e-6,
rtol=1e-6,
@@ -462,7 +462,12 @@ def test_steadystate_simulation(model_steadystate_module):
solver.set_relative_tolerance(1e-12)
solver.set_absolute_tolerance(1e-12)
check_derivatives(
- model, solver, edata[0], atol=1e-3, rtol=1e-3, epsilon=1e-4
+ model,
+ solver=solver,
+ edata=edata[0],
+ atol=1e-3,
+ rtol=1e-3,
+ epsilon=1e-4,
)
# Run some additional tests which need a working Model,
@@ -578,8 +583,8 @@ def test_likelihoods(model_test_likelihoods):
solver.set_absolute_tolerance(1e-12)
check_derivatives(
model,
- solver,
- edata,
+ solver=solver,
+ edata=edata,
atol=1e-2,
rtol=1e-2,
epsilon=1e-5,
@@ -667,7 +672,7 @@ def test_sympy_exp_monkeypatch(tempdir):
# print sensitivity-related results
assert rdata.status == AMICI_SUCCESS
- check_derivatives(model, solver, None, atol=1e-2, rtol=1e-2, epsilon=1e-3)
+ check_derivatives(model, solver=solver, atol=1e-2, rtol=1e-2, epsilon=1e-3)
def normal_nllh(m, y, sigma):
diff --git a/python/tests/test_sbml_import_special_functions.py b/python/tests/test_sbml_import_special_functions.py
index 1c87ddcca7..4a213d8864 100644
--- a/python/tests/test_sbml_import_special_functions.py
+++ b/python/tests/test_sbml_import_special_functions.py
@@ -114,8 +114,8 @@ def test_special_likelihoods(model_special_likelihoods):
solver.set_sensitivity_order(SensitivityOrder.first)
check_derivatives(
model,
- solver,
- edata,
+ solver=solver,
+ edata=edata,
atol=1e-4,
rtol=1e-3,
check_least_squares=False,
diff --git a/swig/edata.i b/swig/edata.i
index 62a8611a9c..74c94cd7e8 100644
--- a/swig/edata.i
+++ b/swig/edata.i
@@ -9,6 +9,7 @@ using namespace amici;
%ignore ConditionContext;
%ignore get_measurements_ptr;
%ignore get_noise_scales_ptr;
+%ignore check_sigma_positivity;
%feature("pythonprepend") amici::ExpData::ExpData %{
"""
diff --git a/tests/petab_test_suite/test_petab_suite.py b/tests/petab_test_suite/test_petab_suite.py
index ed4ed5cd92..9271386e4a 100755
--- a/tests/petab_test_suite/test_petab_suite.py
+++ b/tests/petab_test_suite/test_petab_suite.py
@@ -111,7 +111,7 @@ def _test_case(case, model_type, version, jax):
# simulate
ret = simulate_petab(
problem,
- model,
+ amici_model=model,
problem_parameters=problem_parameters,
solver=solver,
log_level=logging.DEBUG,
@@ -222,7 +222,7 @@ def check_derivatives(
petab_problem=problem,
problem_parameters=problem_parameters,
):
- amici_check_derivatives(model, solver, edata)
+ amici_check_derivatives(model, solver=solver, edata=edata)
def run():
diff --git a/tests/petab_test_suite/test_petab_v2_suite.py b/tests/petab_test_suite/test_petab_v2_suite.py
index cd074dc98b..35c74bfb87 100755
--- a/tests/petab_test_suite/test_petab_v2_suite.py
+++ b/tests/petab_test_suite/test_petab_v2_suite.py
@@ -184,7 +184,7 @@ def check_derivatives(
for edata in edatas:
petab_simulator.exp_man.apply_parameters(edata, problem_parameters)
- amici_check_derivatives(model, solver, edata)
+ amici_check_derivatives(model, solver=solver, edata=edata)
# TODO check aggregated sensitivities over all conditions
diff --git a/tests/sbml/testSBMLSuite.py b/tests/sbml/testSBMLSuite.py
index d6f6b17eb0..6b596bcffa 100755
--- a/tests/sbml/testSBMLSuite.py
+++ b/tests/sbml/testSBMLSuite.py
@@ -111,7 +111,7 @@ def test_sbml_testsuite_case(test_id, result_path, sbml_semantic_cases_dir):
# check sensitivities for selected models
if epsilon := sensitivity_check_cases.get(test_id):
- check_derivatives(model, solver, epsilon=epsilon)
+ check_derivatives(model, solver=solver, epsilon=epsilon)
jax_sensitivity_check(
current_test_path,
test_id,