amici.pysb_import

PySB Import

This module provides all necessary functionality to import a model specified in the pysb.core.Model format.

Functions

extract_monomers(complex_patterns)

Constructs a list of monomer names contained in complex patterns.

has_fixed_parameter_ic(specie, pysb_model, ...)

Wrapper to interface de_export.DEModel.state_has_fixed_parameter_initial_condition() from a pysb specie/model arguments

ode_model_from_pysb_importer(model[, ...])

Creates an amici.DEModel instance from a pysb.Model instance.

pysb2amici(model[, output_dir, observables, ...])

Generate AMICI C++ files for the provided model.

pysb_model_from_path(pysb_model_file)

Load a pysb model module and return the pysb.Model instance

amici.pysb_import.extract_monomers(complex_patterns)[source]

Constructs a list of monomer names contained in complex patterns. Multiplicity of names corresponds to the stoichiometry in the complex.

Parameters:

complex_patterns (typing.Union[pysb.core.ComplexPattern, list[pysb.core.ComplexPattern]]) – (list of) complex pattern(s)

Return type:

list[str]

Returns:

list of monomer names

amici.pysb_import.has_fixed_parameter_ic(specie, pysb_model, ode_model)[source]

Wrapper to interface de_export.DEModel.state_has_fixed_parameter_initial_condition() from a pysb specie/model arguments

Parameters:
Return type:

bool

Returns:

False if the species does not have an initial condition at all. Otherwise the return value of de_export.DEModel.state_has_fixed_parameter_initial_condition()

amici.pysb_import.ode_model_from_pysb_importer(model, constant_parameters=None, observables=None, sigmas=None, noise_distributions=None, compute_conservation_laws=True, simplify=<function powsimp>, cache_simplify=False, verbose=False)[source]

Creates an amici.DEModel instance from a pysb.Model instance.

Parameters:
Return type:

amici.de_model.DEModel

Returns:

New DEModel instance according to pysbModel

amici.pysb_import.pysb2amici(model, output_dir=None, observables=None, constant_parameters=None, sigmas=None, noise_distributions=None, verbose=False, assume_pow_positivity=False, compiler=None, compute_conservation_laws=True, compile=True, simplify=<function _default_simplify>, cache_simplify=False, generate_sensitivity_code=True, model_name=None)[source]

Generate AMICI C++ files for the provided model.

Warning

PySB models with Compartments

When importing a PySB model with pysb.Compartments, BioNetGen scales reaction fluxes with the compartment size. Instead of using the respective symbols, the compartment size Parameter or Expression is evaluated when generating equations. This may lead to unexpected results if the compartment size parameter is changed for AMICI simulations.

Parameters:
  • model (pysb.core.Model) – pysb model, pysb.Model.name will determine the name of the generated module

  • output_dir (typing.Union[str, pathlib.Path, None]) – see amici.de_export.ODEExporter.set_paths()

  • observables (list[str]) – list of pysb.core.Expression or pysb.core.Observable names in the provided model that should be mapped to observables

  • sigmas (dict[str, str]) – dict of pysb.core.Expression names that should be mapped to sigmas

  • noise_distributions (typing.Optional[dict[str, typing.Union[str, typing.Callable]]]) – dict with names of observable Expressions as keys and a noise type identifier, or a callable generating a custom noise formula string (see amici.import_utils.noise_distribution_to_cost_function() ). If nothing is passed for some observable id, a normal model is assumed as default.

  • constant_parameters (list[str]) – list of pysb.core.Parameter names that should be mapped as fixed parameters

  • verbose (typing.Union[int, bool]) – verbosity level for logging, True/False default to logging.DEBUG/logging.ERROR

  • assume_pow_positivity (bool) – if set to True, a special pow function is used to avoid problems with state variables that may become negative due to numerical errors

  • compiler (str) – Absolute path to the compiler executable to be used to build the Python extension, e.g. /usr/bin/clang.

  • compute_conservation_laws (bool) – if set to True, conservation laws are automatically computed and applied such that the state-jacobian of the ODE right-hand-side has full rank. This option should be set to True when using the Newton algorithm to compute steadystates

  • compile (bool) – If True, build the python module for the generated model. If false, just generate the source code.

  • simplify (typing.Callable) – see amici.DEModel._simplify

  • cache_simplify (bool) – see amici.DEModel.__init__() Note that there are possible issues with PySB models: https://github.com/AMICI-dev/AMICI/pull/1672

  • generate_sensitivity_code (bool) – if set to False, code for sensitivity computation will not be generated

  • model_name (typing.Optional[str]) – Name for the generated model module. If None, pysb.Model.name will be used.

amici.pysb_import.pysb_model_from_path(pysb_model_file)[source]

Load a pysb model module and return the pysb.Model instance

Parameters:

pysb_model_file (typing.Union[str, pathlib.Path]) – Full or relative path to the PySB model module

Return type:

pysb.core.Model

Returns:

The pysb Model instance