libSBML C# API  5.18.0
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  libsbmlcs.AlgebraicRule
  An SBML algebraic rule representing 0 = f(W). More...
 
class  libsbmlcs.AssignmentRule
  An SBML assignment rule representing x = f(Y). More...
 
class  libsbmlcs.ASTBasePlugin
  Base class for extensions that plug into AST classes. More...
 
class  libsbmlcs.ASTNode
  Abstract Syntax Tree (AST) representation of a mathematical expression. More...
 
class  libsbmlcs.CallbackRegistry
  More...
 
class  libsbmlcs.Compartment
  An SBML compartment, where species are located. More...
 
class  libsbmlcs.CompartmentType
  A compartment type in SBML Level 2. More...
 
class  libsbmlcs.CompPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.Constraint
  An SBML constraint, for stating validity assumptions. More...
 
class  libsbmlcs.ConversionOption
  A single configuration setting for an SBML converter. More...
 
class  libsbmlcs.ConversionProperties
  Set of configuration option values for a converter. More...
 
class  libsbmlcs.CVTerm
  A MIRIAM-compliant controlled vocabulary term. More...
 
class  libsbmlcs.Date
  A MIRIAM-compliant date representation. More...
 
class  libsbmlcs.DefinitionURLRegistry
  Registry of all libSBML SBML DefinitionURLs. More...
 
class  libsbmlcs.Delay
  A delay on the time of execution of an SBML event. More...
 
class  libsbmlcs.Event
  A discontinuous SBML event. More...
 
class  libsbmlcs.EventAssignment
  An assignment to a variable by an SBML event. More...
 
class  libsbmlcs.FbcPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.FunctionDefinition
  A user-defined function in an SBML model. More...
 
class  libsbmlcs.GroupsPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.IdentifierTransformer
  Base class for identifier transformers. More...
 
class  libsbmlcs.IdList
  Maintains a list of SIds. More...
 
class  libsbmlcs.InitialAssignment
  An SBML initial assignment, evaluated once only. More...
 
class  libsbmlcs.KineticLaw
  The rate expression for an SBML reaction. More...
 
class  libsbmlcs.L3ParserSettings
  Controls the behavior of the Level 3 formula parser. More...
 
class  libsbmlcs.LayoutPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.ListOf
  Parent class for libSBML's 'ListOfXYZ' classes. More...
 
class  libsbmlcs.ListOfCompartments
  A list of Compartment objects. More...
 
class  libsbmlcs.ListOfCompartmentTypes
  A list of CompartmentType objects. More...
 
class  libsbmlcs.ListOfConstraints
  A list of Constraint objects. More...
 
class  libsbmlcs.ListOfEventAssignments
  A list of EventAssignment objects. More...
 
class  libsbmlcs.ListOfEvents
  A list of Event objects. More...
 
class  libsbmlcs.ListOfFunctionDefinitions
  A list of FunctionDefinition objects. More...
 
class  libsbmlcs.ListOfInitialAssignments
  A list of InitialAssignment objects. More...
 
class  libsbmlcs.ListOfLocalParameters
  A list of LocalParameter objects. More...
 
class  libsbmlcs.ListOfParameters
  A list of Parameter objects. More...
 
class  libsbmlcs.ListOfReactions
  A list of Reaction objects. More...
 
class  libsbmlcs.ListOfRules
  A list of Rule objects. More...
 
class  libsbmlcs.ListOfSpecies
  A list of Species objects. More...
 
class  libsbmlcs.ListOfSpeciesReferences
  A list of SpeciesReference objects. More...
 
class  libsbmlcs.ListOfSpeciesTypes
  A list of SpeciesType objects. More...
 
class  libsbmlcs.ListOfUnitDefinitions
  A list of UnitDefinition objects. More...
 
class  libsbmlcs.ListOfUnits
  A list of Unit objects. More...
 
class  libsbmlcs.LocalParameter
  A parameter inside an SBML reaction definition. More...
 
class  libsbmlcs.Model
  An SBML model. More...
 
class  libsbmlcs.ModelCreator
  MIRIAM-compliant data about a model's creator. More...
 
class  libsbmlcs.ModelHistory
  MIRIAM-compliant data about a model's history. More...
 
class  libsbmlcs.ModifierSpeciesReference
  A reference to an SBML modifier species. More...
 
class  libsbmlcs.MultiPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.Parameter
  An SBML parameter: a named symbol with a value. More...
 
class  libsbmlcs.Priority
  The priority of execution of an SBML event. More...
 
class  libsbmlcs.QualPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.RateRule
  An SBML rate rule representing dx/dt = f(Y). More...
 
class  libsbmlcs.RDFAnnotationParser
  MIRIAM-compliant RDF annotation reader/writer. More...
 
class  libsbmlcs.Reaction
  An SBML reaction between species in an SBML model. More...
 
