From 1530bb60d55b7c779139a340b7da50fbcde72ddd Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Thu, 2 May 2024 18:06:08 +0200 Subject: [PATCH] Update deprecated amici imports --- .../inner_calculator_collector.py | 6 +++--- pypesto/hierarchical/ordinal/calculator.py | 5 +++-- pypesto/hierarchical/ordinal/solver.py | 2 +- pypesto/hierarchical/relative/calculator.py | 6 +++--- pypesto/hierarchical/relative/solver.py | 2 +- .../semiquantitative/calculator.py | 5 +++-- .../hierarchical/semiquantitative/solver.py | 2 +- pypesto/objective/amici/amici_util.py | 20 ++++++++++--------- pypesto/visualize/model_fit.py | 3 ++- pypesto/visualize/ordinal_categories.py | 3 ++- pypesto/visualize/spline_approximation.py | 7 ++++--- 11 files changed, 34 insertions(+), 27 deletions(-) diff --git a/pypesto/hierarchical/inner_calculator_collector.py b/pypesto/hierarchical/inner_calculator_collector.py index 80e3151e5..a3f1a7dd8 100644 --- a/pypesto/hierarchical/inner_calculator_collector.py +++ b/pypesto/hierarchical/inner_calculator_collector.py @@ -48,7 +48,7 @@ try: import amici import petab - from amici.parameter_mapping import ParameterMapping + from amici.petab.parameter_mapping import ParameterMapping except ImportError: petab = None ParameterMapping = None @@ -325,7 +325,7 @@ def __call__( Whether to use the FIM (if available) instead of the Hessian (if requested). """ - import amici.parameter_mapping + from amici.petab.conditions import fill_in_parameters if mode == MODE_RES and any( data_type in self.data_types @@ -403,7 +403,7 @@ def __call__( x_dct = copy.deepcopy(x_dct) x_dct.update(self.necessary_par_dummy_values) # fill in parameters - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, diff --git a/pypesto/hierarchical/ordinal/calculator.py b/pypesto/hierarchical/ordinal/calculator.py index 8044d5d7d..5fb9e60c6 100644 --- a/pypesto/hierarchical/ordinal/calculator.py +++ b/pypesto/hierarchical/ordinal/calculator.py @@ -32,7 +32,8 @@ try: import amici - from amici.parameter_mapping import ParameterMapping + from amici.petab.conditions import fill_in_parameters + from amici.petab.parameter_mapping import ParameterMapping except ImportError: pass @@ -155,7 +156,7 @@ def __call__( x_dct = copy.deepcopy(x_dct) # fill in parameters - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, diff --git a/pypesto/hierarchical/ordinal/solver.py b/pypesto/hierarchical/ordinal/solver.py index 5c65b1722..66930faec 100644 --- a/pypesto/hierarchical/ordinal/solver.py +++ b/pypesto/hierarchical/ordinal/solver.py @@ -37,7 +37,7 @@ from .problem import OrdinalProblem try: - from amici.parameter_mapping import ParameterMapping + from amici.petab.parameter_mapping import ParameterMapping except ImportError: pass diff --git a/pypesto/hierarchical/relative/calculator.py b/pypesto/hierarchical/relative/calculator.py index 3ba59452f..cfd74a42f 100644 --- a/pypesto/hierarchical/relative/calculator.py +++ b/pypesto/hierarchical/relative/calculator.py @@ -7,8 +7,8 @@ try: import amici - import amici.parameter_mapping - from amici.parameter_mapping import ParameterMapping + from amici.petab.conditions import fill_in_parameters + from amici.petab.parameter_mapping import ParameterMapping except ImportError: pass @@ -296,7 +296,7 @@ def calculate_directly( amici_solver.setSensitivityOrder(sensi_order) x_dct.update(self.inner_problem.get_dummy_values(scaled=True)) # fill in parameters - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, diff --git a/pypesto/hierarchical/relative/solver.py b/pypesto/hierarchical/relative/solver.py index e1c91cd76..b3000eaaa 100644 --- a/pypesto/hierarchical/relative/solver.py +++ b/pypesto/hierarchical/relative/solver.py @@ -27,7 +27,7 @@ try: import amici - from amici.parameter_mapping import ParameterMapping + from amici.petab.parameter_mapping import ParameterMapping except ImportError: pass diff --git a/pypesto/hierarchical/semiquantitative/calculator.py b/pypesto/hierarchical/semiquantitative/calculator.py index 3b2cd44a4..4991f6766 100644 --- a/pypesto/hierarchical/semiquantitative/calculator.py +++ b/pypesto/hierarchical/semiquantitative/calculator.py @@ -32,7 +32,8 @@ try: import amici - from amici.parameter_mapping import ParameterMapping + from amici.petab.conditions import fill_in_parameters + from amici.petab.parameter_mapping import ParameterMapping except ImportError: pass @@ -154,7 +155,7 @@ def __call__( ) # fill in parameters - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, diff --git a/pypesto/hierarchical/semiquantitative/solver.py b/pypesto/hierarchical/semiquantitative/solver.py index 07254a913..49dfeec4c 100644 --- a/pypesto/hierarchical/semiquantitative/solver.py +++ b/pypesto/hierarchical/semiquantitative/solver.py @@ -27,7 +27,7 @@ from .problem import SemiquantProblem try: - from amici.parameter_mapping import ParameterMapping + from amici.petab.parameter_mapping import ParameterMapping except ImportError: pass diff --git a/pypesto/objective/amici/amici_util.py b/pypesto/objective/amici/amici_util.py index ff5ca29fd..c5533af03 100644 --- a/pypesto/objective/amici/amici_util.py +++ b/pypesto/objective/amici/amici_util.py @@ -24,7 +24,7 @@ if TYPE_CHECKING: try: import amici - from amici.parameter_mapping import ( + from amici.petab.parameter_mapping import ( ParameterMapping, ParameterMappingForCondition, ) @@ -124,23 +124,25 @@ def create_identity_parameter_mapping( both in preequilibration and simulation, are assumed to be provided correctly in model or edatas already. """ - import amici.parameter_mapping + from amici.petab.parameter_mapping import ( + ParameterMapping, + ParameterMappingForCondition, + amici_to_petab_scale, + ) x_ids = list(amici_model.getParameterIds()) x_scales = list(amici_model.getParameterScale()) - parameter_mapping = amici.parameter_mapping.ParameterMapping() + parameter_mapping = ParameterMapping() for _ in range(n_conditions): condition_map_sim_var = {x_id: x_id for x_id in x_ids} condition_scale_map_sim_var = { - x_id: amici.parameter_mapping.amici_to_petab_scale(x_scale) + x_id: amici_to_petab_scale(x_scale) for x_id, x_scale in zip(x_ids, x_scales) } # assumes fixed parameters are filled in already - mapping_for_condition = ( - amici.parameter_mapping.ParameterMappingForCondition( - map_sim_var=condition_map_sim_var, - scale_map_sim_var=condition_scale_map_sim_var, - ) + mapping_for_condition = ParameterMappingForCondition( + map_sim_var=condition_map_sim_var, + scale_map_sim_var=condition_scale_map_sim_var, ) parameter_mapping.append(mapping_for_condition) diff --git a/pypesto/visualize/model_fit.py b/pypesto/visualize/model_fit.py index dd2fd0d4a..ef21d0686 100644 --- a/pypesto/visualize/model_fit.py +++ b/pypesto/visualize/model_fit.py @@ -14,6 +14,7 @@ import matplotlib.pyplot as plt import numpy as np import petab +from amici.petab.conditions import fill_in_parameters from amici.petab.simulations import rdatas_to_simulation_df from petab.visualize import plot_problem @@ -269,7 +270,7 @@ def _get_simulation_rdatas( for j in range(len(edatas)): edatas[j].setTimepoints(simulation_timepoints) - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, diff --git a/pypesto/visualize/ordinal_categories.py b/pypesto/visualize/ordinal_categories.py index 1672465a9..c229d92f6 100644 --- a/pypesto/visualize/ordinal_categories.py +++ b/pypesto/visualize/ordinal_categories.py @@ -9,6 +9,7 @@ try: import amici + from amici.petab.conditions import fill_in_parameters from petab.C import OBSERVABLE_ID from ..hierarchical.ordinal.calculator import OrdinalCalculator @@ -86,7 +87,7 @@ def plot_categories_from_pypesto_result( n_threads = pypesto_result.problem.objective.n_threads # Fill in the parameters. - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, diff --git a/pypesto/visualize/spline_approximation.py b/pypesto/visualize/spline_approximation.py index 5f617db30..217f445f1 100644 --- a/pypesto/visualize/spline_approximation.py +++ b/pypesto/visualize/spline_approximation.py @@ -23,6 +23,7 @@ try: import amici + from amici.petab.conditions import fill_in_parameters from ..hierarchical import InnerCalculatorCollector from ..hierarchical.semiquantitative.calculator import SemiquantCalculator @@ -105,7 +106,7 @@ def plot_splines_from_pypesto_result( observable_ids = amici_model.getObservableIds() # Fill in the parameters. - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, @@ -379,7 +380,7 @@ def _add_spline_mapped_simulations_to_model_fit( n_threads = pypesto_problem.objective.n_threads # Fill in the parameters. - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True, @@ -528,7 +529,7 @@ def _obtain_regularization_for_start( n_threads = pypesto_result.problem.objective.n_threads # Fill in the parameters. - amici.parameter_mapping.fill_in_parameters( + fill_in_parameters( edatas=edatas, problem_parameters=x_dct, scaled_parameters=True,