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 Detail

      • 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()
      • 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()
      • 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:
        setRootAttachmentPoints(Map)
      • 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()
      • 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