Class WHIMDescriptor

All Implemented Interfaces:
IDescriptor, IMolecularDescriptor

public class WHIMDescriptor extends AbstractMolecularDescriptor implements IMolecularDescriptor
Holistic descriptors described by Todeschini et al [Todeschini, R. and Gramatica, P.. Persepectives in Drug Discovery and Design. 1998. null]. The descriptors are based on a number of atom weightings. There are 6 different possible weightings:
  1. unit weights
  2. atomic masses
  3. van der Waals volumes
  4. Mulliken atomic electronegativites
  5. atomic polarizabilities
  6. E-state values described by Kier & Hall
Currently weighting schemes 1,2,3,4 & 5 are implemented. The weight values are taken from [Todeschini, R. and Gramatica, P.. Persepectives in Drug Discovery and Design. 1998. null] and as a result 19 elements are considered.

For each weighting scheme we can obtain

  • 11 directional WHIM descriptors (λ1 .. 3, ν1 .. 2, γ1 .. 3, η1 .. 3)
  • 6 non-directional WHIM descriptors (T, A, V, K, G, D)

Though [Todeschini, R. and Gramatica, P.. Persepectives in Drug Discovery and Design. 1998. null] mentions that for planar molecules only 8 directional WHIM descriptors are required the current code will return all 11. The descriptor returns 17 values for a given weighting scheme, named as follows:

  1. Wlambda1
  2. Wlambda2
  3. wlambda3
  4. Wnu1
  5. Wnu2
  6. Wgamma1
  7. Wgamma2
  8. Wgamma3
  9. Weta1
  10. Weta2
  11. Weta3
  12. WT
  13. WA
  14. WV
  15. WK
  16. WG
  17. WD
Each name will have a suffix of the form .X where X indicates the weighting scheme used. Possible values of X are
  • unity
  • mass
  • volume
  • eneg
  • polar
Parameters for this descriptor:
Name Default Description
type unity Type of weighting as described above
Rajarshi Guha
Dictionary pointer(s):
WHIM in the Descriptors Dictionary [qsar-descriptors:WHIM]
Source code:
Belongs to CDK module:
WHIM, descriptor
Created on:
  • Constructor Details

    • WHIMDescriptor

      public WHIMDescriptor()
  • Method Details

    • getSpecification

      public DescriptorSpecification getSpecification()
      Description copied from interface: IDescriptor
      Returns a IImplementationSpecification which specifies which descriptor is implemented by this class. These fields are used in the map:
      • Specification-Reference: refers to an entry in a unique dictionary
      • Implementation-Title: anything
      • Implementation-Identifier: a unique identifier for this version of this class
      • Implementation-Vendor: CDK, JOELib, or anything else
      Specified by:
      getSpecification in interface IDescriptor
      An object containing the descriptor specification
    • setParameters

      public void setParameters(Object[] params) throws CDKException
      Sets the parameters attribute of the WHIMDescriptor object.
      Specified by:
      setParameters in interface IDescriptor
      params - The new parameter values. The Object array should have a single element which should be a String. The possible values of this String are: unity, mass, volume, eneg, polar
      CDKException - if the parameters are of the wrong type
      See Also:
    • getParameters

      public Object[] getParameters()
      Gets the parameters attribute of the WHIMDescriptor object.
      Specified by:
      getParameters in interface IDescriptor
      Two element array of Integer representing number of highest and lowest eigenvalues to return respectively
      See Also:
    • getDescriptorNames

      public String[] getDescriptorNames()
      Description copied from interface: IDescriptor
      Returns an array of names for each descriptor value calculated. Many descriptors return multiple values. In general it is useful for the descriptor to indicate the names for each value. In many cases, these names can be as simple as X1, X2, ..., XN where X is a prefix and 1, 2, ..., N are the indices. On the other hand it is also possible to return other arbitrary names, which should be documented in the Javadocs for the descriptor (e.g., the CPSA descriptor). Note that by default if a descriptor returns a single value (such as ALOGPDescriptor the return array will have a single element
      Specified by:
      getDescriptorNames in interface IDescriptor
      An array of descriptor names, equal in length to the number of descriptor calculated..
    • getParameterNames

      public String[] getParameterNames()
      Gets the parameterNames attribute of the WHIMDescriptor object.
      Specified by:
      getParameterNames in interface IDescriptor
      The parameterNames value
    • getParameterType

      public Object getParameterType(String name)
      Gets the parameterType attribute of the WHIMDescriptor object.
      Specified by:
      getParameterType in interface IDescriptor
      name - Description of the Parameter
      The parameterType value
    • calculate

      public DescriptorValue calculate(IAtomContainer container)
      Calculates 11 directional and 6 non-directional WHIM descriptors for. the specified weighting scheme
      Specified by:
      calculate in interface IMolecularDescriptor
      container - Parameter is the atom container.
      An ArrayList containing the descriptors in the order described above.
    • getDescriptorResultType

      public IDescriptorResult getDescriptorResultType()
      Returns the specific type of the DescriptorResult object. The return value from this method really indicates what type of result will be obtained from the DescriptorValue object. Note that the same result can be achieved by interrogating the DescriptorValue object; this method allows you to do the same thing, without actually calculating the descriptor.
      Specified by:
      getDescriptorResultType in interface IMolecularDescriptor
      an object that implements the IDescriptorResult interface indicating the actual type of values returned by the descriptor in the DescriptorValue object
    • initialise

      public void initialise(IChemObjectBuilder builder)
      Default implementation of initialise allows optional override.
      Specified by:
      initialise in interface IDescriptor
      builder - chem object build