libSBML C API  5.18.0
Core libSBML

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.

Data Structures

class  AlgebraicRule_t
  An SBML algebraic rule representing 0 = f(W). More...
 
class  AssignmentRule_t
  An SBML assignment rule representing x = f(Y). More...
 
class  ASTNode_t
  Abstract Syntax Tree (AST) representation of a mathematical expression. More...
 
class  Compartment_t
  An SBML compartment, where species are located. More...
 
class  CompartmentType_t
  A compartment type in SBML Level 2. More...
 
class  Constraint_t
  An SBML constraint, for stating validity assumptions. More...
 
class  ConversionOption_t
  A single configuration setting for an SBML converter. More...
 
class  ConversionProperties_t
  Set of configuration option values for a converter. More...
 
class  CVTerm_t
  A MIRIAM-compliant controlled vocabulary term. More...
 
class  Date_t
  A MIRIAM-compliant date representation. More...
 
class  DefinitionURLRegistry_t
  Registry of all libSBML SBML DefinitionURLs. More...
 
class  Delay_t
  A delay on the time of execution of an SBML event. More...
 
class  ElementFilter_t
  Base class for filter functions. More...
 
class  Event_t
  A discontinuous SBML event. More...
 
class  EventAssignment_t
  An assignment to a variable by an SBML event. More...
 
struct  FormulaTokenizer_t
 Tokenizes a mathematical formula string in SBML Level 1 syntax. More...
 
class  FunctionDefinition_t
  A user-defined function in an SBML model. More...
 
class  InitialAssignment_t
  An SBML initial assignment, evaluated once only. More...
 
class  KineticLaw_t
  The rate expression for an SBML reaction. More...
 
class  L3ParserSettings_t
  Controls the behavior of the Level 3 formula parser. More...
 
class  List_t
  Simple, plain, generic lists. More...
 
class  ListOf_t
  Parent class for libSBML's "ListOfXYZ" classes. More...
 
class  ListOfCompartments_t
  A list of Compartment_t objects. More...
 
class  ListOfCompartmentTypes_t
  A list of CompartmentType_t objects. More...
 
class  ListOfConstraints_t
  A list of Constraint_t objects. More...
 
class  ListOfEventAssignments_t
  A list of EventAssignment_t objects. More...
 
class  ListOfEvents_t
  A list of Event_t objects. More...
 
class  ListOfFunctionDefinitions_t
  A list of FunctionDefinition_t objects. More...
 
class  ListOfInitialAssignments_t
  A list of InitialAssignment_t objects. More...
 
class  ListOfLocalParameters_t
  A list of LocalParameter_t objects. More...
 
class  ListOfParameters_t
  A list of Parameter_t objects. More...
 
class  ListOfReactions_t
  A list of Reaction_t objects. More...
 
class  ListOfRules_t
  A list of Rule_t objects. More...
 
class  ListOfSpecies_t
  A list of Species_t objects. More...
 
class  ListOfSpeciesReferences_t
  A list of SpeciesReference_t objects. More...
 
class  ListOfSpeciesTypes_t
  A list of SpeciesType_t objects. More...
 
class  ListOfUnitDefinitions_t
  A list of UnitDefinition_t objects. More...
 
class  ListOfUnits_t
  A list of Unit_t objects. More...
 
class  LocalParameter_t
  A parameter inside an SBML reaction definition. More...
 
class  Model_t
  An SBML model. More...
 
class  ModelCreator_t
  MIRIAM-compliant data about a model's creator. More...
 
class  ModelHistory_t
  MIRIAM-compliant data about a model's history. More...
 
class  ModifierSpeciesReference_t
  A reference to an SBML modifier species. More...
 
class  Parameter_t
  An SBML parameter: a named symbol with a value. More...
 
class  Priority_t
  The priority of execution of an SBML event. More...
 
class  RateRule_t
  An SBML rate rule representing dx/dt = f(Y). More...
 
class  RDFAnnotationParser_t
  MIRIAM-compliant RDF annotation reader/writer. More...
 
class  Reaction_t
  An SBML reaction between species in an SBML model. More...
 
class  RenderLayoutConverter_t
  Converts an SBML document with Layout_t and Render information between the Level 3 package version and the Level 2 annotation version. More...
 
class  Rule_t
  Parent class for SBML rules in libSBML. More...
 
class  SBase_t
  SBML's SBase class, base class of most SBML objects. More...
 
class  SBaseExtensionPoint_t
  Base class for extending SBML components More...
 
class  SBasePlugin_t
  Base class for extending SBML objects in packages. More...
 
class  SBasePluginCreator_t
  Template for SBasePlugin_t factory objects. More...
 
class  SBasePluginCreatorBase_t
  Base class of SBasePluginCreator. More...
 
class  SBMLConstructorException_t
  Exceptions thrown by some libSBML constructors. More...
 
class  SBMLConverter_t
  Base class for SBML converters. More...
 
class  SBMLConverterRegistry_t
  Registry of all libSBML SBML converters. More...
 
class  SBMLDocument_t
  Overall SBML container object. More...
 
class  SBMLDocumentPlugin_t
  Base class for extending SBMLDocument_t in packages. More...
 
class  SBMLDocumentPluginNotRequired_t
  Base class for non-required Level 3 packages plug-ins. More...
 
class  SBMLError_t
  An error, warning or other diagnostic. More...
 
class  SBMLErrorLog_t
  Log of diagnostics reported during processing. More...
 
class  SBMLExtension_t
  Base class for SBML Level 3 package plug-ins. More...
 
