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.
Differences between core libSBML and extensions to libSBML
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.
Summary of core SBML objects implemented in libSBML
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.
SBML components and corresponding libSBML objects.
| 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.
◆ AlgebraicRule_t
◆ AssignmentRule_t
◆ ASTNode_t
◆ Compartment_t
◆ CompartmentType_t
◆ Constraint_t
◆ ConversionOption_t
◆ ConversionProperties_t
| class ConversionProperties_t |
◆ CVTerm_t
◆ Date_t
◆ DefinitionURLRegistry_t
| class DefinitionURLRegistry_t |
◆ Delay_t
◆ ElementFilter_t
◆ Event_t
◆ EventAssignment_t
◆ ExpressionAnalyser_t
| class ExpressionAnalyser_t |
◆ FormulaTokenizer_t
| Data Fields |
|
char * |
formula |
Field used to store the formula string.
|
|
unsigned int |
pos |
Field used to store the current parsing position.
|
◆ FunctionDefinition_t
| class FunctionDefinition_t |
◆ InitialAssignment_t
| class InitialAssignment_t |
◆ KineticLaw_t
◆ L3ParserSettings_t
◆ List_t
◆ ListOf_t
◆ ListOfCompartments_t
| class ListOfCompartments_t |
◆ ListOfCompartmentTypes_t
| class ListOfCompartmentTypes_t |
◆ ListOfConstraints_t
| class ListOfConstraints_t |
◆ ListOfEventAssignments_t
| class ListOfEventAssignments_t |
◆ ListOfEvents_t
◆ ListOfFunctionDefinitions_t
| class ListOfFunctionDefinitions_t |
◆ ListOfInitialAssignments_t
| class ListOfInitialAssignments_t |
◆ ListOfLocalParameters_t
| class ListOfLocalParameters_t |
◆ ListOfParameters_t
◆ ListOfReactions_t
◆ ListOfRules_t
◆ ListOfSpecies_t
◆ ListOfSpeciesReferences_t
| class ListOfSpeciesReferences_t |
◆ ListOfSpeciesTypes_t
| class ListOfSpeciesTypes_t |
◆ ListOfUnitDefinitions_t
| class ListOfUnitDefinitions_t |
◆ ListOfUnits_t
◆ LocalParameter_t
◆ Model_t
◆ ModelCreator_t
◆ ModelHistory_t
◆ ModifierSpeciesReference_t
| class ModifierSpeciesReference_t |
◆ Parameter_t
◆ Priority_t
◆ RateRule_t
◆ RDFAnnotationParser_t
| class RDFAnnotationParser_t |
◆ Reaction_t
◆ Rule_t
◆ SBase_t
◆ SBaseExtensionPoint_t
| class SBaseExtensionPoint_t |
◆ SBasePlugin_t
◆ SBasePluginCreator_t
| class SBasePluginCreator_t |
◆ SBasePluginCreatorBase_t
| class SBasePluginCreatorBase_t |
◆ SBMLConstructorException_t
| class SBMLConstructorException_t |
◆ SBMLConverter_t
◆ SBMLConverterRegistry_t
| class SBMLConverterRegistry_t |
◆ SBMLDocument_t
◆ SBMLDocumentPlugin_t
| class SBMLDocumentPlugin_t |
◆ SBMLDocumentPluginNotRequired_t
| class SBMLDocumentPluginNotRequired_t |
◆ SBMLError_t
◆ SBMLErrorLog_t
◆ SBMLExtension_t
◆ SBMLExtensionException_t
| class SBMLExtensionException_t |
◆ SBMLExtensionNamespaces_t
| class SBMLExtensionNamespaces_t |
◆ SBMLExtensionRegister_t
| class SBMLExtensionRegister_t |
◆ SBMLExtensionRegistry_t
| class SBMLExtensionRegistry_t |
◆ SBMLFunctionDefinitionConverter_t
| class SBMLFunctionDefinitionConverter_t |
◆ SBMLIdConverter_t
◆ SBMLInferUnitsConverter_t
| class SBMLInferUnitsConverter_t |
◆ SBMLInitialAssignmentConverter_t
| class SBMLInitialAssignmentConverter_t |
◆ SBMLInternalValidator_t
| class SBMLInternalValidator_t |
◆ SBMLLevel1Version1Converter_t
| class SBMLLevel1Version1Converter_t |
◆ SBMLLevelVersionConverter_t
| class SBMLLevelVersionConverter_t |
◆ SBMLLocalParameterConverter_t
| class SBMLLocalParameterConverter_t |
◆ SBMLNamespaces_t
◆ SBMLRateOfConverter_t
| class SBMLRateOfConverter_t |
◆ SBMLRateRuleConverter_t
| class SBMLRateRuleConverter_t |
◆ SBMLReactionConverter_t
| class SBMLReactionConverter_t |
◆ SBMLReader_t
◆ SBMLRuleConverter_t
| class SBMLRuleConverter_t |
◆ SBMLStripPackageConverter_t
| class SBMLStripPackageConverter_t |
◆ SBMLUnitsConverter_t
| class SBMLUnitsConverter_t |
◆ SBMLValidator_t
◆ SBMLVisitor_t
◆ SBMLWriter_t
◆ SBO_t
◆ SimpleSpeciesReference_t
| class SimpleSpeciesReference_t |
◆ Species_t
◆ SpeciesReference_t
◆ SpeciesType_t
◆ StoichiometryMath_t
| class StoichiometryMath_t |
◆ SyntaxChecker_t
◆ Trigger_t
◆ Unit_t
◆ UnitDefinition_t
◆ Validator_t
◆ VConstraint_t
◆ XMLAttributes_t
◆ XMLConstructorException_t
| class XMLConstructorException_t |
◆ XMLError_t
◆ XMLErrorLog_t
◆ XMLInputStream_t
◆ XMLLogOverride_t
◆ XMLNamespaces_t
◆ XMLNode_t
◆ XMLOutputStream_t
◆ XMLToken_t
◆ XMLTriple_t