libSBML Python API  5.10.0
 All Classes Namespaces Files Functions Variables Modules Pages
libsbml.CompModelPlugin Class Reference
Inheritance diagram for libsbml.CompModelPlugin:
[legend]

Detailed Description

{comp}

comp Implementation of the “comp” package extention to the Model construct.

The CompModelPlugin class inherits from the SBMLSBasePlugin class, and codifies the extentions to the Model class defined in the SBML Level 3 Hierarchical Model Composition package (“comp”). This extention allows a Model to define Submodels (other Models that are instantiated as new parts of the parent Model), and Ports, a defined interface for including the given Model as a Submodel of a different Model.

Submodels are stored in an optional child ListOfSubmodels object, which, if present, must contain one or more Submodel objects. All of the Submodels present in the ListOfSubmodels are defined to be instantiated in the 'complete' Model.

Ports are stored in an optional child ListOfPorts object, which, if present, must contain one or more Port objects. All of the Ports present in the ListOfPorts collectively define the 'port interface' of the Model.

Public Member Functions

def addPort
 
def addReplacedElement
 
def addSubmodel
 
def clearReplacedElements
 
def clone
 
def createPort
 
def createReplacedBy
 
def createReplacedElement
 
def createSubmodel
 
def getDivider
 
def getElementByMetaId
 
def getElementBySId
 
def getElementNamespace
 
def getLevel
 
def getListOfAllElements
 
def getListOfPorts
 
def getListOfReplacedElements
 
def getListOfSubmodels
 
def getNumPorts
 
def getNumReplacedElements
 
def getNumSubmodels
 
def getPackageName
 
def getPackageVersion
 
def getParentSBMLObject
 
def getPort
 
def getPrefix
 
def getReplacedBy
 
def getReplacedElement
 
def getSBMLDocument
 
def getSubmodel
 
def getTransformer
 
def getURI
 
def getVersion
 
def isSetReplacedBy
 
def isSetTransformer
 
def logInvalidId
 
def removePort
 
def removeReplacedElement
 
def removeSubmodel
 
def setDivider
 
def setElementNamespace
 
def setReplacedBy
 
def setTransformer
 
def unsetReplacedBy
 
def unsetTransformer
 

Member Function Documentation

def libsbml.CompModelPlugin.addPort (   self,
  args 
)

Python method signature(s):

addPort(CompModelPlugin self, Port port)   int

Adds a copy of the given Port object to the list of ports.

Parameters
portthe Port object to be added to the list of ports. Fails if the added port is None, does not match the level/version/package of the parent object, or cannot be added to the list of ports.
Returns
integer value indicating success/failure of the operation. The possible return values:
def libsbml.CompSBasePlugin.addReplacedElement (   self,
  args 
)
inherited

Python method signature(s):

addReplacedElement(CompSBasePlugin self, ReplacedElement replacedElement)   int

Adds a copy of the given ReplacedElement object to the list of ReplacedElements.

Parameters
replacedElementthe ReplacedElement object to be added to the list of ReplacedElements. Fails if the added ReplacedElement is None, does not match the level/version/package of the parent object, or cannot be added to the list of replaced elements.
Returns
integer value indicating success/failure of the operation. The possible return values are:
def libsbml.CompModelPlugin.addSubmodel (   self,
  args 
)

Python method signature(s):

addSubmodel(CompModelPlugin self, Submodel submodel)   int

Adds a copy of the given Submodel object to the list of submodels.

Fails if the added submodel is None, does not match the level/version/package of the parent object, or cannot be added to the list of submodels.

Parameters
submodelthe Submodel object to be added to the list of submodels.
Returns
integer value indicating success/failure of the operation. The possible return values are:
def libsbml.CompSBasePlugin.clearReplacedElements (   self)
inherited

Python method signature(s):

clearReplacedElements(CompSBasePlugin self)

Remove all ReplacedElements, if any exist.

def libsbml.CompModelPlugin.clone (   self)

{comp}

comp Implementation of the “comp” package extention to the Model construct.

