org.openscience.cdk.qsar.descriptors.molecular
Class MDEDescriptor

java.lang.Object
  extended by org.openscience.cdk.qsar.descriptors.molecular.MDEDescriptor
All Implemented Interfaces:
IDescriptor, IMolecularDescriptor

public class MDEDescriptor
extends java.lang.Object
implements IMolecularDescriptor

Calculates the Molecular Distance Edge descriptor described in [Liu, S. and Cao, C. and Li, Z. , Approach to Estimation and Prediction for Normal Boiling Point (NBP) of Alkanes Based on a Novel Molecular Distance Edge (MDE) Vector, lambda, Journal of Chemical Information and Computer Sciences, 1998, 38:387-394]. This class evaluates the 10 MDE descriptors described by Liu et al. and in addition it calculates variants where O and N are considered (as found in the DEDGE routine from ADAPT).

* The variants are described below:

MDEC-11 molecular distance edge between all primary carbons
MDEC-12 molecular distance edge between all primary and secondary carbons
MDEC-13 molecular distance edge between all primary and tertiary carbons
MDEC-14 molecular distance edge between all primary and quaternary carbons
MDEC-22 molecular distance edge between all secondary carbons
MDEC-23 molecular distance edge between all secondary and tertiary carbons
MDEC-24 molecular distance edge between all secondary and quaternary carbons
MDEC-33 molecular distance edge between all tertiary carbons
MDEC-34 molecular distance edge between all tertiary and quaternary carbons
MDEC-44 molecular distance edge between all quaternary carbons
MDEO-11 molecular distance edge between all primary oxygens
MDEO-12 molecular distance edge between all primary and secondary oxygens
MDEO-22 molecular distance edge between all secondary oxygens
MDEN-11 molecular distance edge between all primary nitrogens
MDEN-12 molecular distance edge between all primary and secondary nitrogens
MDEN-13 molecular distance edge between all primary and tertiary niroqens
MDEN-22 molecular distance edge between all secondary nitroqens
MDEN-23 molecular distance edge between all secondary and tertiary nitrogens
MDEN-33 molecular distance edge between all tertiary nitrogens

Author:
Rajarshi Guha
Belongs to the set:
qsar-descriptors
Created on:
2006-09-18
Belongs to CDK module:
qsarmolecular
Dictionary pointer(s):
mde in the QSAR.sf.net Descriptors Dictionary [qsar-descriptors:mde]
Source code:
revision 11779

Field Summary
static int mdec11
           
static int mdec12
           
static int mdec13
           
static int mdec14
           
static int mdec22
           
static int mdec23
           
static int mdec24
           
static int mdec33
           
static int mdec34
           
static int mdec44
           
static int mden11
           
static int mden12
           
static int mden13
           
static int mden22
           
static int mden23
           
static int mden33
           
static int mdeo11
           
static int mdeo12
           
static int mdeo22
           
 
Constructor Summary
MDEDescriptor()
           
 
Method Summary
 DescriptorValue calculate(IAtomContainer container)
          Calculate the weight of specified element type in the supplied IAtomContainer.
 java.lang.String[] getDescriptorNames()
          Returns an array of names for each descriptor value calculated.
 IDescriptorResult getDescriptorResultType()
          Returns the specific type of the DescriptorResult object.
 java.lang.String[] getParameterNames()
          Gets the parameterNames attribute of the WeightDescriptor object.
 java.lang.Object[] getParameters()
          Gets the parameters attribute of the WeightDescriptor object.
 java.lang.Object getParameterType(java.lang.String name)
          Gets the parameterType attribute of the WeightDescriptor object.
 DescriptorSpecification getSpecification()
          Returns a Map which specifies which descriptor is implemented by this class.
 void setParameters(java.lang.Object[] params)
          Sets the parameters attribute of the WeightDescriptor object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mdec11

public static final int mdec11
See Also:
Constant Field Values

mdec12

public static final int mdec12
See Also:
Constant Field Values

mdec13

public static final int mdec13
See Also:
Constant Field Values

mdec14

public static final int mdec14
See Also:
Constant Field Values

mdec22

public static final int mdec22
See Also:
Constant Field Values

mdec23

public static final int mdec23
See Also:
Constant Field Values

mdec24

public static final int mdec24
See Also:
Constant Field Values

mdec33

public static final int mdec33
See Also:
Constant Field Values

mdec34

public static final int mdec34
See Also:
Constant Field Values

mdec44

public static final int mdec44
See Also:
Constant Field Values

mdeo11

public static final int mdeo11
See Also:
Constant Field Values

mdeo12

public static final int mdeo12
See Also:
Constant Field Values

mdeo22

public static final int mdeo22
See Also:
Constant Field Values

mden11

public static final int mden11
See Also:
Constant Field Values

mden12

public static final int mden12
See Also:
Constant Field Values

mden13

public static final int mden13
See Also:
Constant Field Values

mden22

public static final int mden22
See Also:
Constant Field Values

mden23

public static final int mden23
See Also:
Constant Field Values

mden33

public static final int mden33
See Also:
Constant Field Values
Constructor Detail

MDEDescriptor

public MDEDescriptor()
Method Detail

getSpecification

public DescriptorSpecification getSpecification()
Returns a Map which specifies which descriptor is implemented by this class.

These fields are used in the map:

Specified by:
getSpecification in interface IDescriptor
Returns:
An object containing the descriptor specification

setParameters

public void setParameters(java.lang.Object[] params)
                   throws CDKException
Sets the parameters attribute of the WeightDescriptor object.

Specified by:
setParameters in interface IDescriptor
Parameters:
params - The new parameters value
Throws:
CDKException - if more than 1 parameter is specified or if the parameter is not of type String
See Also:
getParameters()

getParameters

public java.lang.Object[] getParameters()
Gets the parameters attribute of the WeightDescriptor object.

Specified by:
getParameters in interface IDescriptor
Returns:
The parameters value
See Also:
setParameters(java.lang.Object[])

getDescriptorNames

@TestMethod(value="testNamesConsistency")
public java.lang.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 decsriptor (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)
Calculate the weight of specified element type in the supplied IAtomContainer.

Specified by:
calculate in interface IMolecularDescriptor
Parameters:
container - The AtomContainer for which this descriptor is to be calculated. If 'H' is specified as the element symbol make sure that the AtomContainer has hydrogens.
Returns:
The total weight of atoms of the specified element type

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 java.lang.String[] getParameterNames()
Gets the parameterNames attribute of the WeightDescriptor object.

Specified by:
getParameterNames in interface IDescriptor
Returns:
The parameterNames value

getParameterType

public java.lang.Object getParameterType(java.lang.String name)
Gets the parameterType attribute of the WeightDescriptor object.

Specified by:
getParameterType in interface IDescriptor
Parameters:
name - Description of the Parameter
Returns:
An Object whose class is that of the parameter requested