Interface IRGroupQuery

All Superinterfaces:
Cloneable, ICDKObject, IChemObject
All Known Implementing Classes:
RGroupQuery

public interface IRGroupQuery extends IChemObject
Interface definition for Rgroup query classes. These must provide a root structure, root attachment points and Rgroup definitions.
Author:
Mark Rijnbeek
Source code:
main
Belongs to CDK module:
isomorphism
Keywords:
Rgroup, R group, R-group
  • Method Details

    • setRootStructure

      void setRootStructure(IAtomContainer rootStructure)
      Setter for the root structure of this R-Group.
      Parameters:
      rootStructure - the root structure (or scaffold) container
      See Also:
    • getRootStructure

      IAtomContainer getRootStructure()
      Getter for the root structure of this R-Group.
      Returns:
      the root structure (or scaffold) container
      See Also:
    • setRootAttachmentPoints

      void setRootAttachmentPoints(Map<IAtom,Map<Integer,IBond>> rootAttachmentPoints)
      Setter for root attachment points = bonds that connect R pseudo-atoms to the scaffold.
      Parameters:
      rootAttachmentPoints - Map with per R-group pseudo atom another map with an Integer and an IBond, the integer indicating 1st or 2nd attachment.
      See Also:
    • getRootAttachmentPoints

      Map<IAtom,Map<Integer,IBond>> getRootAttachmentPoints()
      Getter for root attachment points = bonds that connect R pseudo-atoms to the scaffold.
      Returns:
      Map with per R-group pseudo atom another map with an Integer and an IBond, the integer indicating 1st or 2nd attachment.
      See Also:
    • setRGroupDefinitions

      void setRGroupDefinitions(Map<Integer,IRGroupList> rGroupDefinitions)
      Setter for the R-group definitions (substituents).
      Parameters:
      rGroupDefinitions - map with an Integer and an RGroupList (substituent list), the Integer being the R-Group number (1..32).
      See Also:
    • getRGroupDefinitions

      Map<Integer,IRGroupList> getRGroupDefinitions()
      Getter for the R-group definitions (substituents).
      Returns:
      rGroupDefinitions Map with an Integer and an RGroupList (substituent list), the Integer being the R-Group number (1..32).
      See Also:
    • getAtomContainerCount

      int getAtomContainerCount()
      Return the total number of atom containers (count the root plus all substituents).
      Returns:
      count.
    • getSubstituents

      List<IAtomContainer> getSubstituents()
      Return all the substituent atom containers, in other words the atom containers defined in this RGroupQuery except for the root structure.
      Returns:
      list with all substituents
    • areSubstituentsDefined

      boolean areSubstituentsDefined()
      Checks validity of the RGroupQuery. Each distinct R# in the root must have a a corresponding RGroupList definition.
      In file terms: $RGP blocks must be defined for each R-group number.
      Returns:
      true when valid
    • areRootAtomsDefined

      boolean areRootAtomsDefined()
      Checks validity of RGroupQuery. Each RGroupList definition must have one or more corresponding R# atoms in the root block.
      Returns:
      true when valid
    • getAllConfigurations

      List<IAtomContainer> getAllConfigurations() throws Exception
      Produces all combinations of the root structure (scaffold) with the R-groups substituted in valid ways, using each R-group's definitions and conditions.
      Returns:
      all valid combinations of the root structure (scaffold) with the R-groups substituted.
      Throws:
      Exception