The CompModelPlugin class inherits from the SBMLSBasePlugin class, and codifies the extentions to the Model class defined in the SBML Level 3 Hierarchical Model Composition package (“comp”). This extention allows a Model to define Submodels (other Models that are instantiated as new parts of the parent Model), and Ports, a defined interface for including the given Model as a Submodel of a different Model.

Submodels are stored in an optional child ListOfSubmodels object, which, if present, must contain one or more Submodel objects. All of the Submodels present in the ListOfSubmodels are defined to be instantiated in the 'complete' Model.

Ports are stored in an optional child ListOfPorts object, which, if present, must contain one or more Port objects. All of the Ports present in the ListOfPorts collectively define the 'port interface' of the Model. Python method signature(s):

clone(CompModelPlugin self)   CompModelPlugin

Creates and returns a deep copy of this CompModelPlugin object.

Returns
a (deep) copy of this CompModelPlugin object
def libsbml.CompModelPlugin.createPort (   self)

Python method signature(s):

createPort(CompModelPlugin self)   Port

Creates a Port object, adds it to the end of the port objects list and returns a pointer to the newly created object.

Returns
a newly created Port object
def libsbml.CompSBasePlugin.createReplacedBy (   self)
inherited

Python method signature(s):

createReplacedBy(CompSBasePlugin self)   ReplacedBy

Creates a new, empty ReplacedBy, adds it to this CompSBasePlugin and returns the created ReplacedBy.

Returns
the newly created ReplacedBy object instance
def libsbml.CompSBasePlugin.createReplacedElement (   self)
inherited

Python method signature(s):

createReplacedElement(CompSBasePlugin self)   ReplacedElement

Creates a ReplacedElement object, adds it to the end of the ReplacedElement objects list and returns a pointer to the newly created object.

Returns
a newly created ReplacedElement object
def libsbml.CompModelPlugin.createSubmodel (   self)

Python method signature(s):

createSubmodel(CompModelPlugin self)   Submodel

Creates a Submodel object, adds it to the end of the submodel objects list and returns a pointer to the newly created object.

Returns
a newly created Submodel object
def libsbml.CompModelPlugin.getDivider (   self)

Python method signature(s):

getDivider(CompModelPlugin self)   string

Get the string used as the divider between names when renaming and flattening models.

The divider string consists of two underscore characters ("<code>__</code>") by default, and can be overridden with the setDivider() function.

See also
setDivider()
def libsbml.CompModelPlugin.getElementByMetaId (   self,
  args 
)

Python method signature(s):

getElementByMetaId(CompModelPlugin self, string metaid)   SBase

Returns the first child element it can find with the given meta identifier, or itself if it has the given metaid, or None if no such object is found.

Parameters
metaida string representing the metaid of objects to find.
Returns
a pointer to the SBase element with the given metaid.
def libsbml.CompModelPlugin.getElementBySId (   self,
  args 
)

Python method signature(s):

getElementBySId(CompModelPlugin self, string id)   SBase

Returns the first child element found that has the given id in the model-wide SId namespace, or None if no such object is found.

Parameters
ida string representing the id of objects to find.
Returns
a pointer to the SBase element with the given id.
def libsbml.SBasePlugin.getElementNamespace (   self)
inherited

{core}

Representation of a plug-in object of SBML's package extension.

Additional attributes and/or elements of a package extension which are directly contained by some pre-defined element are contained/accessed by SBasePlugin class which is extended by package developers for each extension point. The extension point, which represents an element to be extended, is identified by a combination of a Package name and a typecode of the element, and is represented by SBaseExtensionPoint class.

For example, the layout extension defines <listOfLayouts> element which is directly contained in <model> element of the core package. In the layout package (provided as one of example packages in libSBML-5), the additional element for the model element is implemented as ListOfLayouts class (an SBase derived class) and the object is contained/accessed by a LayoutModelPlugin class (an SBasePlugin derived class).

