Interface IReaction

All Superinterfaces:
Cloneable, ICDKObject, IChemObject
All Known Implementing Classes:
DebugReaction, Reaction, Reaction

public interface IReaction extends IChemObject
Represents the idea of a chemical reaction. The reaction consists of a set of reactants and a set of products.

The class mostly represents abstract reactions, such as 2D diagrams, and is not intended to represent reaction trajectories. Such can better be represented with a ChemSequence.

Author:
Egon Willighagen <elw38@cam.ac.uk>
Source code:
main
Belongs to CDK module:
interfaces
Keywords:
reaction
Created on:
2003-02-13
  • Method Details

    • getReactantCount

      int getReactantCount()
      Returns the number of reactants in this reaction.
      Returns:
      The number of reactants in this reaction
    • getProductCount

      int getProductCount()
      Returns the number of products in this reaction.
      Returns:
      The number of products in this reaction
    • getReactants

      IAtomContainerSet getReactants()
      Returns a IAtomContaineSet containing the reactants in this reaction.
      Returns:
      A IAtomContaineSet containing the reactants in this reaction
      See Also:
    • setReactants

      void setReactants(IAtomContainerSet reactants)
      Assigns a IAtomContaineSet to the reactants in this reaction.
      Parameters:
      reactants - The new set of reactants
      See Also:
    • getProducts

      IAtomContainerSet getProducts()
      Returns a IAtomContaineSet containing the products of this reaction.
      Returns:
      A IAtomContaineSet containing the products in this reaction
      See Also:
    • setProducts

      void setProducts(IAtomContainerSet products)
      Assigns a IAtomContaineSet to the products of this reaction.
      Parameters:
      products - The new set of products
      See Also:
    • getAgents

      IAtomContainerSet getAgents()
      Returns a IAtomContaineSet containing the agents in this reaction.
      Returns:
      A IAtomContaineSet containing the agents in this reaction
      See Also:
    • mappings

      Iterable<IMapping> mappings()
      Returns the mappings between the reactant and the product side.
      Returns:
      An Iterable to the Mappings.
      See Also:
    • addReactant

      void addReactant(IAtomContainer reactant)
      Adds a reactant to this reaction.
      Parameters:
      reactant - Molecule added as reactant to this reaction
      See Also:
    • addAgent

      void addAgent(IAtomContainer agent)
      Adds an agent to this reaction.
      Parameters:
      agent - Molecule added as agent to this reaction
      See Also:
    • addReactant

      void addReactant(IAtomContainer reactant, Double coefficient)
      Adds a reactant to this reaction with a stoichiometry coefficient.
      Parameters:
      reactant - Molecule added as reactant to this reaction
      coefficient - Stoichiometry coefficient for this molecule
      See Also:
    • addProduct

      void addProduct(IAtomContainer product)
      Adds a product to this reaction.
      Parameters:
      product - Molecule added as product to this reaction
      See Also:
    • addProduct

      void addProduct(IAtomContainer product, Double coefficient)
      Adds a product to this reaction.
      Parameters:
      product - Molecule added as product to this reaction
      coefficient - Stoichiometry coefficient for this molecule
      See Also:
    • getReactantCoefficient

      Double getReactantCoefficient(IAtomContainer reactant)
      Returns the stoichiometry coefficient of the given reactant.
      Parameters:
      reactant - Reactant for which the coefficient is returned.
      Returns:
      -1, if the given molecule is not a product in this Reaction
      See Also:
    • getProductCoefficient

      Double getProductCoefficient(IAtomContainer product)
      Returns the stoichiometry coefficient of the given product.
      Parameters:
      product - Product for which the coefficient is returned.
      Returns:
      -1, if the given molecule is not a product in this Reaction
      See Also:
    • setReactantCoefficient

      boolean setReactantCoefficient(IAtomContainer reactant, Double coefficient)
      Sets the coefficient of a a reactant to a given value.
      Parameters:
      reactant - Reactant for which the coefficient is set
      coefficient - The new coefficient for the given reactant
      Returns:
      true if Molecule has been found and stoichiometry has been set.
      See Also:
    • setProductCoefficient

      boolean setProductCoefficient(IAtomContainer product, Double coefficient)
      Sets the coefficient of a a product to a given value.
      Parameters:
      product - Product for which the coefficient is set
      coefficient - The new coefficient for the given product
      Returns:
      true if Molecule has been found and stoichiometry has been set.
      See Also:
    • getReactantCoefficients

      Double[] getReactantCoefficients()
      Returns an array of double with the stoichiometric coefficients of the reactants.
      Returns:
      An array of double's containing the coefficients of the reactants
      See Also:
    • getProductCoefficients

      Double[] getProductCoefficients()
      Returns an array of double with the stoichiometric coefficients of the products.
      Returns:
      An array of double's containing the coefficients of the products
      See Also:
    • setReactantCoefficients

      boolean setReactantCoefficients(Double[] coefficients)
      Sets the coefficients of the reactants.
      Parameters:
      coefficients - An array of double's containing the coefficients of the reactants
      Returns:
      true if coefficients have been set.
      See Also:
    • setProductCoefficients

      boolean setProductCoefficients(Double[] coefficients)
      Sets the coefficient of the products.
      Parameters:
      coefficients - An array of double's containing the coefficients of the products
      Returns:
      true if coefficients have been set.
      See Also:
    • setDirection

      void setDirection(IReaction.Direction direction)
      Sets the direction of the reaction.
      Parameters:
      direction - The new reaction direction
      See Also:
    • getDirection

      IReaction.Direction getDirection()
      Returns the IReaction.Direction of the reaction.
      Returns:
      The direction of this reaction (FORWARD, BACKWARD or BIDIRECTIONAL).
      See Also:
    • addMapping

      void addMapping(IMapping mapping)
      Adds a mapping between the reactant and product side to this Reaction.
      Parameters:
      mapping - Mapping to add.
      See Also:
    • removeMapping

      void removeMapping(int pos)
      Removes a mapping between the reactant and product side to this Reaction.
      Parameters:
      pos - Position of the Mapping to remove.
      See Also:
    • getMapping

      IMapping getMapping(int pos)
      Retrieves a mapping between the reactant and product side to this Reaction.
      Parameters:
      pos - Position of Mapping to get.
      Returns:
      the mapping identified by the specified position
    • getMappingCount

      int getMappingCount()
      Get the number of mappings between the reactant and product side to this Reaction.
      Returns:
      Number of stored Mappings.