Class CPSADescriptor

  • All Implemented Interfaces:
    IDescriptor, IMolecularDescriptor

    public class CPSADescriptor
    extends AbstractMolecularDescriptor
    implements 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 DoubleArrayResult containing the 29 descriptors in the order described in the table.
    A Summary of the 29 CPSA Descriptors
    IDescriptorMeaning
    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
    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 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.
    Parameters for this descriptor:
    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 Detail

      • CPSADescriptor

        public CPSADescriptor()
    • Method Detail

      • 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
        Returns:
        An object containing the descriptor specification
      • 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..
      • getParameterNames

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

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

        public DescriptorValue calculate​(IAtomContainer atomContainer)
        Evaluates the 29 CPSA descriptors using Gasteiger-Marsilli charges.
        Specified by:
        calculate in interface IMolecularDescriptor
        Parameters:
        atomContainer - Parameter is the atom container.
        Returns:
        An ArrayList containing 29 elements 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
        Returns:
        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
        Parameters:
        builder - chem object build