Class KierHallSmartsDescriptor

java.lang.Object
org.openscience.cdk.qsar.AbstractMolecularDescriptor
org.openscience.cdk.qsar.descriptors.molecular.KierHallSmartsDescriptor
All Implemented Interfaces:
IDescriptor, IMolecularDescriptor

public class KierHallSmartsDescriptor extends AbstractMolecularDescriptor implements IMolecularDescriptor
A fragment count descriptor that uses e-state fragments. Traditionally the e-state descriptors identify the relevant fragments and then evaluate the actual e-state value. However it has been shown in [Butina, D. . Molecules. 2004. 9] that simply using the counts of the e-state fragments can lead to QSAR models that exhibit similar performance to those built using the actual e-state indices. Atom typing and aromaticity perception should be performed prior to calling this descriptor. The atom type definitions are taken from [Hall, L.H. and Kier, L.B. . Journal of Chemical Information and Computer Science. 1995. 35]. The SMARTS definitions were obtained from RDKit. The descriptor returns an integer array result of 79 values with the following names (see here for the corresponding chemical groups).
SMARTS patterns used by the descriptor
Serial Name Pattern
0khs.sLi[LiD1]-*
1khs.ssBe[BeD2](-*)-*
2khs.ssssBe[BeD4](-*)(-*)(-*)-*
3khs.ssBH[BD2H](-*)-*
4khs.sssB[BD3](-*)(-*)-*
5khs.ssssB[BD4](-*)(-*)(-*)-*
6khs.sCH3[CD1H3]-*
7khs.dCH2[CD1H2]=*
8khs.ssCH2[CD2H2](-*)-*
9khs.tCH[CD1H]#*
10khs.dsCH[CD2H](=*)-*
11khs.aaCH[C,c;D2H](:*):*
12khs.sssCH[CD3H](-*)(-*)-*
13khs.ddC[CD2H0](=*)=*
14khs.tsC[CD2H0](#*)-*
15khs.dssC[CD3H0](=*)(-*)-*
16khs.aasC[C,c;D3H0](:*)(:*)-*
17khs.aaaC[C,c;D3H0](:*)(:*):*
18khs.ssssC[CD4H0](-*)(-*)(-*)-*
19khs.sNH3[ND1H3]-*
20khs.sNH2[ND1H2]-*
21khs.ssNH2[ND2H2](-*)-*
22khs.dNH[ND1H]=*
23khs.ssNH[ND2H](-*)-*
24khs.aaNH[N,nD2H](:*):*
25khs.tN[ND1H0]#*
26khs.sssNH[ND3H](-*)(-*)-*
27khs.dsN[ND2H0](=*)-*
28khs.aaN[N,nD2H0](:*):*
29khs.sssN[ND3H0](-*)(-*)-*
30khs.ddsN[ND3H0](~[OD1H0])(~[OD1H0])-,:*
31khs.aasN[N,nD3H0](:*)(:*)-,:*
32khs.ssssN[ND4H0](-*)(-*)(-*)-*
33khs.sOH[OD1H]-*
34khs.dO[OD1H0]=*
35khs.ssO[OD2H0](-*)-*
36khs.aaO[O,oD2H0](:*):*
37khs.sF[FD1]-*
38khs.sSiH3[SiD1H3]-*
39khs.ssSiH2[SiD2H2](-*)-*
40khs.sssSiH[SiD3H1](-*)(-*)-*
41khs.ssssSi[SiD4H0](-*)(-*)(-*)-*
42khs.sPH2[PD1H2]-*
43khs.ssPH[PD2H1](-*)-*
44khs.sssP[PD3H0](-*)(-*)-*
45khs.dsssP[PD4H0](=*)(-*)(-*)-*
46khs.sssssP[PD5H0](-*)(-*)(-*)(-*)-*
47khs.sSH[SD1H1]-*
48khs.dS[SD1H0]=*
49khs.ssS[SD2H0](-*)-*
50khs.aaS[S,sD2H0](:*):*
51khs.dssS[SD3H0](=*)(-*)-*
52khs.ddssS[SD4H0](~[OD1H0])(~[OD1H0])(-*)-*
53khs.sCl[ClD1]-*
54khs.sGeH3[GeD1H3](-*)
55khs.ssGeH2[GeD2H2](-*)-*
56khs.sssGeH[GeD3H1](-*)(-*)-*
57khs.ssssGe[GeD4H0](-*)(-*)(-*)-*
58khs.sAsH2[AsD1H2]-*
59khs.ssAsH[AsD2H1](-*)-*
60khs.sssAs[AsD3H0](-*)(-*)-*
61khs.sssdAs[AsD4H0](=*)(-*)(-*)-*
62khs.sssssAs[AsD5H0](-*)(-*)(-*)(-*)-*
63khs.sSeH[SeD1H1]-*
64khs.dSe[SeD1H0]=*
65khs.ssSe[SeD2H0](-*)-*
66khs.aaSe[SeD2H0](:*):*
67khs.dssSe[SeD3H0](=*)(-*)-*
68khs.ddssSe[SeD4H0](=*)(=*)(-*)-*
69khs.sBr[BrD1]-*
70khs.sSnH3[SnD1H3]-*
71khs.ssSnH2[SnD2H2](-*)-*
72khs.sssSnH[SnD3H1](-*)(-*)-*
73khs.ssssSn[SnD4H0](-*)(-*)(-*)-*
74khs.sI[ID1]-*
75khs.sPbH3[PbD1H3]-*
76khs.ssPbH2[PbD2H2](-*)-*
77khs.sssPbH[PbD3H1](-*)(-*)-*
78khs.ssssPb[PbD4H0](-*)(-*)(-*)-*
Author:
Rajarshi Guha
Dictionary pointer(s):
kierHallSmarts in the QSAR.sf.net Descriptors Dictionary [qsar-descriptors:kierHallSmarts]
Source code:
main
Belongs to CDK module:
qsarmolecular
  • Constructor Details

    • KierHallSmartsDescriptor

      public KierHallSmartsDescriptor()
  • Method Details

    • getSpecification

      public DescriptorSpecification getSpecification()
      Returns a Map 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
      Returns:
      An object containing the descriptor specification
    • setParameters

      public void setParameters(Object[] params) throws CDKException
      Sets the parameters attribute of the descriptor.
      Specified by:
      setParameters in interface IDescriptor
      Parameters:
      params - The new parameters value
      Throws:
      CDKException - if any parameters are specified
      See Also:
    • getParameters

      public Object[] getParameters()
      Gets the parameters attribute of the descriptor.
      Specified by:
      getParameters in interface IDescriptor
      Returns:
      The parameters value
      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
      Returns:
      An array of descriptor names, equal in length to the number of descriptor calculated..
    • calculate

      public DescriptorValue calculate(IAtomContainer container)
      This method calculates occurrences of the Kier & Hall E-state fragments.
      Specified by:
      calculate in interface IMolecularDescriptor
      Parameters:
      container - The molecule for which this descriptor is to be calculated
      Returns:
      Counts of the fragments
    • 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
      Returns:
      an object that implements the IDescriptorResult interface indicating the actual type of values returned by the descriptor in the DescriptorValue object
    • getParameterNames

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

      public Object getParameterType(String name)
      Gets the parameterType attribute of the descriptor.
      Specified by:
      getParameterType in interface IDescriptor
      Parameters:
      name - Description of the Parameter
      Returns:
      An Object whose class is that of the parameter requested
    • initialise

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