libSBML Perl API  5.20.5
Loading...
Searching...
No Matches
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  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.