libSBML C API
libSBML 5.8.0 C API
|
Implementation of SBML's SimpleSpeciesReference construct.
In C, a SpeciesReference_t is actually a synonym for the SimpleSpeciesReference base class.
As mentioned in the description of Reaction, every species that enters into a given reaction must appear in that reaction's lists of reactants, products and/or modifiers. In an SBML model, all species that may participate in any reaction are listed in the "listOfSpecies" element of the top-level Model object. Lists of products, reactants and modifiers in Reaction objects do not introduce new species, but rather, they refer back to those listed in the model's top-level "listOfSpecies". For reactants and products, the connection is made using SpeciesReference objects; for modifiers, it is made using ModifierSpeciesReference objects. SimpleSpeciesReference is an abstract type that serves as the parent class of both SpeciesReference and ModifierSpeciesReference. It is used simply to hold the attributes and elements that are common to the latter two structures.
The SimpleSpeciesReference structure has a mandatory attribute, "species", which must be a text string conforming to the identifer syntax permitted in SBML. This attribute is inherited by the SpeciesReference and ModifierSpeciesReference subclasses derived from SimpleSpeciesReference. The value of the "species" attribute must be the identifier of a species defined in the enclosing Model. The species is thereby declared as participating in the reaction being defined. The precise role of that species as a reactant, product, or modifier in the reaction is determined by the subclass of SimpleSpeciesReference (i.e., either SpeciesReference or ModifierSpeciesReference) in which the identifier appears.
SimpleSpeciesReference also contains an optional attribute, "id", allowing instances to be referenced from other structures. No SBML structures currently do this; however, such structures are anticipated in future SBML Levels.