Class ChiPathDescriptor

All Implemented Interfaces:
IDescriptor, IMolecularDescriptor

public class ChiPathDescriptor extends AbstractMolecularDescriptor implements IMolecularDescriptor
Evaluates chi path descriptors. It utilizes the graph isomorphism code of the CDK to find fragments matching SMILES strings representing the fragments corresponding to each type of chain. The order of the values returned is
  1. SP-0, SP-1, ..., SP-7 - Simple path, orders 0 to 7
  2. VP-0, VP-1, ..., VP-7 - Valence path, orders 0 to 7
Note: These descriptors are calculated using graph isomorphism to identify the various fragments. As a result calculations may be slow. In addition, recent versions of Molconn-Z use simplified fragment definitions (i.e., rings without branches etc.) whereas these descriptors use the older more complex fragment definitions.
Rajarshi Guha
Dictionary pointer(s):
chiPath in the Descriptors Dictionary [qsar-descriptors:chiPath]
Source code:
Belongs to CDK module:
chi path index, descriptor
Created on:
  • Constructor Details

    • ChiPathDescriptor

      public ChiPathDescriptor()
  • Method Details

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

      public String[] getParameterNames()
      Description copied from interface: IDescriptor
      Returns the names of the parameters for this descriptor. The method returns null or a zero-length Object[] array if the descriptor does not have any parameters.
      Specified by:
      getParameterNames in interface IDescriptor
      An array of String containing the names of the parameters that this descriptor can accept.
    • getParameterType

      public Object getParameterType(String name)
      Description copied from interface: IDescriptor
      Returns a class matching that of the parameter with the given name. May only return null for when 'name' does not match any parameters returned by the getParameters() method.
      Specified by:
      getParameterType in interface IDescriptor
      name - The name of the parameter whose type is requested
      An Object of the class corresponding to the parameter with the supplied name
    • setParameters

      public void setParameters(Object[] params) throws CDKException
      Description copied from interface: IDescriptor
      Sets the parameters for this descriptor. Must be done before calling calculate as the parameters influence the calculation outcome.
      Specified by:
      setParameters in interface IDescriptor
      params - An array of Object containing the parameters for this descriptor
      CDKException - if invalid number of type of parameters are passed to it
      See Also:
    • getParameters

      public Object[] getParameters()
      Description copied from interface: IDescriptor
      Returns the current parameter values. If not parameters have been set, it must return the default parameters. The method returns null or a zero-length Object[] array if the descriptor does not have any parameters.
      Specified by:
      getParameters in interface IDescriptor
      An array of Object containing the parameter default values
      See Also:
    • 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
      An array of descriptor names, equal in length to the number of descriptor calculated..
    • calculate

      public DescriptorValue calculate(IAtomContainer container)
      Description copied from interface: IMolecularDescriptor
      Calculates the descriptor value for the given IAtomContainer.
      Specified by:
      calculate in interface IMolecularDescriptor
      container - An IAtomContainer for which this descriptor should be calculated
      An object of DescriptorValue that contain the calculated value as well as specification details
    • 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
      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
      builder - chem object build