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

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

public class LargestChainDescriptor
extends java.lang.Object
implements IMolecularDescriptor

Class that returns the number of atoms in the largest chain.

This descriptor uses these parameters:

Name Default Description
checkAromaticity false True is the aromaticity has to be checked
checkRingSystem false True is the CDKConstant.ISINRING has to be set

Returns a single value named nAtomLAC

Author:
chhoppe from EUROSCREEN
Belongs to the set:
qsar-descriptors
Created on:
2006-1-03
Belongs to CDK module:
qsarmolecular
Dictionary pointer(s):
largestChain in the QSAR.sf.net Descriptors Dictionary [qsar-descriptors:largestChain]
Source code:
revision 12456

Constructor Summary
LargestChainDescriptor()
          Constructor for the LargestChain object.
 
Method Summary
 void breadthFirstSearch(IAtomContainer container, java.util.List<IAtom> sphere, java.util.List<IAtom> path)
          Performs a breadthFirstSearch in an AtomContainer starting with a particular sphere, which usually consists of one start atom, and searches for a pi system.
 DescriptorValue calculate(IAtomContainer container)
          Calculate the count of atoms of the largest chain 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 LargestPiSystemDescriptor object.
 java.lang.Object[] getParameters()
          Gets the parameters attribute of the LargestChainDescriptor object.
 java.lang.Object getParameterType(java.lang.String name)
          Gets the parameterType attribute of the LargestChainDescriptor 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 LargestChain object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LargestChainDescriptor

public LargestChainDescriptor()
Constructor for the LargestChain object.

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 LargestChain object.

This descriptor takes one parameter, which should be Boolean to indicate whether aromaticity has been checked (TRUE) or not (FALSE).

Specified by:
setParameters in interface IDescriptor
Parameters:
params - The new parameters value
Throws:
CDKException - if more than one parameter or a non-Boolean parameter is specified
See Also:
getParameters()

getParameters

public java.lang.Object[] getParameters()
Gets the parameters attribute of the LargestChainDescriptor 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 count of atoms of the largest chain in the supplied IAtomContainer.

The method require two parameters:

  1. if checkAromaticity is true, the method check the aromaticity,
  2. if false, means that the aromaticity has already been checked

Same for checkRingSystem, if true the CDKConstant.ISINRING will be set

Specified by:
calculate in interface IMolecularDescriptor
Parameters:
container - The AtomContainer for which this descriptor is to be calculated
Returns:
the number of atoms in the largest chain of this AtomContainer
See Also:
setParameters(java.lang.Object[])

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

breadthFirstSearch

public void breadthFirstSearch(IAtomContainer container,
                               java.util.List<IAtom> sphere,
                               java.util.List<IAtom> path)
                        throws CDKException
Performs a breadthFirstSearch in an AtomContainer starting with a particular sphere, which usually consists of one start atom, and searches for a pi system.

Parameters:
container - The AtomContainer to be searched
sphere - A sphere of atoms to start the search with
path - A ArrayList which stores the atoms belonging to the pi system
Throws:
CDKException - Description of the Exception

getParameterNames

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

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