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.
|
cloneclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitialisepublic XLogPDescriptor()
public DescriptorSpecification getSpecification()
getSpecification in interface IDescriptorpublic void setParameters(Object[] params) throws CDKException
setParameters in interface IDescriptorparams - The new parameters valueCDKException - Description of the ExceptiongetParameters()public Object[] getParameters()
getParameters in interface IDescriptorsetParameters(java.lang.Object[])public String[] getDescriptorNames()
IDescriptorALOGPDescriptor
the return array will have a single elementgetDescriptorNames in interface IDescriptorpublic DescriptorValue calculate(IAtomContainer atomContainer)
calculate in interface IMolecularDescriptoratomContainer - 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 IMolecularDescriptorIDescriptorResult interface indicating
the actual type of values returned by the descriptor in the DescriptorValue objectpublic String[] getParameterNames()
getParameterNames in interface IDescriptorpublic Object getParameterType(String name)
getParameterType in interface IDescriptorname - Description of the Parameterpublic void initialise(IChemObjectBuilder builder)
initialise in interface IDescriptorbuilder - chem object buildCopyright © 2022. All rights reserved.