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

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

@TestClass(value="org.openscience.cdk.qsar.descriptors.molecular.TPSADescriptorTest")
public class TPSADescriptor
extends Object
implements IMolecularDescriptor

Calculation of topological polar surface area based on fragment contributions (TPSA) [Ertl, P. and Rohde, B. and Selzer, P., Fast Calculation of Molecular Polar Surface Area as a Sum of Fragment-Based Contributions and Its Application to the Prediction of Drug Transport Properties, J. Med. Chem., 2000, 43:3714-3717].

This descriptor uses these parameters:

Name Default Description
checkAromaticity false If true, it will check aromaticity

This descriptor works properly with AtomContainers whose atoms contain either explicit hydrogens or implicit hydrogens.

Returns a single value named TopoPSA

Author:
mfe4, ulif
Belongs to the set:
qsar-descriptors
Keywords:
TPSA, total polar surface area, descriptor
Created on:
2004-11-03
Belongs to CDK module:
qsarmolecular
Dictionary pointer(s):
tpsa in the QSAR.sf.net Descriptors Dictionary [qsar-descriptors:tpsa]
Source code:
cdk-1.4.x

Constructor Summary
TPSADescriptor()
          Constructor for the TPSADescriptor object.
 
Method Summary
 DescriptorValue calculate(IAtomContainer atomContainer)
          Calculates the TPSA for an atom container.
 String[] getDescriptorNames()
          Returns an array of names for each descriptor value calculated.
 IDescriptorResult getDescriptorResultType()
          Returns the specific type of the DescriptorResult object.
 String[] getParameterNames()
          Gets the parameterNames attribute of the TPSADescriptor object.
 Object[] getParameters()
          Gets the parameters attribute of the TPSADescriptor object.
 Object getParameterType(String name)
          Gets the parameterType attribute of the TPSADescriptor object.
 DescriptorSpecification getSpecification()
          Gets the specification attribute of the TPSADescriptor object.
 void setParameters(Object[] params)
          Sets the parameters attribute of the TPSADescriptor object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TPSADescriptor

public TPSADescriptor()
Constructor for the TPSADescriptor object.

Method Detail

getSpecification

@TestMethod(value="testGetSpecification")
public DescriptorSpecification getSpecification()
Gets the specification attribute of the TPSADescriptor object.

Specified by:
getSpecification in interface IDescriptor
Returns:
The specification value

setParameters

@TestMethod(value="testSetParameters_arrayObject")
public void setParameters(Object[] params)
                   throws CDKException
Sets the parameters attribute of the TPSADescriptor object.

The descriptor takes a Boolean parameter to indicate whether the descriptor routine should check for aromaticity (TRUE) or not (FALSE).

Specified by:
setParameters in interface IDescriptor
Parameters:
params - The parameter value (TRUE or FALSE)
Throws:
CDKException - if the supplied parameter is not of type Boolean
See Also:
getParameters()

getParameters

@TestMethod(value="testGetParameters")
public Object[] getParameters()
Gets the parameters attribute of the TPSADescriptor object.

Specified by:
getParameters in interface IDescriptor
Returns:
The parameter value. For this descriptor it returns a Boolean indicating whether aromaticity was to be checked or not
See Also:
setParameters(java.lang.Object[])

getDescriptorNames

@TestMethod(value="testNamesConsistency")
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 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

@TestMethod(value="testCalculate_IAtomContainer")
public DescriptorValue calculate(IAtomContainer atomContainer)
Calculates the TPSA for an atom container.

Before calling this method, you may want to set the parameter indicating that aromaticity should be checked. If no parameter is specified (or if it is set to FALSE) then it is assumed that aromaticaity has already been checked.

Prior to calling this method it is necessary to either add implicit or explicit hydrogens using CDKHydrogenAdder.addImplicitHydrogens(IAtomContainer) or AtomContainerManipulator.convertImplicitToExplicitHydrogens(IAtomContainer).

Specified by:
calculate in interface IMolecularDescriptor
Parameters:
atomContainer - The AtomContainer whose TPSA is to be calculated
Returns:
A double containing the topological surface area

getDescriptorResultType

@TestMethod(value="testGetDescriptorResultType")
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

@TestMethod(value="testGetParameterNames")
public String[] getParameterNames()
Gets the parameterNames attribute of the TPSADescriptor object.

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

getParameterType

@TestMethod(value="testGetParameterType_String")
public Object getParameterType(String name)
Gets the parameterType attribute of the TPSADescriptor object.

Specified by:
getParameterType in interface IDescriptor
Parameters:
name - Description of the Parameter
Returns:
The parameterType value