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

Detailed Description

{comp}

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

The CompSBMLDocumentPlugin class inherits from the SBMLDocumentPlugin class, and codifies the extentions to the SBMLDocument class defined in the SBML Level 3 Hierarchical Model Composition

package (“comp”). This extention allows multiple Model objects to be defined in a single SBMLDocument, stored in an optional child ListOfModelDefinitions object, as well as define references to Model objects in other files, stored in the optional child ListOfExternalModelDefinitions object. These model definitions, if present, allow Submodel objects to reference other Models to instantiate.

The presence of ModelDefinitions and ExternalModelDefinitions in an SBMLDocument does not change the default Model in the file. If a SBMLDocument is submitted somewhere to be simulated, it is still the <model> child of the <sbml> element that should be simulated.

In addition, as all packages do, the CompSBMLDocumentPlugin defines a required flag named required, which indicates whether “comp” constructs can be used to change the core mathematics of the <model> child of the <sbml> element. Because they can, this attribute must be set True.

Public Member Functions

def addExternalModelDefinition
 
def addModelDefinition
 
def clone
 
def createExternalModelDefinition
 
def createModelDefinition
 
def getElementByMetaId
 
def getElementBySId
 
def getElementNamespace
 
def getExternalModelDefinition
 
def getLevel
 
def getListOfAllElements
 
def getListOfExternalModelDefinitions
 
def getListOfModelDefinitions
 
def getModel
 
def getModelDefinition
 
def getNumExternalModelDefinitions
 
def getNumModelDefinitions
 
def getPackageName
 
def getPackageVersion
 
def getParentSBMLObject
 
def getPrefix
 
def getRequired
 
def getSBMLDocument
 
def getURI
 
def getVersion
 
def isSetRequired
 
def removeExternalModelDefinition
 
def removeModelDefinition
 
def setElementNamespace
 
def setRequired
 
def unsetRequired
 

Member Function Documentation

def libsbml.CompSBMLDocumentPlugin.addExternalModelDefinition (   self,
  args 
)

Python method signature(s):

addExternalModelDefinition(CompSBMLDocumentPlugin self, ExternalModelDefinition externalModelDefinition)   int

Adds a copy of the given ExternalModelDefinition object to the list of ExternalModelDefinitions.

Parameters
externalModelDefinitionthe ExternalModelDefinition object to be added to the list of ExternalModelDefinitions. Fails if the added ExternalModelDefinition is None, does not match the level/version/package of the parent object, or cannot be added to the list of external model definitions.
Returns
integer value indicating success/failure of the operation. The possible return values are:
def libsbml.CompSBMLDocumentPlugin.addModelDefinition (   self,
  args 
)

Python method signature(s):

addModelDefinition(CompSBMLDocumentPlugin self, ModelDefinition modelDefinition)   int

Adds a copy of the given ModelDefinition object to the list of ModelDefinitions.

Parameters
modelDefinitionthe ModelDefinition object to be added to the list of ModelDefinitions. Fails if the added ModelDefinition 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.CompSBMLDocumentPlugin.clone (   self)

{comp}

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

The CompSBMLDocumentPlugin class inherits from the SBMLDocumentPlugin class, and codifies the extentions to the SBMLDocument class defined in the SBML Level 3 Hierarchical Model Composition

package (“comp”). This extention allows multiple Model objects to be defined in a single SBMLDocument, stored in an optional child ListOfModelDefinitions object, as well as define references to Model objects in other files, stored in the optional child ListOfExternalModelDefinitions object. These model definitions, if present, allow Submodel objects to reference other Models to instantiate.

The presence of ModelDefinitions and ExternalModelDefinitions in an SBMLDocument does not change the default Model in the file. If a SBMLDocument is submitted somewhere to be simulated, it is still the <model> child of the <sbml> element that should be simulated.

In addition, as all packages do, the CompSBMLDocumentPlugin defines a required flag named required, which indicates whether “comp” constructs can be used to change the core mathematics of the <model> child of the <sbml> element. Because they can, this attribute must be set True. Python method signature(s):

clone(CompSBMLDocumentPlugin self)   CompSBMLDocumentPlugin

Creates and returns a deep copy of this CompSBMLDocumentPlugin object.

