libSBML C++ API  5.20.2
Core libSBML

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 ListOfFunctionDefinitionsFunctionDefinition
Level 2 Version 1 and higher ListOfUnitDefinitionsUnitDefinition
Level 2 Versions 2–5 ListOfCompartmentTypesCompartmentType
Level 1 and higher ListOfCompartmentsCompartment
Level 2 Versions 2–5 ListOfSpeciesTypesSpeciesType
Level 1 and higher ListOfSpeciesSpecies
Level 1 and higher ListOfParametersParameter
Level 2 Version  and higher ListOfInitialAssignmentsInitialAssignment
Level 1 and higher ListOfRulesAssignmentRule, AlgebraicRule, RateRule
Level 2 Version  and higher ListOfConstraintsConstraint
Level 1 and higher ListOfReactionsReaction
Level 2 Version 1 and higher ListOfEventsEvent

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...

Classes

class  AlgebraicRule
 
class  AssignmentRule
 
class  ASTNode
 
class  Compartment
 
class  CompartmentType
 
class  Constraint
 
class  ConversionOption
 
class  ConversionProperties
 
class  CVTerm
 
class  Date
 
class  DefinitionURLRegistry
 
class  Delay
 
class  ElementFilter
 
class  Event
 
class  EventAssignment
 
class  ExpressionAnalyser
 
struct  FormulaTokenizer_t
 
class  FunctionDefinition
 
class  InitialAssignment
 
class  KineticLaw
 
class  L3ParserSettings
 
class  List
 
class  ListOf
 
class  ListOfCompartments
 
class  ListOfCompartmentTypes
 
class  ListOfConstraints
 
class  ListOfEventAssignments
 
class  ListOfEvents
 
class  ListOfFunctionDefinitions
 
class  ListOfInitialAssignments
 
class  ListOfLocalParameters
 
class  ListOfParameters
 
class  ListOfReactions
 
class  ListOfRules
 
class  ListOfSpecies
 
class  ListOfSpeciesReferences
 
class  ListOfSpeciesTypes
 
class  ListOfUnitDefinitions
 
class  ListOfUnits
 
class  LocalParameter
 
class  Model
 
class  ModelCreator
 
class  ModelHistory
 
class  ModifierSpeciesReference
 
class  Parameter
 
class  Priority
 
class  RateRule
 
class  RDFAnnotationParser
 
class  Reaction
 
class  RenderLayoutConverter
 
class  Rule
 
class  SBase
 
class  SBaseExtensionPoint
 
class  SBasePlugin
 
class  SBasePluginCreator< SBasePluginType, SBMLExtensionType >
 
class  SBasePluginCreatorBase
 
class  SBMLConstructorException
 
class  SBMLConverter
 
class  SBMLConverterRegister< SBMLConversionType >
 
class  SBMLConverterRegistry
 
class  SBMLDocument
 
class  SBMLDocumentPlugin
 
class  SBMLDocumentPluginNotRequired
 
class  SBMLError
 
class  SBMLErrorLog
 
class  SBMLExtension
 
class  SBMLExtensionException
 
class  SBMLExtensionNamespaces< SBMLExtensionType >
 
class  SBMLExtensionRegister< SBMLExtensionType >
 
class  SBMLExtensionRegistry
 
class  SBMLFunctionDefinitionConverter
 
class  SBMLIdConverter
 
class  SBMLInferUnitsConverter
 
class  SBMLInitialAssignmentConverter
 
class  SBMLInternalValidator
 
class  SBMLLevel1Version1Converter
 
class  SBMLLevelVersionConverter
 
class  SBMLLocalParameterConverter
 
class  SBMLNamespaces
 
class  SBMLRateOfConverter
 
class  SBMLRateRuleConverter
 
class  SBMLReactionConverter
 
class  SBMLReader
 
class  SBMLRuleConverter
 
class  SBMLStripPackageConverter
 
class  SBMLUnitsConverter
 
class  SBMLValidator
 
class  SBMLVisitor
 
class  SBMLWriter
 
class  SBO
 
class  SimpleSpeciesReference
 
class  Species
 
class  SpeciesReference
 
class  SpeciesType
 
class  StoichiometryMath
 
class  SyntaxChecker
 
struct  Token_t
 
class  Trigger
 
class  Unit
 
class  UnitDefinition
 
class  Validator
 
class  VConstraint
 
class  XMLAttributes
 
class  XMLConstructorException
 
class  XMLError
 
class  XMLErrorLog
 
class  XMLInputStream
 
class  XMLLogOverride
 
class  XMLNamespaces
 
class  XMLNode
 
class  XMLOutputStream
 
class  XMLToken
 
class  XMLTriple
 

Detailed Description

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 ListOfFunctionDefinitionsFunctionDefinition
Level 2 Version 1 and higher ListOfUnitDefinitionsUnitDefinition
Level 2 Versions 2–5 ListOfCompartmentTypesCompartmentType
Level 1 and higher ListOfCompartmentsCompartment
Level 2 Versions 2–5 ListOfSpeciesTypesSpeciesType
Level 1 and higher ListOfSpeciesSpecies
Level 1 and higher ListOfParametersParameter
Level 2 Version  and higher ListOfInitialAssignmentsInitialAssignment
Level 1 and higher ListOfRulesAssignmentRule, AlgebraicRule, RateRule
Level 2 Version  and higher ListOfConstraintsConstraint
Level 1 and higher ListOfReactionsReaction
Level 2 Version 1 and higher ListOfEventsEvent

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.