public class XLogPDescriptor extends AbstractMolecularDescriptor implements IMolecularDescriptor
Prediction of logP based on the atom-type method called XLogP. Requires all hydrogens to be explicit.
For description of the methodology see Ref. (Wang, R., Fu, Y., and Lai, L.. Journal of Chemical Information and Computer Sciences. 1997. 37) and (Wang, R., Gao, Y., and Lai, L.. Perspectives in Drug Discovery and Design. 2000. 19). Actually one molecular factor is missing (presence of para Hs donor pair).
Name | Default | Description |
checkAromaticity | false | True is the aromaticity has to be checked |
salicylFlag | false | True is to use the salicyl acid correction factor |
changed 2005-11-03 by chhoppe
-Internal hydrogen bonds are implemented
CDK IDescriptor was validated against xlogp2.1
As mentioned in the xlogP tutorial don't use charges, always draw bonds. To some extend we can support charges
but not in every case.
CDK follows the program in following points (which is not documented in the paper):
-Atomtyp 7 is -0.137
-Atomtype 81 is -0.447
-pi system does not consider P or S
-ring system >3
-aromatic ring systems ≥6
-N atomtypes: (ring) is always (ring)c
-F 83 is not 0.375, the program uses 0.512 [2005-11-21]
-hydrophobic carbon is 1-3 relationship not 1-4 [2005-11-22]
-Atomtype C 34/35/36 perception corrected [2005-11-22]; before Atomtype perception ring perception is done -> slows run time
In question:
-Correction factor for salicylic acid (in paper, but not used by the program)
-Amid classification is not consequent (in 6 rings (R2)N-C(R)=0 is eg 46 and in !6 membered rings it is amid)
-sometimes O=C(R)-N(R)-C(R)=O is an amid ... sometimes not
-Value for internal H bonds is in paper 0.429 but for no454 it is 0.643
-pi system defintion, the neighbourhood is unclear
changed 2005-11-21 by chhoppe
-added new parameter for the salicyl acid correction factor
-Corrected P and S perception for charges
Constructor and Description |
---|
XLogPDescriptor()
Constructor for the XLogPDescriptor object.
|
Modifier and Type | Method and Description |
---|---|
DescriptorValue |
calculate(IAtomContainer atomContainer)
Calculates the xlogP for an atom container.
|
String[] |
getDescriptorNames()
Returns an array of names for each descriptor value calculated.
|
IDescriptorResult |
getDescriptorResultType()
Returns the specific type of the DescriptorResult object.
|
String[] |
getParameterNames()
Gets the parameterNames attribute of the XLogPDescriptor object.
|
Object[] |
getParameters()
Gets the parameters attribute of the XLogPDescriptor object.
|
Object |
getParameterType(String name)
Gets the parameterType attribute of the XLogPDescriptor object.
|
DescriptorSpecification |
getSpecification()
Gets the specification attribute of the XLogPDescriptor object.
|
void |
initialise(IChemObjectBuilder builder)
Default implementation of initialise allows optional override.
|
void |
setParameters(Object[] params)
Sets the parameters attribute of the XLogPDescriptor object.
|
clone
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
initialise
public XLogPDescriptor()
public DescriptorSpecification getSpecification()
getSpecification
in interface IDescriptor
public void setParameters(Object[] params) throws CDKException
setParameters
in interface IDescriptor
params
- The new parameters valueCDKException
- Description of the ExceptiongetParameters()
public Object[] getParameters()
getParameters
in interface IDescriptor
setParameters(java.lang.Object[])
public String[] getDescriptorNames()
IDescriptor
ALOGPDescriptor
the return array will have a single elementgetDescriptorNames
in interface IDescriptor
public DescriptorValue calculate(IAtomContainer atomContainer)
calculate
in interface IMolecularDescriptor
atomContainer
- AtomContainerpublic IDescriptorResult getDescriptorResultType()
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.getDescriptorResultType
in interface IMolecularDescriptor
IDescriptorResult
interface indicating
the actual type of values returned by the descriptor in the DescriptorValue
objectpublic String[] getParameterNames()
getParameterNames
in interface IDescriptor
public Object getParameterType(String name)
getParameterType
in interface IDescriptor
name
- Description of the Parameterpublic void initialise(IChemObjectBuilder builder)
initialise
in interface IDescriptor
builder
- chem object buildCopyright © 2018. All Rights Reserved.