libSBML Python API
5.11.0
|
The libSBML “qual” extension implements support for the SBML Level 3 Qualitative Models package.
Quantitative methods for modeling biological networks require an in-depth knowledge of the biochemical reactions and their stoichiometric and kinetic parameters. In many practical cases, this knowledge is missing. This has led to the development of several qualitative modeling methods using information such as gene expression data coming from functional genomic experiments.
The qualitative models contemplated in this SBML Level 3 package for Qualitative Models are essentially based on the definition of regulatory or influence graphs. The components of these models differ from the species and reactions used in current SBML models. For example, qualitative models typically associate discrete levels of activities with entity pools; the processes involving them cannot be described as reactions per se but rather as transitions between states. These systems can be viewed as reactive systems, whose dynamics are represented by means of state transition graphs (or other Kripke structures representing, in the form of a graph, which nodes are the reachable states and in which the edges are the state transitions). In this context, logical regulatory networks (Boolean or multi-valued) and standard Petri nets are the two formalisms mostly used in biology that give rise to such behaviors. Published models using these approaches cover, far from exhaustively, gene regulatory networks, signalling pathways and metabolic pathways.
Despite differences from traditional SBML models, it is desirable to bring these classes of models under a common format scheme. The purpose of this Qualitative Models package for SBML Level 3 is to support encoding qualitative models in SBML.
This API documentation for libSBML does not provide a complete explanation of the SBML Level 3 Qualitative Models (“qual”) package. If you are developing software that uses “qual”, you are strongly urged to read the actual specification for the package. A link to the specification document current is provided below, along with a link to the page of known issues (if any).
Specification (in PDF format) | Known issues |
---|---|
![]() |
![]() |
The libSBML “qual” extension implements support for the SBML Level 3 Qualitative Models package.
Quantitative methods for modeling biological networks require an in-depth knowledge of the biochemical reactions and their stoichiometric and kinetic parameters. In many practical cases, this knowledge is missing. This has led to the development of several qualitative modeling methods using information such as gene expression data coming from functional genomic experiments.
The qualitative models contemplated in this SBML Level 3 package for Qualitative Models are essentially based on the definition of regulatory or influence graphs. The components of these models differ from the species and reactions used in current SBML models. For example, qualitative models typically associate discrete levels of activities with entity pools; the processes involving them cannot be described as reactions per se but rather as transitions between states. These systems can be viewed as reactive systems, whose dynamics are represented by means of state transition graphs (or other Kripke structures representing, in the form of a graph, which nodes are the reachable states and in which the edges are the state transitions). In this context, logical regulatory networks (Boolean or multi-valued) and standard Petri nets are the two formalisms mostly used in biology that give rise to such behaviors. Published models using these approaches cover, far from exhaustively, gene regulatory networks, signalling pathways and metabolic pathways.
Despite differences from traditional SBML models, it is desirable to bring these classes of models under a common format scheme. The purpose of this Qualitative Models package for SBML Level 3 is to support encoding qualitative models in SBML.
This API documentation for libSBML does not provide a complete explanation of the SBML Level 3 Qualitative Models (“qual”) package. If you are developing software that uses “qual”, you are strongly urged to read the actual specification for the package. A link to the specification document current is provided below, along with a link to the page of known issues (if any).
Specification (in PDF format) | Known issues |
---|---|
![]() |
![]() |
def libsbml.QualModelPlugin.__init__ | ( | self, | |
args | |||
) |
The extension of SBML Level 3 Core's Model class is relatively straightforward: the Qualitative Models Package adds two lists, one for holding qualitativeSpecies (ListOfQualitativeSpecies), and the other for holding transitions (ListOfTransitions). The Model element may contain at most one ListOfQualitativeSpecies, which must contain at least one QualitativeSpecies. It may also contain at most one ListOfTransitions which must contain at least one Transition.
This method has multiple variants; they differ in the arguments they accept.
__init__(string uri, string prefix, QualPkgNamespaces qualns) QualModelPlugin __init__(QualModelPlugin orig) QualModelPlugin
Each variant is described separately below.
QualModelPlugin(QualModelPlugin orig)
Copy constructor. Creates a copy of this SBase object.
QualModelPlugin(stringuri, stringprefix, QualPkgNamespaces qualns)
Constructor
def libsbml.FunctionTerm.__init__ | ( | self, | |
args | |||
) |
qual A function term.
Each FunctionTerm is associated with a result and with a Boolean function inside a Math element that can be used to set the conditions under which this term is selected.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) FunctionTerm __init__(long level, long version) FunctionTerm __init__(long level) FunctionTerm __init__() FunctionTerm __init__(QualPkgNamespaces qualns) FunctionTerm __init__(FunctionTerm orig) FunctionTerm
Each variant is described separately below.
FunctionTerm(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new FunctionTerm with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this FunctionTerm |
version | a long integer, the SBML Version to assign to this FunctionTerm |
pkgVersion | a long integer, the SBML Qual Version to assign to this FunctionTerm |
FunctionTerm(FunctionTerm orig)
Copy constructor for FunctionTerm.
orig | the FunctionTerm instance to copy. |
FunctionTerm(QualPkgNamespaces qualns)
Creates a new FunctionTerm with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.ListOfFunctionTerms.__init__ | ( | self, | |
args | |||
) |
qual A list of FunctionTerm objects.
The ListOfFunctionTerms is a container for the FunctionTerms of a Transition.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase means that software tools can add information about the lists themselves into each list container's 'annotation'.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) ListOfFunctionTerms __init__(long level, long version) ListOfFunctionTerms __init__(long level) ListOfFunctionTerms __init__() ListOfFunctionTerms __init__(QualPkgNamespaces qualns) ListOfFunctionTerms __init__(ListOfFunctionTerms orig) ListOfFunctionTerms
Each variant is described separately below.
ListOfFunctionTerms(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new ListOfFunctionTerms with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this ListOfFunctionTerms |
version | a long integer, the SBML Version to assign to this ListOfFunctionTerms |
pkgVersion | a long integer, the SBML Qual Version to assign to this ListOfFunctionTerms |
ListOfFunctionTerms(QualPkgNamespaces qualns)
Creates a new ListOfFunctionTerms with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
ListOfFunctionTerms(ListOfFunctionTerms orig)
def libsbml.DefaultTerm.__init__ | ( | self, | |
args | |||
) |
qual The default result of a Transition.
The DefaultTerm defines the default result of a Transition. This term is used if there are no other FunctionTerm elements or if none of the Math elements of the FunctionTerm elements evaluates to True
.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) DefaultTerm __init__(long level, long version) DefaultTerm __init__(long level) DefaultTerm __init__() DefaultTerm __init__(QualPkgNamespaces qualns) DefaultTerm __init__(DefaultTerm orig) DefaultTerm
Each variant is described separately below.
DefaultTerm(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new DefaultTerm with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this DefaultTerm |
version | a long integer, the SBML Version to assign to this DefaultTerm |
pkgVersion | a long integer, the SBML Qual Version to assign to this DefaultTerm |
DefaultTerm(QualPkgNamespaces qualns)
Creates a new DefaultTerm with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
DefaultTerm(DefaultTerm orig)
Copy constructor for DefaultTerm.
orig | the DefaultTerm instance to copy. |
def libsbml.Input.__init__ | ( | self, | |
args | |||
) |
qual The input to a QualitativeSpecies.
Each Input refers to a QualitativeSpecies that participates in the corresponding Transition. In Petri nets, these are the input places of the transition. In logical models, they are the regulators of the species whose behaviour is defined by the transition.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) Input __init__(long level, long version) Input __init__(long level) Input __init__() Input __init__(QualPkgNamespaces qualns) Input __init__(Input orig) Input
Each variant is described separately below.
Input(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new Input with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this Input |
version | a long integer, the SBML Version to assign to this Input |
pkgVersion | a long integer, the SBML Qual Version to assign to this Input |
Input(Input orig)
Copy constructor for Input.
orig | the Input instance to copy. |
Input(QualPkgNamespaces qualns)
Creates a new Input with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.ListOfInputs.__init__ | ( | self, | |
args | |||
) |
The ListOfInputs is a container for the Inputs of a Transition.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase means that software tools can add information about the lists themselves into each list container's 'annotation'.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) ListOfInputs __init__(long level, long version) ListOfInputs __init__(long level) ListOfInputs __init__() ListOfInputs __init__(QualPkgNamespaces qualns) ListOfInputs
Each variant is described separately below.
ListOfInputs(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new ListOfInputs with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this ListOfInputs |
version | a long integer, the SBML Version to assign to this ListOfInputs |
pkgVersion | a long integer, the SBML Qual Version to assign to this ListOfInputs |
ListOfInputs(QualPkgNamespaces qualns)
Creates a new ListOfInputs with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.Output.__init__ | ( | self, | |
args | |||
) |
qual The output from a QualitativeSpecies.
Each Output refers to a QualitativeSpecies that participates in (is affected by) the corresponding Transition. In Petri net models these are the output places of the transition.
In a logical model, a QualitativeSpecies should be referenced in at most one ListOfOutputs, (that of the Transition defining the evolution of this species). When a Transition has several outputs, it is because the referenced species share the same regulators and the same logical rules.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) Output __init__(long level, long version) Output __init__(long level) Output __init__() Output __init__(QualPkgNamespaces qualns) Output __init__(Output orig) Output
Each variant is described separately below.
Output(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new Output with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this Output |
version | a long integer, the SBML Version to assign to this Output |
pkgVersion | a long integer, the SBML Qual Version to assign to this Output |
Output(QualPkgNamespaces qualns)
Creates a new Output with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
Output(Output orig)
Copy constructor for Output.
orig | the Output instance to copy. |
def libsbml.ListOfOutputs.__init__ | ( | self, | |
args | |||
) |
qual A list of Output objects.
The ListOfOutputs is a container for the Output elements of a Transition.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase means that software tools can add information about the lists themselves into each list container's 'annotation'.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) ListOfOutputs __init__(long level, long version) ListOfOutputs __init__(long level) ListOfOutputs __init__() ListOfOutputs __init__(QualPkgNamespaces qualns) ListOfOutputs
Each variant is described separately below.
ListOfOutputs(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new ListOfOutputs with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this ListOfOutputs |
version | a long integer, the SBML Version to assign to this ListOfOutputs |
pkgVersion | a long integer, the SBML Qual Version to assign to this ListOfOutputs |
ListOfOutputs(QualPkgNamespaces qualns)
Creates a new ListOfOutputs with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.QualitativeSpecies.__init__ | ( | self, | |
args | |||
) |
Similarly to the Species in SBML, the components of qualitative models refer to pools of entities that are considered indistinguishable and are each located in a specific Compartment. However, here components are characterised by their qualitative influences rather than by taking part in reactions. Therefore, we define the QualitativeSpecies element to represent such pools of entities.
In a Petri net, qualitative species refer to the places of the model, while in a logical model, they refer to the variables of this model (i.e. nodes of the influence graph).
A QualitativeSpecies describes a pool of indistinguishable entities in a Compartment. It is associated with a level (an integer representing e.g. an activity state, or a functional level of concentration, etc.)
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) QualitativeSpecies __init__(long level, long version) QualitativeSpecies __init__(long level) QualitativeSpecies __init__() QualitativeSpecies __init__(QualPkgNamespaces qualns) QualitativeSpecies __init__(QualitativeSpecies orig) QualitativeSpecies
Each variant is described separately below.
QualitativeSpecies(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new QualitativeSpecies with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this QualitativeSpecies |
version | a long integer, the SBML Version to assign to this QualitativeSpecies |
pkgVersion | a long integer, the SBML Qual Version to assign to this QualitativeSpecies |
QualitativeSpecies(QualitativeSpecies orig)
Copy constructor for QualitativeSpecies.
orig | the QualitativeSpecies instance to copy. |
QualitativeSpecies(QualPkgNamespaces qualns)
Creates a new QualitativeSpecies with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.ListOfQualitativeSpecies.__init__ | ( | self, | |
args | |||
) |
qual A list of QualitativeSpecies objects.
The ListOfQualitativeSpecies is a container for the QualitativeSpecies elements of a Model.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase means that software tools can add information about the lists themselves into each list container's 'annotation'.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) ListOfQualitativeSpecies __init__(long level, long version) ListOfQualitativeSpecies __init__(long level) ListOfQualitativeSpecies __init__() ListOfQualitativeSpecies __init__(QualPkgNamespaces qualns) ListOfQualitativeSpecies
Each variant is described separately below.
ListOfQualitativeSpecies(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new ListOfQualitativeSpecies with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this ListOfQualitativeSpecies |
version | a long integer, the SBML Version to assign to this ListOfQualitativeSpecies |
pkgVersion | a long integer, the SBML Qual Version to assign to this ListOfQualitativeSpecies |
ListOfQualitativeSpecies(QualPkgNamespaces qualns)
Creates a new ListOfQualitativeSpecies with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.Transition.__init__ | ( | self, | |
args | |||
) |
qual A transition of a QualitativeSpecies.
A Transition element contains at most one ListOfInputs and one ListOfOutputs and exactly one ListOfFunctionTerms.
A Transition defines the changes in level associated with the QualitativeSpecies that occur when a Transition is enabled.
In logical models, a Transition is used to specify the logical rule associated with a QualitativeSpecies (that appears as an Output of this Transition). For example, the rule 'if A > 1 : B = 2' would be encapsulated as a Transition with QualitativeSpecies 'A' as an Input and 'B' as an Output; the 'if A > 1' rule being encode by the math element of a FunctionTerm with the resultLevel attribute having a value '2'.
In Petri net models, a Transition is interpreted, using the common Petri net semantics, as events that might occur within the system causing tokens to be moved.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) Transition __init__(long level, long version) Transition __init__(long level) Transition __init__() Transition __init__(QualPkgNamespaces qualns) Transition __init__(Transition orig) Transition
Each variant is described separately below.
Transition(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new Transition with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this Transition |
version | a long integer, the SBML Version to assign to this Transition |
pkgVersion | a long integer, the SBML Qual Version to assign to this Transition |
Transition(Transition orig)
Copy constructor for Transition.
orig | the Transition instance to copy. |
Transition(QualPkgNamespaces qualns)
Creates a new Transition with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.ListOfTransitions.__init__ | ( | self, | |
args | |||
) |
qual A list of Transition objects.
The ListOfTransitions is a container for the Transition elements of a Model.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase means that software tools can add information about the lists themselves into each list container's 'annotation'.
This method has multiple variants; they differ in the arguments they accept.
__init__(long level, long version, long pkgVersion) ListOfTransitions __init__(long level, long version) ListOfTransitions __init__(long level) ListOfTransitions __init__() ListOfTransitions __init__(QualPkgNamespaces qualns) ListOfTransitions
Each variant is described separately below.
ListOfTransitions(long level = QualExtension.getDefaultLevel(), long version = QualExtension.getDefaultVersion(), long pkgVersion = QualExtension.getDefaultPackageVersion())
Creates a new ListOfTransitions with the given level, version, and package version.
level | a long integer, the SBML Level to assign to this ListOfTransitions |
version | a long integer, the SBML Version to assign to this ListOfTransitions |
pkgVersion | a long integer, the SBML Qual Version to assign to this ListOfTransitions |
ListOfTransitions(QualPkgNamespaces qualns)
Creates a new ListOfTransitions with the given QualPkgNamespaces object.
qualns | the QualPkgNamespaces object |
def libsbml.QualPkgNamespaces.clone | ( | self | ) |
qual SBMLNamespaces extension for the package.
This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
SBML Level 3 “packages” add features on top of SBML Level 3 Core. When a model definition uses an SBML package, it must declare the Level and Version of SBML Core and the Version of the package being used. The package name, the SBML Level and Version, and the package Version correspond uniquely to an XML namespace added to the XML encoding of the SBML model.
LibSBML Level 3 extensions are implementations of support for SBML Level 3 packages. Each package is implemented as a separate extension. To allow software applications to query the level and version information of an extension's package implementation, libSBML uses specialized object classes. For the extension implementing the SBML “qual” package, the object class is QualPkgNamespaces. (This class is a specialization of a common base class called SBMLExtensionNamespaces
that is not exposed in the libSBML programming language interfaces other than C++.)
Objects of class QualPkgNamespaces can be passed to constructors of SBML components defined by “qual” in order to ensure that the correct component structure is created. This is necessary because different versions of an SBML Level 3 package may introduce differences in the definition of the components defined by the package. (For example, later editions of a package may introduce new attributes on a component that are not present in earlier editions of the package specification.)
Creates and returns a deep copy of this SBMLExtensionNamespaces.
clone() QualPkgNamespaces
def libsbml.QualExtension.getPackageName | ( | ) |
qual Base extension class for the package.
Returns the nickname of the SBML Level 3 package implemented by this libSBML extension.
getPackageName() string