libSBML Python API  5.18.0
libsbml.SBMLStripPackageConverter Class Reference
Inheritance diagram for libsbml.SBMLStripPackageConverter:
[legend]

Detailed Description

Converter that removes SBML Level 3 packages.

This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. It is a class used in the implementation of extra functionality provided by libSBML.

This SBML converter takes an SBML document and removes (strips) an SBML Level 3 package from it. No conversion is performed; the package constructs are simply removed from the SBML document. The package to be stripped is determined by the value of the option 'package' on the conversion properties.

Configuration and use of SBMLStripPackageConverter

SBMLStripPackageConverter is enabled by creating a ConversionProperties object with the option 'stripPackage', and passing this properties object to SBMLDocument.convert(). This converter takes one required option:

  • 'package': the value of this option should be a text string, the nickname of the SBML Level 3 package to be stripped from the model.

In addition, the converter understands an additional optional:

  • 'stripAllUnrecognized': if set to True, the converter will remove all SBML Level 3 package constructs for Level 3 packages that this copy of libSBML does not recognize. Note that what a given copy of libSBML recognizes is determined by which plug-ins it has been configured to include. If this option is enabled, it may remove SBML Level 3 package constructs that are legitimate in the sense that they are officially defined SBML constructs, but not recognized because the running copy of libSBML has not had support enabled for them.

General information about the use of SBML converters

The use of all the converters follows a similar approach. First, one creates a ConversionProperties object and calls ConversionProperties.addOption() on this object with one argument: a text string that identifies the desired converter. (The text string is specific to each converter; consult the documentation for a given converter to find out how it should be enabled.)

Next, for some converters, the caller can optionally set some converter-specific properties using additional calls to ConversionProperties.addOption(). Many converters provide the ability to configure their behavior to some extent; this is realized through the use of properties that offer different options. The default property values for each converter can be interrogated using the method SBMLConverter.getDefaultProperties() on the converter class in question .

Finally, the caller should invoke the method SBMLDocument.convert() with the ConversionProperties object as an argument.

Example of invoking an SBML converter

The following code fragment illustrates an example using SBMLReactionConverter, which is invoked using the option string 'replaceReactions':

1 config = ConversionProperties()
2 if config != None:
3  config.addOption('replaceReactions')

In the case of SBMLReactionConverter, there are no options to affect its behavior, so the next step is simply to invoke the converter on an SBMLDocument object. Continuing the example code:

1 # Assume that the variable 'document' has been set to an SBMLDocument object.
2 status = document.convert(config)
3 if status != LIBSBML_OPERATION_SUCCESS:
4  # Handle error somehow.
5  print('Error: conversion failed due to the following:')
6  document.printErrors()

Here is an example of using a converter that offers an option. The following code invokes SBMLStripPackageConverter to remove the SBML Level 3 Layout package from a model. It sets the name of the package to be removed by adding a value for the option named 'package' defined by that converter:

1 def strip_layout_example(document):
2  config = ConversionProperties()
3  if config != None:
4  config.addOption('stripPackage')
5  config.addOption('package', 'layout')
6  status = document.convert(config)
7  if status != LIBSBML_OPERATION_SUCCESS:
8  # Handle error somehow.
9  print('Error: unable to strip the Layout package.')
10  print('LibSBML returned error: ' + OperationReturnValue_toString(status).strip())
11  else:
12  # Handle error somehow.
13  print('Error: unable to create ConversionProperties object')

Available SBML converters in libSBML

LibSBML provides a number of built-in converters; by convention, their names end in Converter. The following are the built-in converters provided by libSBML 5.18.0:

Public Member Functions

def __init__ (self, args)
 This method has multiple variants; they differ in the arguments they accept. More...
 
def clone (self)
 Creates and returns a deep copy of this SBMLStripPackageConverter object. More...
 
def convert (self)
 Perform the conversion. More...
 
def getDefaultProperties (self)
 Returns the default properties of this converter. More...
 
def getDocument (self, args)
 Returns the SBML document that is the subject of the conversions. More...
 
def getName (self)
 Returns the name of this converter. More...
 
def getPackageToStrip (self)
 
def getProperties (self)
 Returns the current properties in effect for this converter. More...
 
def getTargetNamespaces (self)
 Returns the target SBML namespaces of the currently set properties. More...
 
def isStripAllUnrecognizedPackages (self)
 
def matchesProperties (self, props)
 Returns True if this converter object's properties match the given properties. More...
 
def setDocument (self, doc)
 This method has multiple variants; they differ in the arguments they accept. More...
 
def setProperties (self, props)
 Sets the configuration properties to be used by this converter. More...
 

Constructor & Destructor Documentation

