Importing from other formats (pysb.importers)

pysb.importers.bngl.model_from_bngl(filename, force=False, cleanup=True)[source]

Convert a BioNetGen .bngl model file into a PySB Model.

Parameters:
filenamestring

A BioNetGen .bngl file

forcebool, optional

The default, False, will raise an Exception if there are any errors importing the model to PySB, e.g. due to unsupported features. Setting to True will attempt to ignore any import errors, which may lead to a model that only poorly represents the original. Use at own risk!

cleanupbool

Delete temporary directory on completion if True. Set to False for debugging purposes.

Notes

The following features are not supported in PySB and will cause an error if present in a .bngl file:

  • Fixed species (with a $ prefix, like $Null)

  • BNG excluded or included reaction patterns (deprecated in BNG)

  • BNG local functions

  • Molecules with identically named sites, such as M(l,l)

  • BNG’s custom rate law functions, such as MM and Sat (deprecated in BNG)

pysb.importers.sbml.model_from_biomodels(accession_no, force=False, cleanup=True, mirror='ebi', **kwargs)[source]

Create a PySB Model based on a BioModels SBML model

Downloads file from BioModels (https://www.ebi.ac.uk/biomodels-main/) and runs it through model_from_sbml(). See that function for further details on additional arguments and implementation details. Utilizes BioNetGen’s SBMLTranslator.

Parameters:
accession_nostr

A BioModels accession number - the string ‘BIOMD’ followed by 10 digits, e.g. ‘BIOMD0000000001’. For brevity, just the last digits will be accepted as a string, e.g. ‘1’ is equivalent the accession number in the previous sentence.

forcebool, optional

The default, False, will raise an Exception if there are any errors importing the model to PySB, e.g. due to unsupported features. Setting to True will attempt to ignore any import errors, which may lead to a model that only poorly represents the original. Use at own risk!

cleanupbool

Delete temporary directory on completion if True. Set to False for debugging purposes.

mirrorstr

Which BioModels mirror to use, either ‘ebi’ or ‘caltech’

**kwargs: kwargs

Keyword arguments to pass on to sbml_translator()

Notes

Requires the sbmlTranslator program (also known at Atomizer). If PySB was installed using “conda”, you can install sbmlTranslator using “conda install -c alubbock atomizer”. It is bundled with BioNetGen if BNG is installed by manual download and unzip.

Read the sbmlTranslator documentation for further information on sbmlTranslator’s limitations.

Examples

>>> from pysb.importers.sbml import model_from_biomodels
>>> model = model_from_biomodels('1')           
>>> print(model)                                
<Model 'pysb' (monomers: 12, rules: 17, parameters: 37, expressions: 0, ...
pysb.importers.sbml.model_from_sbml(filename, force=False, cleanup=True, **kwargs)[source]

Create a PySB Model object from an Systems Biology Markup Language (SBML) file, using BioNetGen’s sbmlTranslator, which can attempt to extrapolate higher-level (rule-based) structure from an SBML source file (argument atomize=True). The model is first converted into BioNetGen language by sbmlTranslator, then PySB’s BnglBuilder class converts the BioNetGen language model into a PySB Model.

Parameters:
filename

A Systems Biology Markup Language .sbml file

forcebool, optional

The default, False, will raise an Exception if there are any errors importing the model to PySB, e.g. due to unsupported features. Setting to True will attempt to ignore any import errors, which may lead to a model that only poorly represents the original. Use at own risk!

cleanupbool

Delete temporary directory on completion if True. Set to False for debugging purposes.

**kwargs: kwargs

Keyword arguments to pass on to sbml_translator()

Notes

Requires the sbmlTranslator program (also known at Atomizer). If PySB was installed using “conda”, you can install sbmlTranslator using “conda install -c alubbock atomizer”. It is bundled with BioNetGen if BNG is installed by manual download and unzip.

Read the sbmlTranslator documentation for further information on sbmlTranslator’s limitations.

pysb.importers.sbml.sbml_translator(input_file, output_file=None, convention_file=None, naming_conventions=None, user_structures=None, molecule_id=False, atomize=False, pathway_commons=False, verbose=False)[source]

Run the BioNetGen sbmlTranslator binary to convert SBML to BNGL

This function runs the external program sbmlTranslator, included with BioNetGen, which converts SBML files to BioNetGen language (BNGL). If PySB was installed using “conda”, you can install sbmlTranslator using “conda install -c alubbock atomizer”. sbmlTranslator is bundled with BioNetGen if BNG is installed by manual download and unzip.

Generally, PySB users don’t need to run this function directly; an SBML model can be imported to PySB in a single step with model_from_sbml(). However, users may wish to note the parameters for this function, which alter the way the SBML file is processed. These parameters can be supplied as **kwargs to model_from_sbml().

For more detailed descriptions of the arguments, see the sbmlTranslator documentation.

Parameters:
input_filestring

SBML input filename

output_filestring, optional

BNGL output filename

convention_filestring, optional

Conventions filename

naming_conventionsstring, optional

Naming conventions filename

user_structuresstring, optional

User structures filename

molecule_idbool, optional

Use SBML molecule IDs (True) or names (False). IDs are less descriptive but more BNGL friendly. Use only if the generated BNGL has syntactic errors

atomizebool, optional

Atomize the model, i.e. attempt to infer molecular structure and build rules from the model (True) or just perform a flat import (False)

pathway_commonsbool, optional

Use pathway commons to infer molecule binding. This setting requires an internet connection and will query the pathway commons web service.

verbosebool or int, optional (default: False)

Sets the verbosity level of the logger. See the logging levels and constants from Python’s logging module for interpretation of integer values. False leaves the logging verbosity unchanged, True is equal to DEBUG.

Returns:
string

BNGL output filename