Class CPSADescriptor
java.lang.Object
org.openscience.cdk.qsar.AbstractMolecularDescriptor
org.openscience.cdk.qsar.descriptors.molecular.CPSADescriptor
- All Implemented Interfaces:
IDescriptor
,IMolecularDescriptor
Calculates 29 Charged Partial Surface Area (CPSA) descriptors.
The CPSA's were developed by Stanton et al. ([Stanton, D.T. and Jurs, P.C.
. Analytical Chemistry. 1990. 62]) and
are related to the Polar Surface Area descriptors. The original
implementation was in the ADAPT software package and the definitions
of the individual descriptors are presented in the following table. This class
returns a
NOTE: The values calculated by this implementation will differ from those
calculated by the original ADAPT implementation of the CPSA descriptors. This
is because the original implementation used an analytical surface area algorithm
and used partial charges obtained from MOPAC using the AM1 Hamiltonian.
This implementation uses a numerical
algorithm to obtain surface areas (see
DoubleArrayResult
containing the 29 descriptors in the order
described in the table.
IDescriptor | Meaning |
---|---|
PPSA-1 | partial positive surface area -- sum of surface area on positive parts of molecule |
PPSA-2 | partial positive surface area * total positive charge on the molecule |
PPSA-3 | charge weighted partial positive surface area |
PNSA-1 | partial negative surface area -- sum of surface area on negative parts of molecule |
PNSA-2 | partial negative surface area * total negative charge on the molecule |
PNSA-3 | charge weighted partial negative surface area |
DPSA-1 | difference of PPSA-1 and PNSA-1 |
DPSA-2 | difference of FPSA-2 and PNSA-2 |
DPSA-3 | difference of PPSA-3 and PNSA-3 |
FPSA-1 | PPSA-1 / total molecular surface area |
FFSA-2 | PPSA-2 / total molecular surface area |
FPSA-3 | PPSA-3 / total molecular surface area |
FNSA-1 | PNSA-1 / total molecular surface area |
FNSA-2 | PNSA-2 / total molecular surface area |
FNSA-3 | PNSA-3 / total molecular surface area |
WPSA-1 | PPSA-1 * total molecular surface area / 1000 |
WPSA-2 | PPSA-2 * total molecular surface area /1000 |
WPSA-3 | PPSA-3 * total molecular surface area / 1000 |
WNSA-1 | PNSA-1 * total molecular surface area /1000 |
WNSA-2 | PNSA-2 * total molecular surface area / 1000 |
WNSA-3 | PNSA-3 * total molecular surface area / 1000 |
RPCG | relative positive charge -- most positive charge / total positive charge |
RNCG | relative negative charge -- most negative charge / total negative charge |
RPCS | relative positive charge surface area -- most positive surface area * RPCG |
RNCS | relative negative charge surface area -- most negative surface area * RNCG |
THSA | sum of solvent accessible surface areas of atoms with absolute value of partial charges less than 0.2 |
TPSA | sum of solvent accessible surface areas of atoms with absolute value of partial charges greater than or equal 0.2 |
RHSA | THSA / total molecular surface area |
RPSA | TPSA / total molecular surface area |
NumericalSurface
) and obtains partial
charges using the Gasteiger-Marsilli algorithm (see GasteigerMarsiliPartialCharges
).
However, a comparison of the values calculated by the two implementations indicates
that they are qualitatively the same.
Name | Default | Description |
no parameters |
- Author:
- Rajarshi Guha
- Dictionary pointer(s):
- CPSA in the QSAR.sf.net Descriptors Dictionary [qsar-descriptors:CPSA]
- Source code:
- main
- Belongs to CDK module:
- qsarmolecular
- Created on:
- 2005-05-16
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalculate
(IAtomContainer atomContainer) Evaluates the 29 CPSA descriptors using Gasteiger-Marsilli charges.String[]
Returns an array of names for each descriptor value calculated.Returns the specific type of the DescriptorResult object.String[]
Gets the parameterNames attribute of the CPSADescriptor object.Object[]
Gets the parameters attribute of the CPSADescriptor object.getParameterType
(String name) Gets the parameterType attribute of the CPSADescriptor object.Returns aIImplementationSpecification
which specifies which descriptor is implemented by this class.void
initialise
(IChemObjectBuilder builder) Default implementation of initialise allows optional override.void
setParameters
(Object[] params) Sets the parameters attribute of the CPSADescriptor object.Methods inherited from class org.openscience.cdk.qsar.AbstractMolecularDescriptor
clone
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.openscience.cdk.qsar.IDescriptor
initialise
-
Constructor Details
-
CPSADescriptor
public CPSADescriptor()
-
-
Method Details
-
getSpecification
Description copied from interface:IDescriptor
Returns aIImplementationSpecification
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 interfaceIDescriptor
- Returns:
- An object containing the descriptor specification
-
setParameters
Sets the parameters attribute of the CPSADescriptor object.- Specified by:
setParameters
in interfaceIDescriptor
- Parameters:
params
- The new parameters value- Throws:
CDKException
- Description of the Exception- See Also:
-
getParameters
Gets the parameters attribute of the CPSADescriptor object.- Specified by:
getParameters
in interfaceIDescriptor
- Returns:
- The parameters value
- See Also:
-
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 asALOGPDescriptor
the return array will have a single element- Specified by:
getDescriptorNames
in interfaceIDescriptor
- Returns:
- An array of descriptor names, equal in length to the number of descriptor calculated..
-
getParameterNames
Gets the parameterNames attribute of the CPSADescriptor object.- Specified by:
getParameterNames
in interfaceIDescriptor
- Returns:
- The parameterNames value
-
getParameterType
Gets the parameterType attribute of the CPSADescriptor object.- Specified by:
getParameterType
in interfaceIDescriptor
- Parameters:
name
- Description of the Parameter- Returns:
- The parameterType value
-
calculate
Evaluates the 29 CPSA descriptors using Gasteiger-Marsilli charges.- Specified by:
calculate
in interfaceIMolecularDescriptor
- Parameters:
atomContainer
- Parameter is the atom container.- Returns:
- An ArrayList containing 29 elements in the order described above
-
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 theDescriptorValue
object. Note that the same result can be achieved by interrogating theDescriptorValue
object; this method allows you to do the same thing, without actually calculating the descriptor.- Specified by:
getDescriptorResultType
in interfaceIMolecularDescriptor
- Returns:
- an object that implements the
IDescriptorResult
interface indicating the actual type of values returned by the descriptor in theDescriptorValue
object
-
initialise
Default implementation of initialise allows optional override.- Specified by:
initialise
in interfaceIDescriptor
- Parameters:
builder
- chem object build
-