class  SBMLExtensionException_t
  Exception used by package extensions More...
 
class  SBMLExtensionNamespaces_t
  Set of SBML Level + Version + namespace triples. More...
 
class  SBMLExtensionRegister_t
  Template class for extension package registration More...
 
class  SBMLExtensionRegistry_t
  Registry where package extensions are registered. More...
 
class  SBMLFunctionDefinitionConverter_t
  Converter to expand user-defined functions in-line. More...
 
class  SBMLIdConverter_t
  Converter for replacing object identifiers. More...
 
class  SBMLInferUnitsConverter_t
  Converter for inferring and setting parameter units. More...
 
class  SBMLInitialAssignmentConverter_t
  Converter that removes SBML initial assignments. More...
 
class  SBMLInternalValidator_t
  Basic SBML consistency checks and other validations. More...
 
class  SBMLLevel1Version1Converter_t
  Whole-document SBML Level/Version converter. More...
 
class  SBMLLevelVersionConverter_t
  Whole-document SBML Level/Version converter. More...
 
class  SBMLLocalParameterConverter_t
  Converter to turn local parameters into global ones. More...
 
class  SBMLNamespaces_t
  Set of SBML Level + Version + namespace triples. More...
 
class  SBMLRateOfConverter_t
  Converter to inteerchange csymbol 'rateOf' with FunctionDefinition_t. More...
 
class  SBMLReactionConverter_t
  Converter to replace reactions with SBML rate rules. More...
 
class  SBMLReader_t
  File and text-string SBML reader. More...
 
class  SBMLRuleConverter_t
  Converter that sorts SBML rules and assignments. More...
 
class  SBMLStripPackageConverter_t
  Converter that removes SBML Level 3 packages. More...
 
class  SBMLUnitsConverter_t
  Converts a model's existing units to SI units. More...
 
class  SBMLValidator_t
  Base class for SBML validators. More...
 
class  SBMLVisitor_t
  Support class for operations on SBML objects. More...
 
class  SBMLWriter_t
  File and text-string SBML writer. More...
 
class  SBO_t
  Facilities for using the Systems Biology Ontology. More...
 
class  SimpleSpeciesReference_t
  Abstract class for references to species in reactions. More...
 
class  Species_t
  An SBML species – a pool of entities. More...
 
class  SpeciesReference_t
  A reference to an SBML species in a reaction. More...
 
class  SpeciesType_t
  A species type in SBML Level 2. More...
 
class  StoichiometryMath_t
  Stochiometry expressions in SBML Level 2 reactions. More...
 
class  SyntaxChecker_t
  Methods for checking the validity of SBML identifiers. More...
 
struct  Token_t
  Structure used to store a token returned by FormulaTokenizer_nextToken(). More...
 
union  Token_t.value
 
class  Trigger_t
  The trigger expression for an SBML event. More...
 
class  Unit_t
  A single unit referenced in an SBML unit definition. More...
 
class  UnitDefinition_t
  A definition of a unit used in an SBML model. More...
 
class  Validator_t
  Entry point for SBML validation rules in libSBML. More...
 
class  VConstraint_t
  Helper class for SBML validators. More...
 
class  XMLAttributes_t
  A list of attributes on an XML element. More...
 
class  XMLConstructorException_t
  Exceptions thrown by some libSBML constructors. More...
 
class  XMLError_t
  XML-level errors, warnings and other diagnostics. More...
 
class  XMLErrorLog_t
  Log of diagnostics reported during XML processing. More...
 
class  XMLInputStream_t
  An interface to an XML input stream. More...
 
class  XMLLogOverride_t
  Facility for temporarily overriding error severities. More...
 
class  XMLNamespaces_t
  An XML Namespace. More...
 
class  XMLNode_t
  A node in libSBML's XML document tree. More...
 
class  XMLOutputStream_t
  Interface to an XML output stream. More...
 
class  XMLToken_t
  A token in an XML stream. More...
 
class  XMLTriple_t
  A qualified XML name. More...
 

Data Structure Documentation

class DefinitionURLRegistry_t
class ElementFilter_t
class ListOfConstraints_t
class ListOfUnits_t
class RenderLayoutConverter_t
class SBasePluginCreator_t
class SBasePluginCreatorBase_t
class SBMLConstructorException_t
class SBMLConverter_t
class SBMLConverterRegistry_t
class SBMLDocumentPluginNotRequired_t
class SBMLError_t
class SBMLErrorLog_t
class SBMLExtensionException_t
class SBMLExtensionRegister_t
class SBMLFunctionDefinitionConverter_t
class SBMLIdConverter_t
class SBMLInferUnitsConverter_t
class SBMLInitialAssignmentConverter_t
class SBMLInternalValidator_t
class SBMLLevel1Version1Converter_t
class SBMLLevelVersionConverter_t
class SBMLLocalParameterConverter_t
class SBMLRateOfConverter_t
class SBMLReactionConverter_t
class SBMLRuleConverter_t
class SBMLStripPackageConverter_t
class SBMLUnitsConverter_t
class SBMLValidator_t
class SBMLVisitor_t
class SBO_t
class SimpleSpeciesReference_t
struct Token_t
Data Fields
long exponent

Secondary field used when the token is a real in e-notation.

TokenType_t type

This token's type.

union Token_t value

Value of the token.

union Token_t.value
Data Fields
char ch

Member used when the token is a character.

long integer

Member used when the token is an integer.

char * name

Member used when the token is a symbol.

double real

Member used when the token is a real.

class Validator_t
class VConstraint_t
class XMLConstructorException_t
class XMLLogOverride_t