Returns
a (deep) copy of this CompSBMLDocumentPlugin object
def libsbml.CompSBMLDocumentPlugin.createExternalModelDefinition (   self)

Python method signature(s):

createExternalModelDefinition(CompSBMLDocumentPlugin self)   ExternalModelDefinition

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

Returns
a newly created ExternalModelDefinition object
def libsbml.CompSBMLDocumentPlugin.createModelDefinition (   self)

Python method signature(s):

createModelDefinition(CompSBMLDocumentPlugin self)   ModelDefinition

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

Returns
a newly created ModelDefinition object
def libsbml.CompSBMLDocumentPlugin.getElementByMetaId (   self,
  args 
)

Python method signature(s):

getElementByMetaId(CompSBMLDocumentPlugin self, string metaid)   SBase

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

Parameters
metaidstring representing the meta identifier of objects to find
Returns
a pointer to the SBase element with the given metaid.
def libsbml.CompSBMLDocumentPlugin.getElementBySId (   self,
  args 
)

Python method signature(s):

getElementBySId(CompSBMLDocumentPlugin 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
idstring representing the identifier of objects to find
Returns
a pointer to the SBase element with the given id.
Note
The comp SBML document plugin has multiple model-wide SId namespaces, so a valid document may well contain multiple elements with the same SId that reside in separate models. It is not recommended to ever call this function—instead, call the function on the child ModelDefinition objects.
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.CompSBMLDocumentPlugin.getExternalModelDefinition (   self,
  args 
)

Python method signature(s):

getExternalModelDefinition(CompSBMLDocumentPlugin self, long n)   ExternalModelDefinition
getExternalModelDefinition(CompSBMLDocumentPlugin self, long n)   ExternalModelDefinition
getExternalModelDefinition(CompSBMLDocumentPlugin self, string sid)   ExternalModelDefinition
getExternalModelDefinition(CompSBMLDocumentPlugin self, string sid)   ExternalModelDefinition

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


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

Returns the ExternalModelDefinition with the given index.

Parameters
nthe index number of the ExternalModelDefinition to get.
Returns
the nth ExternalModelDefinition in the ListOfExternalModelDefinitions. If the index is invalid, None is returned.

Method variant with the following signature:
getExternalModelDefinition(string sid)

Returns the model definition object based on its identifier.

Parameters
sida string representing the identifier of the model definition to get.
Returns
ExternalModelDefinition in the ListOfExternalModelDefinitions with the given sid or None if no such ExternalModelDefinition exists.
See also
getExternalModelDefinition()
getListOfExternalModelDefinitions()
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.CompSBMLDocumentPlugin.getListOfExternalModelDefinitions (   self)

Python method signature(s):

getListOfExternalModelDefinitions(CompSBMLDocumentPlugin self)   ListOfExternalModelDefinitions

Returns the ListOf object that holds all ExternalModelDefinitions.

Returns
the ListOf object that holds all ExternalModelDefinitions.
def libsbml.CompSBMLDocumentPlugin.getListOfModelDefinitions (   self)

Python method signature(s):

getListOfModelDefinitions(CompSBMLDocumentPlugin self)   ListOfModelDefinitions

Returns the ListOf object that holds all ModelDefinitions.

Returns
the ListOf object that holds all ModelDefinitions.
def libsbml.CompSBMLDocumentPlugin.getModel (   self,
  args 
)

Python method signature(s):

getModel(CompSBMLDocumentPlugin self, string sid)   SBase
getModel(CompSBMLDocumentPlugin self, string sid)   SBase

Searches the model namespace of the document and returns the Model, ModelDefinition, or ExternalModelDefintion object with the given identifier.

Parameters
sida string representing the identifier of the model definition to get.
Returns
The SBase corresponding to the given sid or None if no such model exists. If no such model exists, this will return None.
def libsbml.CompSBMLDocumentPlugin.getModelDefinition (   self,
  args 
)

Python method signature(s):

getModelDefinition(CompSBMLDocumentPlugin self, long n)   ModelDefinition
getModelDefinition(CompSBMLDocumentPlugin self, long n)   ModelDefinition
getModelDefinition(CompSBMLDocumentPlugin self, string sid)   ModelDefinition
getModelDefinition(CompSBMLDocumentPlugin self, string sid)   ModelDefinition

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


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

Returns the ModelDefinition with the given index.

Parameters
nthe index number of the ModelDefinition to get.
Returns
the nth ModelDefinition in the ListOfModelDefinitions. If the index n is invalid, None is returned.

Method variant with the following signature:
getModelDefinition(string sid)

Returns the model definition object based on its identifier.

Parameters
sida string representing the identifier of the model definition to get.
Returns
ModelDefinition in the ListOfModelDefinitions with the given sid or None if no such ModelDefinition exists.
See also
getModelDefinition()
getListOfModelDefinitions()
def libsbml.CompSBMLDocumentPlugin.getNumExternalModelDefinitions (   self)

Python method signature(s):

getNumExternalModelDefinitions(CompSBMLDocumentPlugin self)   long

Returns the number of ExternalModelDefinitions for this SBMLDocumentPlugin.

Returns
the number of ExternalModelDefinitions for this SBMLDocumentPlugin.
def libsbml.CompSBMLDocumentPlugin.getNumModelDefinitions (   self)

Python method signature(s):

getNumModelDefinitions(CompSBMLDocumentPlugin self)   long

Returns the number of ModelDefinitions for this SBMLDocumentPlugin.

Returns
the number of ModelDefinitions.
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.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.SBMLDocumentPlugin.getRequired (   self)
inherited

Python method signature(s):

getRequired(SBMLDocumentPlugin self)   bool

Returns the bool value of 'required' attribute of corresponding package in SBMLDocument element.

Returns
the bool value of 'required' attribute of corresponding package in SBMLDocument element.
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.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.SBMLDocumentPlugin.isSetRequired (   self)
inherited

Python method signature(s):

isSetRequired(SBMLDocumentPlugin self)   bool

Predicate returning True or False depending on whether this SBMLDocumentPlugin's 'required' attribute has been set.

Returns
True if the 'required' attribute of this SBMLDocument has been set, False otherwise.
def libsbml.CompSBMLDocumentPlugin.removeExternalModelDefinition (   self,
  args 
)

Python method signature(s):

removeExternalModelDefinition(CompSBMLDocumentPlugin self, long index)   ExternalModelDefinition
removeExternalModelDefinition(CompSBMLDocumentPlugin self, string id)   ExternalModelDefinition

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


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

Removes the ExternalModelDefinition with the given id.

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

Parameters
idthe id of the ExternalModelDefinition object to remove
Returns
the ExternalModelDefinition object removed. As mentioned above, the caller owns the returned object. None is returned if the given index is out of range.

Method variant with the following signature:
removeExternalModelDefinition(long index)

Removes the ExternalModelDefinition with the given index.

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

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

Python method signature(s):

removeModelDefinition(CompSBMLDocumentPlugin self, long index)   ModelDefinition
removeModelDefinition(CompSBMLDocumentPlugin self, string id)   ModelDefinition

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


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

Removes the ModelDefinition with the given id from the CompSBMLDocumentPlugin.

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

Parameters
idthe id of the ModelDefinition object to remove
Returns
the ModelDefinition object removed. As mentioned above, the caller owns the returned object. None is returned if the given index is out of range.

Method variant with the following signature:
removeModelDefinition(long index)

Removes the ModelDefinition with the given index from the CompSBMLDocumentPlugin.

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

Parameters
indexthe index of the ModelDefinition object to remove
Returns
the ModelDefinition object removed. As mentioned above, the caller owns the returned object. None is returned if the given index is out of range.
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.CompSBMLDocumentPlugin.setRequired (   self,
  args 
)

Python method signature(s):

setRequired(CompSBMLDocumentPlugin self, bool value)   int

Sets the bool value of 'required' attribute of corresponding package in SBMLDocument element. The only legal value is 'true' for the Hierarchical Model Composition package.

Parameters
valuethe bool value of 'required' attribute of corresponding package in SBMLDocument element.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
def libsbml.SBMLDocumentPlugin.unsetRequired (   self)
inherited

Python method signature(s):

unsetRequired(SBMLDocumentPlugin self)   int

Unsets the value of the 'required' attribute of this SBMLDocumentPlugin.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are: