Class FMFDescriptor
- java.lang.Object
-
- org.openscience.cdk.qsar.AbstractMolecularDescriptor
-
- org.openscience.cdk.qsar.descriptors.molecular.FMFDescriptor
-
- All Implemented Interfaces:
IDescriptor
,IMolecularDescriptor
public class FMFDescriptor extends AbstractMolecularDescriptor implements IMolecularDescriptor
An implementation of the FMF descriptor characterizing complexity of a molecule. The descriptor is described in [Yang, Y. et. al.. J. Med. Chem.. 2010. ASAP] and is an approach to characterizing molecular complexity based on the Murcko framework present in the molecule. The descriptor is the ratio of heavy atoms in the framework to the total number of heavy atoms in the molecule. By definition, acyclic molecules which have no frameworks, will have a value of 0. Note that the authors consider an isolated ring system to be a framework (even though there is no linker). This descriptor returns a single double value, labeled as "FMF"- Author:
- Rajarshi Guha
- See Also:
MurckoFragmenter
- Dictionary pointer(s):
- FMF in the QSAR.sf.net Descriptors Dictionary [qsar-descriptors:FMF]
- Source code:
- main
- Belongs to CDK module:
- qsarmolecular
-
-
Constructor Summary
Constructors Constructor Description FMFDescriptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DescriptorValue
calculate(IAtomContainer container)
Calculates the FMF descriptor value for the givenIAtomContainer
.String[]
getDescriptorNames()
Returns an array of names for each descriptor value calculated.IDescriptorResult
getDescriptorResultType()
Returns the specific type of the FMF descriptor value.String[]
getParameterNames()
Returns the names of the parameters for this descriptor.Object[]
getParameters()
Returns the current parameter values.Object
getParameterType(String name)
Returns a class matching that of the parameter with the given name.DescriptorSpecification
getSpecification()
Returns aMap
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 for this descriptor.-
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
-
-
-
-
Method Detail
-
calculate
public DescriptorValue calculate(IAtomContainer container)
Calculates the FMF descriptor value for the givenIAtomContainer
.- Specified by:
calculate
in interfaceIMolecularDescriptor
- Parameters:
container
- AnIAtomContainer
for which this descriptor should be calculated- Returns:
- An object of
DescriptorValue
that contains the calculated FMF descriptor value as well as specification details
-
getDescriptorResultType
public IDescriptorResult getDescriptorResultType()
Returns the specific type of the FMF descriptor value. The FMF descriptor is a single, double value. 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.Additionally, the length indicated by the result type must match the actual length of a descriptor calculated with the current parameters. Typically, the length of array result types vary with the values of the parameters. See
IDescriptor
for more details.- Specified by:
getDescriptorResultType
in interfaceIMolecularDescriptor
- Returns:
- an instance of the
DoubleResultType
-
getSpecification
public DescriptorSpecification getSpecification()
Returns aMap
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
-
getParameterNames
public String[] getParameterNames()
Returns the names of the parameters for this descriptor. Since this descriptor takes no parameters, null is returned- Specified by:
getParameterNames
in interfaceIDescriptor
- Returns:
- null, since there are no parameters
-
getParameterType
public Object getParameterType(String name)
Returns a class matching that of the parameter with the given name. Since this descriptor has no parameters, null is always returned- Specified by:
getParameterType
in interfaceIDescriptor
- Parameters:
name
- The name of the parameter whose type is requested- Returns:
- null, since this descriptor has no parameters
-
setParameters
public void setParameters(Object[] params) throws CDKException
Sets the parameters for this descriptor. This method does nothing, since the descriptor has no parameters- Specified by:
setParameters
in interfaceIDescriptor
- Parameters:
params
- An array of Object containing the parameters for this descriptor- Throws:
CDKException
- if invalid number of type of parameters are passed to it- See Also:
getParameters()
-
getParameters
public Object[] getParameters()
Returns the current parameter values. null is returned since the descriptor has no parameters- Specified by:
getParameters
in interfaceIDescriptor
- Returns:
- null, since there are no parameters
- See Also:
setParameters(java.lang.Object[])
-
getDescriptorNames
public String[] getDescriptorNames()
Returns an array of names for each descriptor value calculated. Since this descriptor returns a single value, the array has a single element, viz., "FMF"- Specified by:
getDescriptorNames
in interfaceIDescriptor
- Returns:
- A 1-element string array, with the value "FMF"
-
initialise
public void initialise(IChemObjectBuilder builder)
Default implementation of initialise allows optional override.- Specified by:
initialise
in interfaceIDescriptor
- Parameters:
builder
- chem object build
-
-