amici.petab_import_pysb

PySB-PEtab Import

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

Functions

create_dummy_sbml(pysb_model[, observable_ids])

Create SBML dummy model for to use PySB models with PEtab.

import_model_pysb(petab_problem[, ...])

Create AMICI model from PySB-PEtab problem

Classes

PysbPetabProblem([pysb_model])

Representation of a PySB-model-based PEtab problem

class amici.petab_import_pysb.PysbPetabProblem(pysb_model=None, *args, **kwargs)[source]

Representation of a PySB-model-based PEtab problem

This class extends petab.Problem with a PySB model. The model is augmented with the observation model based on the PEtab observable table. For now, a dummy SBML model is created which allows used the existing SBML-PEtab API.

Variables

pysb_model – PySB model instance from of this PEtab problem.

__init__(pysb_model=None, *args, **kwargs)[source]

Constructor

Parameters
  • pysb_model (typing.Optional[pysb.core.Model]) – PySB model instance for this PEtab problem

  • args – See petab.Problem.__init__()

  • kwargs – See petab.Problem.__init__()

create_parameter_df(*args, **kwargs)

Create a new PEtab parameter table

See create_parameter_df().

static from_combine(filename)

Read PEtab COMBINE archive (http://co.mbine.org/documents/archive).

See also petab.create_combine_archive().

Parameters

filename (typing.Union[pathlib.Path, str]) – Path to the PEtab-COMBINE archive

Return type

petab.problem.Problem

Returns

A petab.Problem instance.

static from_files(condition_file=None, measurement_file=None, parameter_file=None, visualization_files=None, observable_files=None, pysb_model_file=None, flatten=False)[source]

Factory method to load model and tables from files.

Parameters
Return type

amici.petab_import_pysb.PysbPetabProblem

Returns

Petab Problem

static from_yaml(yaml_config, flatten=False)[source]

Factory method to load model and tables as specified by YAML file.

NOTE: The PySB model is currently expected in the YAML file under sbml_files.

Parameters
Return type

amici.petab_import_pysb.PysbPetabProblem

Returns

Petab Problem

get_lb(free=True, fixed=True, scaled=False)

Generic function to get lower parameter bounds.

Parameters
  • free (bool) – Whether to return free parameters, i.e. parameters to estimate.

  • fixed (bool) – Whether to return fixed parameters, i.e. parameters not to estimate.

  • scaled (bool) – Whether to scale the values according to the parameter scale, or return them on linear scale.

Return type

The lower parameter bounds.

get_model_parameters()

See petab.sbml.get_model_parameters()

get_observable_ids()

Returns dictionary of observable ids.

get_optimization_parameter_scales()

Return list of optimization parameter scaling strings.

See petab.parameters.get_optimization_parameters().

get_optimization_parameters()

Return list of optimization parameter IDs.

See petab.parameters.get_optimization_parameters().

get_optimization_to_simulation_parameter_mapping(**kwargs)

See petab.parameter_mapping.get_optimization_to_simulation_parameter_mapping(), to which all keyword arguments are forwarded.

get_simulation_conditions_from_measurement_df()

See petab.get_simulation_conditions

get_ub(free=True, fixed=True, scaled=False)

Generic function to get upper parameter bounds.

Parameters
  • free (bool) – Whether to return free parameters, i.e. parameters to estimate.

  • fixed (bool) – Whether to return fixed parameters, i.e. parameters not to estimate.

  • scaled (bool) – Whether to scale the values according to the parameter scale, or return them on linear scale.

Return type

The upper parameter bounds.

get_x_ids(free=True, fixed=True)

Generic function to get parameter ids.

Parameters
  • free (bool) – Whether to return free parameters, i.e. parameters to estimate.

  • fixed (bool) – Whether to return fixed parameters, i.e. parameters not to estimate.

Return type

The parameter IDs.

get_x_nominal(free=True, fixed=True, scaled=False)

Generic function to get parameter nominal values.

Parameters
  • free (bool) – Whether to return free parameters, i.e. parameters to estimate.

  • fixed (bool) – Whether to return fixed parameters, i.e. parameters not to estimate.

  • scaled (bool) – Whether to scale the values according to the parameter scale, or return them on linear scale.

Return type

The parameter nominal values.

property lb: List

Parameter table lower bounds.

Return type

typing.List

property lb_scaled: List

Parameter table lower bounds with applied parameter scaling

Return type

typing.List

sample_parameter_startpoints(n_starts=100)

Create starting points for optimization

See petab.sample_parameter_startpoints().

scale_parameters(x_dict)

Scale parameter values.

Parameters

x_dict (typing.Dict[str, float]) – Keys are parameter IDs in the PEtab problem, values are unscaled parameter values.

Return type

The scaled parameter values.

to_files(sbml_file=None, condition_file=None, measurement_file=None, parameter_file=None, visualization_file=None, observable_file=None, yaml_file=None, prefix_path=None, relative_paths=True, model_file=None)

Write PEtab tables to files for this problem

Writes PEtab files for those entities for which a destination was passed.

NOTE: If this instance was created from multiple measurement or visualization tables, they will be merged and written to a single file.

Parameters
Raises

ValueError – If a destination was provided for a non-existing entity.

Return type

None

to_files_generic(prefix_path)

Save a PEtab problem to generic file names.

The PEtab problem YAML file is always created. PEtab data files are only created if the PEtab problem contains corresponding data (e.g. a PEtab visualization TSV file is only created if the PEtab problem has one).

Parameters

prefix_path (typing.Union[str, pathlib.Path]) – Specify a prefix to all paths, to avoid specifying the prefix for all paths individually. NB: the prefix is added to paths before relative_paths is handled downstream in petab.yaml.create_problem_yaml().

Return type

str

Returns

The path to the PEtab problem YAML file.

property ub: List

Parameter table upper bounds

Return type

typing.List

property ub_scaled: List

Parameter table upper bounds with applied parameter scaling

Return type

typing.List

unscale_parameters(x_dict)

Unscale parameter values.

Parameters

x_dict (typing.Dict[str, float]) – Keys are parameter IDs in the PEtab problem, values are scaled parameter values.

Return type

The unscaled parameter values.

property x_fixed_ids: List[str]

Parameter table parameter IDs, for fixed parameters.

Return type

typing.List[str]

property x_fixed_indices: List[int]

Parameter table non-estimated parameter indices.

Return type

typing.List[int]

property x_free_ids: List[str]

Parameter table parameter IDs, for free parameters.

Return type

typing.List[str]

property x_free_indices: List[int]

Parameter table estimated parameter indices.

Return type

typing.List[int]

property x_ids: List[str]

Parameter table parameter IDs

Return type

typing.List[str]

property x_nominal: List

Parameter table nominal values

Return type

typing.List

property x_nominal_fixed: List

Parameter table nominal values, for fixed parameters.

Return type

typing.List

property x_nominal_fixed_scaled: List

Parameter table nominal values with applied parameter scaling, for fixed parameters.

Return type

typing.List

property x_nominal_free: List

Parameter table nominal values, for free parameters.

Return type

typing.List

property x_nominal_free_scaled: List

Parameter table nominal values with applied parameter scaling, for free parameters.

Return type

typing.List

property x_nominal_scaled: List

Parameter table nominal values with applied parameter scaling

Return type

typing.List

amici.petab_import_pysb.create_dummy_sbml(pysb_model, observable_ids=None)[source]

Create SBML dummy model for to use PySB models with PEtab.

Model must at least contain PEtab problem parameter and noise parameters for observables.

Parameters
Return type

petab.models.sbml_model.SbmlModel

Returns

A dummy petab SBML model.

amici.petab_import_pysb.import_model_pysb(petab_problem, model_output_dir=None, verbose=True, model_name=None, **kwargs)[source]

Create AMICI model from PySB-PEtab problem

Parameters
Return type

None