SBasePlugin class defines basic virtual functions for reading/writing/checking additional attributes and/or top-level elements which should or must be overridden by subclasses like SBase class and its derived classes.

Package developers must implement an SBasePlugin exntended class for each element to be extended (e.g. SBMLDocument, Model, ...) in which additional attributes and/or top-level elements of the package extension are directly contained.

To implement reading/writing functions for attributes and/or top-level elements of the SBsaePlugin extended class, package developers should or must override the corresponding virtual functions below provided in the SBasePlugin class:

  • reading elements :

    1. virtual SBase createObject (XMLInputStream stream)

      This function must be overridden if one or more additional elements are defined.

    2. virtual bool readOtherXML (SBase parentObject, XMLInputStream stream)

      This function should be overridden if elements of annotation, notes, MathML, etc. need to be directly parsed from the given XMLInputStream object.

  • reading attributes (must be overridden if additional attributes are defined) :

    1. virtual void addExpectedAttributes(ExpectedAttributes& attributes)
    2. virtual void readAttributes (XMLAttributes attributes, ExpectedAttributes& expectedAttributes)
  • writing elements (must be overridden if additional elements are defined) :

    1. virtual void writeElements (XMLOutputStream stream)
  • writing attributes :

    1. virtual void writeAttributes (XMLOutputStream stream)

      This function must be overridden if one or more additional attributes are defined.

    2. virtual void writeXMLNS (XMLOutputStream stream)

      This function must be overridden if one or more additional xmlns attributes are defined.

  • checking elements (should be overridden) :

    1. virtual bool hasRequiredElements()

  • checking attributes (should be overridden) :

    1. virtual bool hasRequiredAttributes()

To implement package-specific creating/getting/manipulating functions of the SBasePlugin derived class (e.g., getListOfLayouts(), createLyout(), getLayout(), and etc are implemented in LayoutModelPlugin class of the layout package), package developers must newly implement such functions (as they like) in the derived class.

SBasePlugin class defines other virtual functions of internal implementations such as:

  • virtual void setSBMLDocument(SBMLDocument d)
  • virtual void connectToParent(SBasesbase)
  • virtual void enablePackageInternal(string pkgURI, string pkgPrefix, bool flag)

These functions must be overridden by subclasses in which one or more top-level elements are defined.

For example, the following three SBasePlugin extended classes are implemented in the layout extension:

  1. SBMLDocumentPlugin class for SBMLDocument element

    (SBMLDocumentPlugin class is a common SBasePlugin extended class for SBMLDocument class. Package developers can use this class as-is if no additional elements/attributes (except for required attribute) is needed for the SBMLDocument class in their packages, otherwise package developers must implement a new SBMLDocumentPlugin derived class.)

  2. LayoutModelPlugin class for Model element

    • <listOfLayouts> element is added to Model object.

    • The following virtual functions for reading/writing/checking are overridden: (type of arguments and return values are omitted)

      • createObject() : (read elements)
      • readOtherXML() : (read elements in annotation of SBML L2)
      • writeElements() : (write elements)

    • The following virtual functions of internal implementations are overridden: (type of arguments and return values are omitted)

      • setSBMLDocument()
      • connectToParent()
      • enablePackageInternal()

    • The following creating/getting/manipulating functions are newly implemented: (type of arguments and return values are omitted)

      • getListOfLayouts()
      • getLayout ()
      • addLayout()
      • createLayout()
      • removeLayout()
      • getNumLayouts()

  3. LayoutSpeciesReferencePlugin class for SpeciesReference element (used only for SBML L2V1)

    • id attribute is internally added to SpeciesReference object only for SBML L2V1

    • The following virtual functions for reading/writing/checking are overridden: (type of arguments and return values are omitted)

      • readOtherXML()
      • writeAttributes()

Python method signature(s):

getElementNamespace(SBasePlugin self)   string

Returns the XML namespace (URI) of the package extension of this plugin object.

Returns
the URI of the package extension of this plugin object.
def libsbml.SBasePlugin.getLevel (   self)
inherited

Python method signature(s):