def libsbml.SBMLStripPackageConverter.__init__ (   self,
  args 
)

This method has multiple variants; they differ in the arguments they accept.

__init__()   SBMLStripPackageConverter
__init__(SBMLStripPackageConverter obj)   SBMLStripPackageConverter

Each variant is described separately below.


Method variant with the following signature:
SBMLStripPackageConverter()

Creates a new SBMLStripPackageConverter object.


Method variant with the following signature:
SBMLStripPackageConverter(SBMLStripPackageConverter obj)

Copy constructor; creates a copy of an SBMLStripPackageConverter object.

Parameters
objthe SBMLStripPackageConverter object to copy.

Member Function Documentation

def libsbml.SBMLStripPackageConverter.clone (   self)

Creates and returns a deep copy of this SBMLStripPackageConverter object.

clone()   SBMLStripPackageConverter
Returns
the (deep) copy of this converter object.
def libsbml.SBMLStripPackageConverter.convert (   self)

Perform the conversion.

convert()   int

This method causes the converter to do the actual conversion work, that is, to convert the SBMLDocument object set by SBMLConverter.setDocument() and with the configuration options set by SBMLConverter.setProperties().

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
def libsbml.SBMLStripPackageConverter.getDefaultProperties (   self)

Returns the default properties of this converter.

getDefaultProperties()   ConversionProperties

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method returns the default property settings for this converter. It is meant to be called in order to discover all the settings for the converter object.

Returns
the ConversionProperties object describing the default properties for this converter.
def libsbml.SBMLConverter.getDocument (   self,
  args 
)
inherited

Returns the SBML document that is the subject of the conversions.

getDocument()   SBMLDocument
Returns
the current SBMLDocument object.
def libsbml.SBMLConverter.getName (   self)
inherited

Returns the name of this converter.

getName()   string
Returns
a string, the name of this converter.
def libsbml.SBMLStripPackageConverter.getPackageToStrip (   self)
getPackageToStrip()   string
 
Returns
the package to be stripped.
def libsbml.SBMLConverter.getProperties (   self)
inherited

Returns the current properties in effect for this converter.

getProperties()   ConversionProperties

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method returns the current properties for this converter; in other words, the settings in effect at this moment. To change the property values, you can use SBMLConverter.setProperties().

Returns
the currently set configuration properties.
See also
setProperties()
matchesProperties()
def libsbml.SBMLConverter.getTargetNamespaces (   self)
inherited

Returns the target SBML namespaces of the currently set properties.

getTargetNamespaces()   SBMLNamespaces

SBML namespaces are used by libSBML to express the Level+Version of the SBML document (and, possibly, any SBML Level 3 packages in use). Some converters' behavior is affected by the SBML namespace configured in the converter. For example, in SBMLLevelVersionConverter (the converter for converting SBML documents from one Level+Version combination to another), the actions are fundamentally dependent on the SBML namespaces targeted.

Returns
the SBMLNamespaces object that describes the SBML namespaces in effect, or None if none are set.
def libsbml.SBMLStripPackageConverter.isStripAllUnrecognizedPackages (   self)
isStripAllUnrecognizedPackages()   bool
 
Returns
a boolean indicating whether all unrecognized packages should be removed.
def libsbml.SBMLStripPackageConverter.matchesProperties (   self,
  props 
)

Returns True if this converter object's properties match the given properties.

matchesProperties(ConversionProperties props)   bool

A typical use of this method involves creating a ConversionProperties object, setting the options desired, and then calling this method on an SBMLStripPackageConverter object to find out if the object's property values match the given ones. This method is also used by SBMLConverterRegistry.getConverterFor() to search across all registered converters for one matching particular properties.

Parameters
propsthe properties to match.
Returns
True if this converter's properties match, False otherwise.
def libsbml.SBMLConverter.setDocument (   self,
  doc 
)
inherited

This method has multiple variants; they differ in the arguments they accept.

setDocument(SBMLDocument doc)   int

Each variant is described separately below.


Method variant with the following signature:
setDocument(SBMLDocument doc)

Sets the SBML document to be converted.

Parameters
docthe document to use for this conversion.
Returns
integer value indicating the success/failure of the operation. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following:

Method variant with the following signature:
setDocument(SBMLDocument doc)

Sets the SBML document to be converted.

Parameters
docthe document to use for this conversion.
Returns
integer value indicating the success/failure of the operation. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following:
def libsbml.SBMLConverter.setProperties (   self,
  props 
)
inherited

Sets the configuration properties to be used by this converter.

setProperties(ConversionProperties props)   int
Parameters
propsthe ConversionProperties object defining the properties to set.
Returns
integer value indicating the success/failure of the operation. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following values:
See also
getProperties()
matchesProperties()