amici.petab_import

PEtab Import

Import a model in the petab (https://github.com/PEtab-dev/PEtab) format into AMICI.

Deprecated since version 0.21.0: Use amici.petab instead.

amici.petab_import.check_model(amici_model, petab_problem)[source]

Check that the model is consistent with the PEtab problem.

Return type:

None

amici.petab_import.get_fixed_parameters(petab_problem, non_estimated_parameters_as_constants=True)

Determine, set and return fixed model parameters.

Non-estimated parameters and parameters specified in the condition table are turned into constants (unless they are overridden). Only global SBML parameters are considered. Local parameters are ignored.

Parameters:
  • petab_problem (petab.problem.Problem) – The PEtab problem instance

  • non_estimated_parameters_as_constants – Whether parameters marked as non-estimated in PEtab should be considered constant in AMICI. Setting this to True will reduce model size and simulation times. If sensitivities with respect to those parameters are required, this should be set to False.

Return type:

list[str]

Returns:

list of IDs of parameters which are to be considered constant.

amici.petab_import.get_observation_model(observable_df)[source]

Get observables, sigmas, and noise distributions from PEtab observation table in a format suitable for amici.sbml_import.SbmlImporter.sbml2amici().

Parameters:

observable_df (pandas.core.frame.DataFrame) – PEtab observables table

Return type:

tuple[dict[str, dict[str, str]], dict[str, str], dict[str, typing.Union[str, float]]]

Returns:

Tuple of dicts with observables, noise distributions, and sigmas.

amici.petab_import.import_model(sbml_model=None, condition_table=None, observable_table=None, measurement_table=None, petab_problem=None, model_name=None, model_output_dir=None, verbose=True, allow_reinit_fixpar_initcond=True, validate=True, non_estimated_parameters_as_constants=True, output_parameter_defaults=None, discard_sbml_annotations=False, **kwargs)

Create AMICI model from PEtab problem

Parameters:
  • sbml_model (typing.Union[str, pathlib.Path, libsbml.Model]) – PEtab SBML model or SBML file name. Deprecated, pass petab_problem instead.

  • condition_table (typing.Union[str, pathlib.Path, pandas.core.frame.DataFrame, None]) – PEtab condition table. If provided, parameters from there will be turned into AMICI constant parameters (i.e. parameters w.r.t. which no sensitivities will be computed). Deprecated, pass petab_problem instead.

  • observable_table (typing.Union[str, pathlib.Path, pandas.core.frame.DataFrame, None]) – PEtab observable table. Deprecated, pass petab_problem instead.

  • measurement_table (typing.Union[str, pathlib.Path, pandas.core.frame.DataFrame, None]) – PEtab measurement table. Deprecated, pass petab_problem instead.

  • petab_problem (petab.problem.Problem) – PEtab problem.

  • model_name (typing.Optional[str]) – Name of the generated model. If model file name was provided, this defaults to the file name without extension, otherwise the SBML model ID will be used.

  • model_output_dir (typing.Union[str, pathlib.Path, None]) – Directory to write the model code to. Will be created if doesn’t exist. Defaults to current directory.

  • verbose (typing.Union[bool, int, None]) – Print/log extra information.

  • allow_reinit_fixpar_initcond (bool) – See amici.de_export.ODEExporter. Must be enabled if initial states are to be reset after preequilibration.

  • validate (bool) – Whether to validate the PEtab problem

  • non_estimated_parameters_as_constants – Whether parameters marked as non-estimated in PEtab should be considered constant in AMICI. Setting this to True will reduce model size and simulation times. If sensitivities with respect to those parameters are required, this should be set to False.

  • output_parameter_defaults (typing.Optional[dict[str, float]]) – Optional default parameter values for output parameters introduced in the PEtab observables table, in particular for placeholder parameters. dictionary mapping parameter IDs to default values.

  • discard_sbml_annotations (bool) – Discard information contained in AMICI SBML annotations (debug).

  • kwargs – Additional keyword arguments to be passed to amici.sbml_import.SbmlImporter.sbml2amici().

Return type:

amici.sbml_import.SbmlImporter

Returns:

The created amici.sbml_import.SbmlImporter instance.

amici.petab_import.import_model_sbml(sbml_model=None, condition_table=None, observable_table=None, measurement_table=None, petab_problem=None, model_name=None, model_output_dir=None, verbose=True, allow_reinit_fixpar_initcond=True, validate=True, non_estimated_parameters_as_constants=True, output_parameter_defaults=None, discard_sbml_annotations=False, **kwargs)[source]

Create AMICI model from PEtab problem

Parameters:
  • sbml_model (typing.Union[str, pathlib.Path, libsbml.Model]) – PEtab SBML model or SBML file name. Deprecated, pass petab_problem instead.

  • condition_table (typing.Union[str, pathlib.Path, pandas.core.frame.DataFrame, None]) – PEtab condition table. If provided, parameters from there will be turned into AMICI constant parameters (i.e. parameters w.r.t. which no sensitivities will be computed). Deprecated, pass petab_problem instead.

  • observable_table (typing.Union[str, pathlib.Path, pandas.core.frame.DataFrame, None]) – PEtab observable table. Deprecated, pass petab_problem instead.

  • measurement_table (typing.Union[str, pathlib.Path, pandas.core.frame.DataFrame, None]) – PEtab measurement table. Deprecated, pass petab_problem instead.

  • petab_problem (petab.problem.Problem) – PEtab problem.

  • model_name (typing.Optional[str]) – Name of the generated model. If model file name was provided, this defaults to the file name without extension, otherwise the SBML model ID will be used.

  • model_output_dir (typing.Union[str, pathlib.Path, None]) – Directory to write the model code to. Will be created if doesn’t exist. Defaults to current directory.

  • verbose (typing.Union[bool, int, None]) – Print/log extra information.

  • allow_reinit_fixpar_initcond (bool) – See amici.de_export.ODEExporter. Must be enabled if initial states are to be reset after preequilibration.

  • validate (bool) – Whether to validate the PEtab problem

  • non_estimated_parameters_as_constants – Whether parameters marked as non-estimated in PEtab should be considered constant in AMICI. Setting this to True will reduce model size and simulation times. If sensitivities with respect to those parameters are required, this should be set to False.

  • output_parameter_defaults (typing.Optional[dict[str, float]]) – Optional default parameter values for output parameters introduced in the PEtab observables table, in particular for placeholder parameters. dictionary mapping parameter IDs to default values.

  • discard_sbml_annotations (bool) – Discard information contained in AMICI SBML annotations (debug).

  • kwargs – Additional keyword arguments to be passed to amici.sbml_import.SbmlImporter.sbml2amici().

Return type:

amici.sbml_import.SbmlImporter

Returns:

The created amici.sbml_import.SbmlImporter instance.

amici.petab_import.import_petab_problem(petab_problem, model_output_dir=None, model_name=None, compile_=None, non_estimated_parameters_as_constants=True, **kwargs)[source]

Create an AMICI model for a PEtab problem.

Parameters:
  • petab_problem (petab.problem.Problem) – A petab problem containing all relevant information on the model.

  • model_output_dir (typing.Union[str, pathlib.Path, None]) – Directory to write the model code to. It will be created if it doesn’t exist. Defaults to current directory.

  • model_name (str) – Name of the generated model module. Defaults to the ID of the model or the model file name without the extension.

  • compile – If True, the model will be compiled. If False, the model will not be compiled. If None, the model will be compiled if it cannot be imported.

  • non_estimated_parameters_as_constants – Whether parameters marked as non-estimated in PEtab should be considered constant in AMICI. Setting this to True will reduce model size and simulation times. If sensitivities with respect to those parameters are required, this should be set to False.

  • kwargs – Additional keyword arguments to be passed to amici.sbml_import.SbmlImporter.sbml2amici() or amici.pysb_import.pysb2amici(), depending on the model type.

Return type:

amici.amici.Model

Returns:

The imported model.

amici.petab_import.petab_noise_distributions_to_amici(observable_df)[source]

Map from the petab to the amici format of noise distribution identifiers.

Parameters:

observable_df (pandas.core.frame.DataFrame) – PEtab observable table

Return type:

dict[str, str]

Returns:

dictionary of observable_id => AMICI noise-distributions

amici.petab_import.petab_scale_to_amici_scale(scale_str)[source]

Convert PEtab parameter scaling string to AMICI scaling integer

Return type:

int

amici.petab_import.species_to_parameters(species_ids, sbml_model)[source]

Turn a SBML species into parameters and replace species references inside the model instance.

Parameters:
  • species_ids (list[str]) – list of SBML species ID to convert to parameters with the same ID as the replaced species.

  • sbml_model (libsbml.Model) – SBML model to modify

Return type:

list[str]

Returns:

list of IDs of species which have been converted to parameters