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