Class BiGGSpeciesAnnotator

All Implemented Interfaces:
IAnnotateSBases<org.sbml.jsbml.Species>, IReportDiffs, IReportStatus

public class BiGGSpeciesAnnotator extends BiGGCVTermAnnotator<org.sbml.jsbml.Species> implements IAnnotateSBases<org.sbml.jsbml.Species>
This class provides functionality to annotate a species in an SBML model using BiGG database identifiers. It extends the BiGGCVTermAnnotator class, allowing it to manage controlled vocabulary (CV) terms associated with the species. The class handles various aspects of species annotation including setting the species' name, SBO term, and additional annotations. It also sets the chemical formula and charge for the species using FBC (Flux Balance Constraints) extensions.
  • Constructor Details

  • Method Details

    • annotate

      public void annotate(List<org.sbml.jsbml.Species> species) throws SQLException
      Delegates annotation processing for all chemical species contained in the Model. This method iterates over each species in the model and applies specific annotations.
      Specified by:
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Species>
      Throws:
      SQLException
    • annotate

      public void annotate(org.sbml.jsbml.Species species) throws SQLException
      This method annotates a species with various details fetched from the BiGG Knowledgebase. It performs the following: 1. Sets the species name based on the BiGGId. If the species does not have a name, it uses the BiGGId as the name. 2. Assigns an SBO (Systems Biology Ontology) term to the species based on the BiGGId. 3. Adds additional annotations to the species, such as database cross-references.

      The BiGGId used for these operations is either derived from the species' URI list or directly from its ID if available.

      Specified by:
      annotate in interface IAnnotateSBases<org.sbml.jsbml.Species>
      Throws:
      SQLException
    • findBiGGId

      public BiGGId findBiGGId(org.sbml.jsbml.Species species) throws SQLException
      Validates the species ID and attempts to retrieve a corresponding BiGGId based on existing annotations. This method first tries to create a BiGGId from the species ID. If the species ID does not correspond to a known BiGGId in the database, it then searches through the species' annotations to find a valid BiGGId.
      Specified by:
      findBiGGId in class BiGGCVTermAnnotator<org.sbml.jsbml.Species>
      Returns:
      An Optional containing the BiGGId if a valid one is found or created, otherwise Optional.empty()
      Throws:
      SQLException
    • setName

      public void setName(org.sbml.jsbml.Species species, BiGGId biggId) throws SQLException
      Updates the name of the species based on data retrieved from the BiGG Knowledgebase. The species name is set only if it has not been previously set or if the current name follows a default format that combines the BiGGId abbreviation and compartment code. This method relies on the availability of a valid BiGGId for the species.
      Parameters:
      biggId - The BiGGId associated with the species, used to fetch the component name from the BiGG database.
      Throws:
      SQLException