libSBML Python API
5.10.0
|
{comp}
comp Implementation of the “comp” package extention to the SBase construct.The CompSBasePlugin class inherits from the SBasePlugin class, and codifies the extentions to the SBase class defined in the Hierarchical Model Composition package (“comp”). This extention allows the modeler to define one or more submodel elements which the parent SBase object replaces, and/or a single submodel element which replaces the parent SBase object. This is accomplished through the addition of an optional ListOfReplacedElements child, which may contain one or more ReplacedElement objects, each of which references a submodel object to be replaced by the containing SBase object, and through the addition of a single optional ReplacedBy child, which references a submodel object which is to replace the containing SBase object. If a single SBase element both contains a ListOfReplacedElements and has a ReplacedBy child, it and all the referenced ReplacedElement objects are to be replaced by the object referenced by the ReplacedBy element.
Public Member Functions | |
def | addReplacedElement |
def | clearReplacedElements |
def | clone |
def | createReplacedBy |
def | createReplacedElement |
def | getElementByMetaId |
def | getElementBySId |
def | getElementNamespace |
def | getLevel |
def | getListOfAllElements |
def | getListOfReplacedElements |
def | getNumReplacedElements |
def | getPackageName |
def | getPackageVersion |
def | getParentSBMLObject |
def | getPrefix |
def | getReplacedBy |
def | getReplacedElement |
def | getSBMLDocument |
def | getURI |
def | getVersion |
def | isSetReplacedBy |
def | logInvalidId |
def | removeReplacedElement |
def | setElementNamespace |
def | setReplacedBy |
def | unsetReplacedBy |
def libsbml.CompSBasePlugin.addReplacedElement | ( | self, | |
args | |||
) |
Python method signature(s):
addReplacedElement(CompSBasePlugin self, ReplacedElement replacedElement)int
Adds a copy of the given ReplacedElement object to the list of ReplacedElements.
replacedElement | the 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. |
def libsbml.CompSBasePlugin.clearReplacedElements | ( | self | ) |
Python method signature(s):
clearReplacedElements(CompSBasePlugin self)
Remove all ReplacedElements, if any exist.
def libsbml.CompSBasePlugin.clone | ( | self | ) |
{comp}
comp Implementation of the “comp” package extention to the SBase construct.The CompSBasePlugin class inherits from the SBasePlugin class, and codifies the extentions to the SBase class defined in the Hierarchical Model Composition package (“comp”). This extention allows the modeler to define one or more submodel elements which the parent SBase object replaces, and/or a single submodel element which replaces the parent SBase object. This is accomplished through the addition of an optional ListOfReplacedElements child, which may contain one or more ReplacedElement objects, each of which references a submodel object to be replaced by the containing SBase object, and through the addition of a single optional ReplacedBy child, which references a submodel object which is to replace the containing SBase object. If a single SBase element both contains a ListOfReplacedElements and has a ReplacedBy child, it and all the referenced ReplacedElement objects are to be replaced by the object referenced by the ReplacedBy element.
clone(CompSBasePlugin self)CompSBasePlugin
Creates and returns a deep copy of this CompSBasePlugin object.
def libsbml.CompSBasePlugin.createReplacedBy | ( | self | ) |
Python method signature(s):
createReplacedBy(CompSBasePlugin self)ReplacedBy
Creates a new, empty ReplacedBy, adds it to this CompSBasePlugin and returns the created ReplacedBy.
def libsbml.CompSBasePlugin.createReplacedElement | ( | self | ) |
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.
def libsbml.CompSBasePlugin.getElementByMetaId | ( | self, | |
args | |||
) |
Python method signature(s):
getElementByMetaId(CompSBasePlugin 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.
metaid | string representing the metaid of objects to find |
metaid
. def libsbml.CompSBasePlugin.getElementBySId | ( | self, | |
args | |||
) |
Python method signature(s):
getElementBySId(CompSBasePlugin 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.
id | string representing the id of objects to find |
id
.
|
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 :
virtual SBase createObject (XMLInputStream stream)
This function must be overridden if one or more additional elements are defined.
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) :
virtual void addExpectedAttributes(ExpectedAttributes& attributes)
virtual void readAttributes (XMLAttributes attributes, ExpectedAttributes& expectedAttributes)
writing elements (must be overridden if additional elements are defined) :
virtual void writeElements (XMLOutputStream stream)
writing attributes :
virtual void writeAttributes (XMLOutputStream stream)
This function must be overridden if one or more additional attributes are defined.
virtual void writeXMLNS (XMLOutputStream stream)
This function must be overridden if one or more additional xmlns attributes are defined.
checking elements (should be overridden) :
virtual bool hasRequiredElements()
checking attributes (should be overridden) :
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:
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.)
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()
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.
|
inherited |
Python method signature(s):
getLevel(SBasePlugin self)long
Returns the SBML level of the package extension of this plugin object.
|
inherited |
def libsbml.CompSBasePlugin.getListOfReplacedElements | ( | self | ) |
Python method signature(s):
getListOfReplacedElements(CompSBasePlugin self)ListOfReplacedElements
Returns the ListOf object that holds all replacedElements.
def libsbml.CompSBasePlugin.getNumReplacedElements | ( | self | ) |
Python method signature(s):
getNumReplacedElements(CompSBasePlugin self)long
Returns the number of ReplacedElements for this CompSBasePlugin.
|
inherited |
Python method signature(s):
getPackageName(SBasePlugin self)string
Returns the package name of this plugin object.
|
inherited |
Python method signature(s):
getPackageVersion(SBasePlugin self)long
Returns the package version of the package extension of this plugin object.
|
inherited |
Python method signature(s):
getParentSBMLObject(SBasePlugin self)SBase getParentSBMLObject(SBasePlugin self)
SBase
Returns the parent SBase object to which this plugin object connected.
|
inherited |
Python method signature(s):
getPrefix(SBasePlugin self)string
Returns the prefix of the package extension of this plugin object.
def libsbml.CompSBasePlugin.getReplacedBy | ( | self, | |
args | |||
) |
Python method signature(s):
getReplacedBy(CompSBasePlugin self)ReplacedBy getReplacedBy(CompSBasePlugin self)
ReplacedBy
Get the child ReplacedBy of this SBase.
def libsbml.CompSBasePlugin.getReplacedElement | ( | self, | |
args | |||
) |
Python method signature(s):
getReplacedElement(CompSBasePlugin self, long n)ReplacedElement getReplacedElement(CompSBasePlugin self, long n)
ReplacedElement
Returns the ReplacedElement with the given index.
n | the index number of the ReplacedElement to get. |
None
is returned.
|
inherited |
Python method signature(s):
getSBMLDocument(SBasePlugin self)SBMLDocument getSBMLDocument(SBasePlugin self)
SBMLDocument
Returns the parent SBMLDocument of this plugin object.
|
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
|
inherited |
Python method signature(s):
getVersion(SBasePlugin self)long
Returns the SBML version of the package extension of this plugin object.
def libsbml.CompSBasePlugin.isSetReplacedBy | ( | self | ) |
Python method signature(s):
isSetReplacedBy(CompSBasePlugin self)bool
Predicate for testing whether the ReplacedBy for this SBase is set.
True
if the ReplacedBy of this SBase is set, False
otherwise. def libsbml.CompSBasePlugin.logInvalidId | ( | self, | |
args | |||
) |
Python method signature(s):
logInvalidId(CompSBasePlugin self, string attribute, string wrongattribute)
Helper to log a common type of error.
def libsbml.CompSBasePlugin.removeReplacedElement | ( | self, | |
args | |||
) |
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.
index | the index of the ReplacedElement object to remove |
None
is returned if the given index is out of range.
|
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/'
def libsbml.CompSBasePlugin.setReplacedBy | ( | self, | |
args | |||
) |
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.
replacedBy | the ReplacedBy object instance to use. |
def libsbml.CompSBasePlugin.unsetReplacedBy | ( | self | ) |
Python method signature(s):
unsetReplacedBy(CompSBasePlugin self)int
Unsets the child ReplacedBy of this SBase.