getLevel(SBasePlugin self)   long

Returns the SBML level of the package extension of this plugin object.

Returns
the SBML level of the package extension of this plugin object.
def libsbml.SBasePlugin.getListOfAllElements (   self,
  filter = None 
)
inherited

Python method signature(s):

getListOfAllElements(SBasePlugin self, ElementFilter filter=None)   SBaseList
getListOfAllElements(SBasePlugin self)   SBaseList

Returns an SBaseList of all child SBase objects, including those nested to an arbitrary depth.

Returns
an SBaseList
def libsbml.CompModelPlugin.getListOfPorts (   self)

Python method signature(s):

getListOfPorts(CompModelPlugin self)   ListOfPorts

Returns the ListOf object that holds all ports.

Returns
the ListOf object that holds all ports.
def libsbml.CompSBasePlugin.getListOfReplacedElements (   self)
inherited

Python method signature(s):

getListOfReplacedElements(CompSBasePlugin self)   ListOfReplacedElements

Returns the ListOf object that holds all replacedElements.

Returns
the ListOf object that holds all replacedElements.
def libsbml.CompModelPlugin.getListOfSubmodels (   self)

Python method signature(s):

getListOfSubmodels(CompModelPlugin self)   ListOfSubmodels

Returns the ListOf object that holds all submodels.

Returns
the ListOf object that holds all submodels.
def libsbml.CompModelPlugin.getNumPorts (   self)

Python method signature(s):

getNumPorts(CompModelPlugin self)   long

Returns the number of ports for this CompModelPlugin.

Returns
the number of ports for this CompModelPlugin.
def libsbml.CompSBasePlugin.getNumReplacedElements (   self)
inherited

Python method signature(s):

getNumReplacedElements(CompSBasePlugin self)   long

Returns the number of ReplacedElements for this CompSBasePlugin.

Returns
the number of ReplacedElements for this CompSBasePlugin.
def libsbml.CompModelPlugin.getNumSubmodels (   self)

Python method signature(s):

getNumSubmodels(CompModelPlugin self)   long

Returns the number of submodels for this CompModelPlugin.

Returns
the number of submodels for this CompModelPlugin.
def libsbml.SBasePlugin.getPackageName (   self)
inherited

Python method signature(s):

getPackageName(SBasePlugin self)   string

Returns the package name of this plugin object.

Returns
the package name of this plugin object.
def libsbml.SBasePlugin.getPackageVersion (   self)
inherited

Python method signature(s):

getPackageVersion(SBasePlugin self)   long

Returns the package version of the package extension of this plugin object.

Returns
the package version of the package extension of this plugin object.
def libsbml.SBasePlugin.getParentSBMLObject (   self,
  args 
)
inherited

Python method signature(s):

getParentSBMLObject(SBasePlugin self)   SBase
getParentSBMLObject(SBasePlugin self)   SBase

Returns the parent SBase object to which this plugin object connected.

Returns
the parent SBase object to which this plugin object connected.
def libsbml.CompModelPlugin.getPort (   self,
  args 
)

Python method signature(s):

getPort(CompModelPlugin self, long n)   Port
getPort(CompModelPlugin self, long n)   Port
getPort(CompModelPlugin self, string id)   Port
getPort(CompModelPlugin self, string id)   Port

This method has multiple variants that differ in the arguments they accept. Each is described separately below.


Method variant with the following signature:
getPort(string id)

Returns the port with the given identifier.

Parameters
idthe id of the Port to get.
Returns
the Port in the ListOfPorts with the given identifier. If the identifier is invalid, None is returned.

Method variant with the following signature:
getPort(long n)

Returns the port with the given index.

Parameters
nthe index number of the Port to get.
Returns
the nth Port in the ListOfPorts. If the index n is invalid, None is returned.
def libsbml.SBasePlugin.getPrefix (   self)
inherited

Python method signature(s):

getPrefix(SBasePlugin self)   string

Returns the prefix of the package extension of this plugin object.

