Class FunctionalGroupClassifier


  • public class FunctionalGroupClassifier
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static int getFunctionalGroupEquivalenceLevel​(int fg1, int fg2)
      Determines the similarity of two functional groups based on their location in the binary functional group similarity tree.
      java.util.TreeMap<java.lang.Integer,​java.lang.Integer> getFunctionGroupCountMap()
      Applying a predefined dictionary of logically arranged 1024 functional groups this method determines all functional groups present in the molecule, counts how often they occurr in the molecule.
      int[][] getOrganicFunctionalGroupCounts()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FunctionalGroupClassifier

        public FunctionalGroupClassifier​(StereoMolecule mol)
    • Method Detail

      • getFunctionGroupCountMap

        public java.util.TreeMap<java.lang.Integer,​java.lang.Integer> getFunctionGroupCountMap()
        Applying a predefined dictionary of logically arranged 1024 functional groups this method determines all functional groups present in the molecule, counts how often they occurr in the molecule. The first 512 function group IDs refer to metal-related functions, while the second half of the IDs refer to traditional organic functional group fragments. These fragments are logically arranged in a tree, such that functional groups, whose ID only differs in the lowest significant bits, are structurally related. Functional groups as usually perceived by the chemist are often described by multiple overlapping fragments.
        Returns:
        counts mapped to existing functional group IDs
      • getOrganicFunctionalGroupCounts

        public int[][] getOrganicFunctionalGroupCounts()
        Returns:
        int[n][2] n by ID sorted pairs of functional group ID and occurance counts
      • getFunctionalGroupEquivalenceLevel

        public static int getFunctionalGroupEquivalenceLevel​(int fg1,
                                                             int fg2)
        Determines the similarity of two functional groups based on their location in the binary functional group similarity tree. If the functional belong into the same class (e.g. carbonyl), then the number of steps upwards in the tree is determined where both groups find a common still meaningful node. If the functional groups are identical, then 0 is returned. If they belong into unrelated classes, -1 is returned.
        Returns:
        -1:unrelated; 0:equal; 1...7:higher value means lower similarity