amici.petab_import

PEtab Import

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

Functions

check_model(amici_model, petab_problem)

Check that the model is consistent with the PEtab problem.

element_is_state(sbml_model, sbml_id)

Does the element with ID sbml_id correspond to a state variable?

get_fixed_parameters(petab_problem[, ...])

Determine, set and return fixed model parameters.

get_observation_model(observable_df)

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

import_model([sbml_model, condition_table, ...])

Create AMICI model from PEtab problem

import_model_sbml([sbml_model, ...])

Create AMICI model from PEtab problem

import_petab_problem(petab_problem[, ...])

Import model from petab problem.

petab_noise_distributions_to_amici(observable_df)

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

petab_scale_to_amici_scale(scale_str)

Convert PEtab parameter scaling string to AMICI scaling integer

show_model_info(sbml_model)

Log some model quantities

species_to_parameters(species_ids, sbml_model)

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

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.element_is_state(sbml_model, sbml_id)[source]

Does the element with ID sbml_id correspond to a state variable?

Return type

bool

amici.petab_import.get_fixed_parameters(petab_problem, non_estimated_parameters_as_constants=True)[source]

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

typing.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

typing.Tuple[typing.Dict[str, typing.Dict[str, str]], typing.Dict[str, str], typing.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, **kwargs)

Create AMICI model from PEtab problem

Parameters
  • sbml_model (typing.Union[str, pathlib.Path, libsbml.Model, None]) – 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 (typing.Optional[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[pathlib.Path, str, 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.ode_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[typing.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.

  • 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, **kwargs)[source]

Create AMICI model from PEtab problem

Parameters
  • sbml_model (typing.Union[str, pathlib.Path, libsbml.Model, None]) – 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 (typing.Optional[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[pathlib.Path, str, 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.ode_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[typing.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.

  • 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, force_compile=False, non_estimated_parameters_as_constants=True, **kwargs)[source]

Import model from petab problem.

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

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

  • 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 model ID will be used.

  • force_compile (bool) – Whether to compile the model even if the target folder is not empty, or the model exists already.

  • 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().

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

typing.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.show_model_info(sbml_model)[source]

Log some model quantities

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 (typing.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

typing.List[str]

Returns

List of IDs of species which have been converted to parameters