Returns
the prefix of the package extension of this plugin object.
def libsbml.CompSBasePlugin.getReplacedBy (   self,
  args 
)
inherited

Python method signature(s):

getReplacedBy(CompSBasePlugin self)   ReplacedBy
getReplacedBy(CompSBasePlugin self)   ReplacedBy

Get the child ReplacedBy of this SBase.

Returns
the ReplacedBy child of this SBase
def libsbml.CompSBasePlugin.getReplacedElement (   self,
  args 
)
inherited

Python method signature(s):

getReplacedElement(CompSBasePlugin self, long n)   ReplacedElement
getReplacedElement(CompSBasePlugin self, long n)   ReplacedElement

Returns the ReplacedElement with the given index.

Parameters
nthe index number of the ReplacedElement to get.
Returns
the nth ReplacedElement in the ListOfReplacedElements. If the index is invalid, None is returned.
def libsbml.SBasePlugin.getSBMLDocument (   self,
  args 
)
inherited

Python method signature(s):

getSBMLDocument(SBasePlugin self)   SBMLDocument
getSBMLDocument(SBasePlugin self)   SBMLDocument

Returns the parent SBMLDocument of this plugin object.

Returns
the parent SBMLDocument object of this plugin object.
def libsbml.CompModelPlugin.getSubmodel (   self,
  args 
)

Python method signature(s):

getSubmodel(CompModelPlugin self, long n)   Submodel
getSubmodel(CompModelPlugin self, long n)   Submodel
getSubmodel(CompModelPlugin self, string id)   Submodel
getSubmodel(CompModelPlugin self, string id)   Submodel

This method has multiple variants that differ in the arguments they accept. Each is described separately below.


Method variant with the following signature:
getSubmodel(string id)

Returns the submodel with the given identifier.

Parameters
idthe identifier of the Submodel to get.
Returns
the Submodel in the ListOfSubmodels with the given identifier. If no submodel with identifier id exists, None is returned.

Method variant with the following signature:
getSubmodel(long n)

Returns the submodel with the given index.

Parameters
nthe index number of the Submodel to get.
Returns
the nth Submodel in the ListOfSubmodels. If the index n is invalid, None is returned.
def libsbml.CompModelPlugin.getTransformer (   self)

Python method signature(s):

getTransformer(CompModelPlugin self)   PrefixTransformer *
Returns
any custom transformer set for prefix operations, will be None by default.
def libsbml.SBasePlugin.getURI (   self)
inherited

Python method signature(s):

getURI(SBasePlugin self)   string

Gets the URI to which this element belongs to. For example, all elements that belong to SBML Level 3 Version 1 Core must would have the URI 'http://www.sbml.org/sbml/level3/version1/core'; all elements that belong to Layout Extension Version 1 for SBML Level 3 Version 1 Core must would have the URI 'http://www.sbml.org/sbml/level3/version1/layout/version1/'

Unlike getElementNamespace, this function first returns the URI for this element by looking into the SBMLNamespaces object of the document with the its package name. if not found it will return the result of getElementNamespace

Returns
the URI this elements
See also
getPackageName()
getElementNamespace()
SBMLDocument.getSBMLNamespaces()
getSBMLDocument()
def libsbml.SBasePlugin.getVersion (   self)
inherited

Python method signature(s):

getVersion(SBasePlugin self)   long

Returns the SBML version of the package extension of this plugin object.

Returns
the SBML version of the package extension of this plugin object.
def libsbml.CompSBasePlugin.isSetReplacedBy (   self)
inherited

Python method signature(s):

isSetReplacedBy(CompSBasePlugin self)   bool

Predicate for testing whether the ReplacedBy for this SBase is set.

Returns
True if the ReplacedBy of this SBase is set, False otherwise.
def libsbml.CompModelPlugin.isSetTransformer (   self)

Python method signature(s):

isSetTransformer(CompModelPlugin self)   bool
Returns
an indicator, whether a custom transformer has been set.
def libsbml.CompSBasePlugin.logInvalidId (   self,
  args 
)
inherited

