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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
amicijaxrel_diff
llh-138.221997-138.222-2.135248e-08
\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,