libSBML C++ API
5.20.2
|
SBML Level 3 introduced a modular architecture, in which SBML Level 3 Core is usable in its own right (much like SBML Levels 1 and 2 before it), and optional SBML Level 3 Packages add features to this Core. To support this architecture, libSBML is itself divided into a core libSBML and optional extensions.
Core libSBML corresponds to the features of SBML Levels 1 to 3 Core; they are always available, and require applications to understand only the SBML core specifications. The classes listed on the rest of this page constitute libSBML's implementation of SBML Levels 1–3, without any SBML Level 3 packages.
By contrast, the libSBML extensions are plug-ins that each implement support for a given SBML Level 3 package. Separate pages of this API manual describe the libSBML extensions for those SBML Level 3 packages that are supported at this time. They are grouped under the section titled Level 3 Extensions. The stable releases of libSBML only include extensions for officially-released package specifications; additional, experimental extensions may be available for other Level 3 packages that may not yet have been finalized by the SBML community. You can find copies of these experimental extensions at the download site for libSBML on SourceForge.net.
Each type of component in a plain SBML model (i.e., one that does not use any SBML packages) is described using a specific type of SBML data object that organizes the relevant information. The top level of an SBML model definition consists of lists of these components, with every list being optional. The next table enumerates the lists and objects defined by core SBML; also shown are the SBML Level+Version combinations for which they are valid.
Level & Version | LibSBML container object | LibSBML data object(s) |
---|---|---|
Level 2 Version 1 and higher | ListOfFunctionDefinitions | FunctionDefinition |
Level 2 Version 1 and higher | ListOfUnitDefinitions | UnitDefinition |
Level 2 Versions 2–5 | ListOfCompartmentTypes | CompartmentType |
Level 1 and higher | ListOfCompartments | Compartment |
Level 2 Versions 2–5 | ListOfSpeciesTypes | SpeciesType |
Level 1 and higher | ListOfSpecies | Species |
Level 1 and higher | ListOfParameters | Parameter |
Level 2 Version and higher | ListOfInitialAssignments | InitialAssignment |
Level 1 and higher | ListOfRules | AssignmentRule, AlgebraicRule, RateRule |
Level 2 Version and higher | ListOfConstraints | Constraint |
Level 1 and higher | ListOfReactions | Reaction |
Level 2 Version 1 and higher | ListOfEvents | Event |
The list of classes below constitutes the public API of core libSBML. The list includes classes that are not defined in any SBML specification; these utility classes are provided by libSBML to implement various kinds of functionality useful in the context of working with SBML content. More...
SBML Level 3 introduced a modular architecture, in which SBML Level 3 Core is usable in its own right (much like SBML Levels 1 and 2 before it), and optional SBML Level 3 Packages add features to this Core. To support this architecture, libSBML is itself divided into a core libSBML and optional extensions.
Core libSBML corresponds to the features of SBML Levels 1 to 3 Core; they are always available, and require applications to understand only the SBML core specifications. The classes listed on the rest of this page constitute libSBML's implementation of SBML Levels 1–3, without any SBML Level 3 packages.
By contrast, the libSBML extensions are plug-ins that each implement support for a given SBML Level 3 package. Separate pages of this API manual describe the libSBML extensions for those SBML Level 3 packages that are supported at this time. They are grouped under the section titled Level 3 Extensions. The stable releases of libSBML only include extensions for officially-released package specifications; additional, experimental extensions may be available for other Level 3 packages that may not yet have been finalized by the SBML community. You can find copies of these experimental extensions at the download site for libSBML on SourceForge.net.
Each type of component in a plain SBML model (i.e., one that does not use any SBML packages) is described using a specific type of SBML data object that organizes the relevant information. The top level of an SBML model definition consists of lists of these components, with every list being optional. The next table enumerates the lists and objects defined by core SBML; also shown are the SBML Level+Version combinations for which they are valid.
Level & Version | LibSBML container object | LibSBML data object(s) |
---|---|---|
Level 2 Version 1 and higher | ListOfFunctionDefinitions | FunctionDefinition |
Level 2 Version 1 and higher | ListOfUnitDefinitions | UnitDefinition |
Level 2 Versions 2–5 | ListOfCompartmentTypes | CompartmentType |
Level 1 and higher | ListOfCompartments | Compartment |
Level 2 Versions 2–5 | ListOfSpeciesTypes | SpeciesType |
Level 1 and higher | ListOfSpecies | Species |
Level 1 and higher | ListOfParameters | Parameter |
Level 2 Version and higher | ListOfInitialAssignments | InitialAssignment |
Level 1 and higher | ListOfRules | AssignmentRule, AlgebraicRule, RateRule |
Level 2 Version and higher | ListOfConstraints | Constraint |
Level 1 and higher | ListOfReactions | Reaction |
Level 2 Version 1 and higher | ListOfEvents | Event |
The list of classes below constitutes the public API of core libSBML. The list includes classes that are not defined in any SBML specification; these utility classes are provided by libSBML to implement various kinds of functionality useful in the context of working with SBML content.