class  libsbmlcs.RenderPkgNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.Rule
  Parent class for SBML rules in libSBML. More...
 
class  libsbmlcs.SBase
  SBML's SBase class, base class of most SBML objects. More...
 
class  libsbmlcs.SBasePlugin
  Base class for extending SBML objects in packages. More...
 
class  libsbmlcs.SBMLConstructorException
  Exceptions thrown by some libSBML constructors. More...
 
class  libsbmlcs.SBMLConverter
  Base class for SBML converters. More...
 
class  libsbmlcs.SBMLConverterRegistry
  Registry of all libSBML SBML converters. More...
 
class  libsbmlcs.SBMLDocumentPlugin
  Base class for extending SBMLDocument in packages. More...
 
class  libsbmlcs.SBMLError
  An error, warning or other diagnostic. More...
 
class  libsbmlcs.SBMLErrorLog
  Log of diagnostics reported during processing. More...
 
class  libsbmlcs.SBMLExtension
  Base class for SBML Level 3 package plug-ins. More...
 
class  libsbmlcs.SBMLExtensionException
  Exception used by package extensions More...
 
class  libsbmlcs.SBMLExtensionRegistry
  Registry where package extensions are registered. More...
 
class  libsbmlcs.SBMLExternalValidator
  More...
 
class  libsbmlcs.SBMLFunctionDefinitionConverter
  Converter to expand user-defined functions in-line. More...
 
class  libsbmlcs.SBMLIdConverter
  Converter for replacing object identifiers. More...
 
class  libsbmlcs.SBMLInferUnitsConverter
  Converter for inferring and setting parameter units. More...
 
class  libsbmlcs.SBMLInitialAssignmentConverter
  Converter that removes SBML initial assignments. More...
 
class  libsbmlcs.SBMLLevel1Version1Converter
  Whole-document SBML Level/Version converter. More...
 
class  libsbmlcs.SBMLLevelVersionConverter
  Whole-document SBML Level/Version converter. More...
 
class  libsbmlcs.SBMLLocalParameterConverter
  Converter to turn local parameters into global ones. More...
 
class  libsbmlcs.SBMLNamespaces
  Set of SBML Level + Version + namespace triples. More...
 
class  libsbmlcs.SBMLReactionConverter
  Converter to replace reactions with SBML rate rules. More...
 
class  libsbmlcs.SBMLReader
  File and text-string SBML reader. More...
 
class  libsbmlcs.SBMLRuleConverter
  Converter that sorts SBML rules and assignments. More...
 
class  libsbmlcs.SBMLStripPackageConverter
  Converter that removes SBML Level 3 packages. More...
 
class  libsbmlcs.SBMLUnitsConverter
  Converts a model's existing units to SI units. More...
 
class  libsbmlcs.SBMLValidator
  Base class for SBML validators. More...
 
class  libsbmlcs.SBMLWriter
  File and text-string SBML writer. More...
 
class  libsbmlcs.SBO
  Facilities for using the Systems Biology Ontology. More...
 
class  libsbmlcs.SimpleSpeciesReference
  Abstract class for references to species in reactions. More...
 
class  libsbmlcs.Species
  An SBML species – a pool of entities. More...
 
class  libsbmlcs.SpeciesReference
  A reference to an SBML species in a reaction. More...
 
class  libsbmlcs.SpeciesType
  A species type in SBML Level 2. More...
 
class  libsbmlcs.StoichiometryMath
  Stochiometry expressions in SBML Level 2 reactions. More...
 
class  libsbmlcs.SyntaxChecker
  Methods for checking the validity of SBML identifiers. More...
 
class  libsbmlcs.Trigger
  The trigger expression for an SBML event. More...
 
class  libsbmlcs.Unit
  A single unit referenced in an SBML unit definition. More...
 
class  libsbmlcs.UnitDefinition
  A definition of a unit used in an SBML model. More...
 
class  libsbmlcs.XMLAttributes
  A list of attributes on an XML element. More...
 
class  libsbmlcs.XMLConstructorException
  Exceptions thrown by some libSBML constructors. More...
 
class  libsbmlcs.XMLError
  XML-level errors, warnings and other diagnostics. More...
 
class  libsbmlcs.XMLErrorLog
  Log of diagnostics reported during XML processing. More...
 
class  libsbmlcs.XMLInputStream
  An interface to an XML input stream. More...
 
class  libsbmlcs.XMLNamespaces
  An XML Namespace. More...
 
class  libsbmlcs.XMLNode
  A node in libSBML's XML document tree. More...
 
class  libsbmlcs.XMLOutputStream
  Interface to an XML output stream. More...
 
class  libsbmlcs.XMLToken
  A token in an XML stream. More...
 
class  libsbmlcs.XMLTriple
  A qualified XML name. More...
 

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.