Python method signature(s):

logInvalidId(CompSBasePlugin self, string attribute, string wrongattribute)

Helper to log a common type of error.

def libsbml.CompModelPlugin.removePort (   self,
  args 
)

Python method signature(s):

removePort(CompModelPlugin self, long index)   Port

Removes the port with the given index.

Parameters
indexthe index of the Port object to remove
Returns
the Port object removed. As mentioned above, the caller owns the returned object. None is returned if the given index is out of range.
def libsbml.CompSBasePlugin.removeReplacedElement (   self,
  args 
)
inherited

Python method signature(s):

removeReplacedElement(CompSBasePlugin self, long index)   ReplacedElement

Removes the ReplacedElement with the given index.

A pointer to the ReplacedElement that was removed is returned. If no ReplacedElement has been removed, None is returned.

Parameters
indexthe index of the ReplacedElement object to remove
Returns
the ReplacedElement object removed. As mentioned above, the caller owns the returned object. None is returned if the given index is out of range.
def libsbml.CompModelPlugin.removeSubmodel (   self,
  args 
)

Python method signature(s):

removeSubmodel(CompModelPlugin self, long index)   Submodel

Removes the submodel with the given index. A pointer to the submodel that was removed is returned.

Parameters
indexthe index of the Submodel object to remove
Returns
the Submodel object removed. As mentioned above, the caller owns the returned object. None is returned if the given index is out of range and no submodel has been removed, None is returned.
def libsbml.CompModelPlugin.setDivider (   self,
  args 
)

Python method signature(s):

setDivider(CompModelPlugin self, string divider)   int

Set the string used as the divider between names when renaming and flattening models.

The divider string consists of two underscore characters ("<code>__</code>") by default. This method will fail if called with an empty divider, or a divider that cannot be used internally as part of a valid SBML SId.

Returns
integer value indicating success/failure of the operation. The possible return values are:
def libsbml.SBasePlugin.setElementNamespace (   self,
  args 
)
inherited

Python method signature(s):

setElementNamespace(SBasePlugin self, string uri)   int

Sets the XML namespace to which this element belongs to. For example, all elements that belong to SBML Level 3 Version 1 Core must set the namespace to 'http://www.sbml.org/sbml/level3/version1/core'; all elements that belong to Layout Extension Version 1 for SBML Level 3 Version 1 Core must set the namespace to 'http://www.sbml.org/sbml/level3/version1/layout/version1/'

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
def libsbml.CompSBasePlugin.setReplacedBy (   self,
  args 
)
inherited

Python method signature(s):

setReplacedBy(CompSBasePlugin self, ReplacedBy replacedBy)   int

Sets the ReplacedBy definition of this SBase to a copy of the given ReplacedBy object instance.

This method fails if the added ReplacedBy does not match the level/version/package of the parent object or if the added ReplacedBy cannot be copied.

Parameters
replacedBythe ReplacedBy object instance to use.
Returns
integer value indicating success/failure of the operation. The possible return values are:
def libsbml.CompModelPlugin.setTransformer (   self,
  args 
)

Python method signature(s):

setTransformer(CompModelPlugin self, PrefixTransformer * transformer)
Sets the custom transformer that is to be used, instead of the standard
prefixing with the given divider. This makes it possible to finely control
how elements are altered.
If not set, only ids and meta ids will be prefixed.
NOTE: the model plugin only holds the pointer to the element it does not 
take ownership of it. Thus the calling program is responsible of 
freeing the transformer when no longer needed (i.e after the 
SBML document has been deleted)
 
def libsbml.CompSBasePlugin.unsetReplacedBy (   self)
inherited

Python method signature(s):

unsetReplacedBy(CompSBasePlugin self)   int

Unsets the child ReplacedBy of this SBase.

Returns
integer value indicating success/failure of the operation. The possible return values are:
def libsbml.CompModelPlugin.unsetTransformer (   self)

Python method signature(s):

unsetTransformer(CompModelPlugin self)

Unsets any custom prefix transformers.