The following program shows that the TPSA of the molecule with SMILES "CCCN" changes when you calculate the value of the autoCorrelationPolarizability descriptor. I note that there is no problem if you add explicit hydrogens. However, TPSA should be independent of explicit hydrogens (according to the JavaDoc for CDK1.0.2). Is there any explanation for this?
from cinfony.cdk import *
mol = readstring("smi", "CCCN")
tpsa = mol.calcdesc(['tpsa'])['tpsa']
print tpsa
pol = mol.calcdesc(['autoCorrelationPolarizability'])
tpsa = mol.calcdesc(['tpsa'])['tpsa']
print tpsa
Regards,
Noel
Logged In: YES
user_id=850620
Originator: YES
To find out the interdependencies I've used the following code (note: doesn't check the 3D descriptors...I think 2D is a good place to start :-):
from cinfony.cdk import *
Get the correct values of each descriptor
correctans = {}
for descriptor in descriptors:
mol = readstring("smi", "CCCN")
res = sorted(list(mol.calcdesc([descriptor]).iteritems()))
correctans[descriptor] = res
For each descriptor, calculate all other descriptors one-by-one and
see whether it's value has changed
newans = {}
for descriptor in descriptors:
print "Investigating", descriptor
otherdescs = descriptors[:]
otherdescs.remove(descriptor)
for testdesc in otherdescs:
mol = readstring("smi", "CCCN")
mol.calcdesc([testdesc])
testans = sorted(list(mol.calcdesc([descriptor]).iteritems()))
if correctans[descriptor] != testans:
print testdesc + " affects " + descriptor, "(the evidence follows...)"
if descriptor!="CPSA" or testdesc=="hBondacceptors":
print "Before", correctans[descriptor]
print "After ", testans
The result is:
Investigating hBondacceptors
Investigating weight
autoCorrelationPolarizability affects weight (the evidence follows...)
Before [(u'weight', 59.07349936)]
After [(u'weight', 50.003073999999998)]
Investigating ip
Investigating CPSA
hBondacceptors affects CPSA (the evidence follows...)
Before [(u'CPSA.0', 1.#QNAN), (u'CPSA.1', 1.#QNAN), (u'CPSA.10', 1.#QNAN), (u'CPSA.11', 1.#QNAN), (u'CPSA.12', 1.#QNAN), (u'CPSA.13', 1.#QNAN), (u'CPSA.14', 1.#QNAN), (u'CPSA.15', 1.#QNAN), (u'CPSA.16', 1.#QNAN), (u'CPSA.17', 1.#QNAN), (u'CPSA.18', 1.#QNAN), (u'CPSA.19', 1.#QNAN), (u'CPSA.2', 1.#QNAN), (u'CPSA.20', 1.#QNAN), (u'CPSA.21', 1.#QNAN), (u'CPSA.22', 1.#QNAN), (u'CPSA.23', 1.#QNAN), (u'CPSA.24', 1.#QNAN), (u'CPSA.25', 1.#QNAN), (u'CPSA.26', 1.#QNAN), (u'CPSA.27', 1.#QNAN), (u'CPSA.28', 1.#QNAN), (u'CPSA.3', 1.#QNAN), (u'CPSA.4', 1.#QNAN), (u'CPSA.5', 1.#QNAN), (u'CPSA.6', 1.#QNAN), (u'CPSA.7', 1.#QNAN), (u'CPSA.8', 1.#QNAN), (u'CPSA.9', 1.#QNAN)]
After [(u'CPSA.0', 1.#QNAN), (u'CPSA.1', 1.#QNAN), (u'CPSA.10', 1.#QNAN), (u'CPSA.11', 1.#QNAN), (u'CPSA.12', 1.#QNAN), (u'CPSA.13', 1.#QNAN), (u'CPSA.14', 1.#QNAN), (u'CPSA.15', 1.#QNAN), (u'CPSA.16', 1.#QNAN), (u'CPSA.17', 1.#QNAN), (u'CPSA.18', 1.#QNAN), (u'CPSA.19', 1.#QNAN), (u'CPSA.2', 1.#QNAN), (u'CPSA.20', 1.#QNAN), (u'CPSA.21', 1.#QNAN), (u'CPSA.22', 1.#QNAN), (u'CPSA.23', 1.#QNAN), (u'CPSA.24', 1.#QNAN), (u'CPSA.25', 1.#QNAN), (u'CPSA.26', 1.#QNAN), (u'CPSA.27', 1.#QNAN), (u'CPSA.28', 1.#QNAN), (u'CPSA.3', 1.#QNAN), (u'CPSA.4', 1.#QNAN), (u'CPSA.5', 1.#QNAN), (u'CPSA.6', 1.#QNAN), (u'CPSA.7', 1.#QNAN), (u'CPSA.8', 1.#QNAN), (u'CPSA.9', 1.#QNAN)]
weight affects CPSA (the evidence follows...)
ip affects CPSA (the evidence follows...)
autoCorrelationPolarizability affects CPSA (the evidence follows...)
chi0vC affects CPSA (the evidence follows...)
wienerNumbers affects CPSA (the evidence follows...)
chi1vC affects CPSA (the evidence follows...)
NilaComplexity affects CPSA (the evidence follows...)
atomCount affects CPSA (the evidence follows...)
rotatableBondsCount affects CPSA (the evidence follows...)
BCUT affects CPSA (the evidence follows...)
autoCorrelationMass affects CPSA (the evidence follows...)
apol affects CPSA (the evidence follows...)
xlogP affects CPSA (the evidence follows...)
chi0C affects CPSA (the evidence follows...)
lengthOverBreadth affects CPSA (the evidence follows...)
petitjeanShapeIndex affects CPSA (the evidence follows...)
largestPiSystem affects CPSA (the evidence follows...)
gravitationalIndex affects CPSA (the evidence follows...)
tpsa affects CPSA (the evidence follows...)
weightedPath affects CPSA (the evidence follows...)
WHIM affects CPSA (the evidence follows...)
petitjeanNumber affects CPSA (the evidence follows...)
zagrebIndex affects CPSA (the evidence follows...)
momentOfInertia affects CPSA (the evidence follows...)
chiPathCluster affects CPSA (the evidence follows...)
vAdjMa affects CPSA (the evidence follows...)
mde affects CPSA (the evidence follows...)
kierValues affects CPSA (the evidence follows...)
autoCorrelationCharge affects CPSA (the evidence follows...)
bondCount affects CPSA (the evidence follows...)
chiCluster affects CPSA (the evidence follows...)
aromaticBondsCount affects CPSA (the evidence follows...)
eccentricConnectivityIndex affects CPSA (the evidence follows...)
hBondDonors affects CPSA (the evidence follows...)
longestAliphaticChain affects CPSA (the evidence follows...)
chi1C affects CPSA (the evidence follows...)
bpol affects CPSA (the evidence follows...)
chiPath affects CPSA (the evidence follows...)
chiChain affects CPSA (the evidence follows...)
aromaticAtomsCount affects CPSA (the evidence follows...)
lipinskifailures affects CPSA (the evidence follows...)
largestChain affects CPSA (the evidence follows...)
Investigating autoCorrelationPolarizability
autoCorrelationCharge affects autoCorrelationPolarizability (the evidence follows...)
Before [(u'autoCorrelationPolarizability.0', 106.08972826562506), (u'autoCorrelationPolarizability.1', 83.722304906250045), (u'autoCorrelationPolarizability.2', 51.966035187500026), (u'autoCorrelationPolarizability.3', 21.261128593750009), (u'autoCorrelationPolarizability.4', 0.0)]
After [(u'autoCorrelationPolarizability.0', 105.97714276562508), (u'autoCorrelationPolarizability.1', 83.633041406250058), (u'autoCorrelationPolarizability.2', 51.909760687500039), (u'autoCorrelationPolarizability.3', 21.237589968750015), (u'autoCorrelationPolarizability.4', 0.0)]
Investigating chi0vC
autoCorrelationPolarizability affects chi0vC (the evidence follows...)
Before [(u'chi0vC', 2.4142135623730949)]
After [(u'chi0vC', 1.5)]
Investigating wienerNumbers
Investigating chi1vC
autoCorrelationPolarizability affects chi1vC (the evidence follows...)
Before [(u'chi1vC', 1.2071067811865475)]
After [(u'chi1vC', 0.5)]
Investigating NilaComplexity
Investigating atomCount
autoCorrelationPolarizability affects atomCount (the evidence follows...)
Before [(u'atomCount', 13)]
After [(u'atomCount', 4)]
Investigating rotatableBondsCount
Investigating BCUT
Investigating autoCorrelationMass
Investigating apol
Investigating xlogP
Investigating chi0C
Investigating lengthOverBreadth
Investigating petitjeanShapeIndex
Investigating largestPiSystem
Investigating gravitationalIndex
Investigating tpsa
autoCorrelationPolarizability affects tpsa (the evidence follows...)
Before [(u'tpsa', 26.02)]
After [(u'tpsa', 0.0)]
Investigating weightedPath
Investigating WHIM
Investigating petitjeanNumber
Investigating zagrebIndex
Investigating momentOfInertia
Investigating chiPathCluster
Investigating vAdjMa
Investigating mde
momentOfInertia affects mde (the evidence follows...)
Before [(u'mde.0', 0.0), (u'mde.1', 0.0), (u'mde.10', 0.0), (u'mde.11', 0.0), (u'mde.12', 0.0), (u'mde.13', 0.0), (u'mde.14', 0.0), (u'mde.15', 0.0), (u'mde.16', 0.0), (u'mde.17', 0.0), (u'mde.18', 0.0), (u'mde.2', 0.0), (u'mde.3', 0.0), (u'mde.4', 0.0), (u'mde.5', 0.0), (u'mde.6', 0.0), (u'mde.7', 0.0), (u'mde.8', 0.0), (u'mde.9', 0.0)]
After [(u'mde.0', 0.0), (u'mde.1', 1.4142135623730951), (u'mde.10', 0.0), (u'mde.11', 0.0), (u'mde.12', 0.0), (u'mde.13', 0.0), (u'mde.14', 0.0), (u'mde.15', 0.0), (u'mde.16', 0.0), (u'mde.17', 0.0), (u'mde.18', 0.0), (u'mde.2', 0.0), (u'mde.3', 0.0), (u'mde.4', 1.0), (u'mde.5', 0.0), (u'mde.6', 0.0), (u'mde.7', 0.0), (u'mde.8', 0.0), (u'mde.9', 0.0)]
Investigating kierValues
Investigating autoCorrelationCharge
Investigating bondCount
Investigating chiCluster
Investigating aromaticBondsCount
Investigating eccentricConnectivityIndex
Investigating hBondDonors
autoCorrelationPolarizability affects hBondDonors (the evidence follows...)
Before [(u'hBondDonors', 1)]
After [(u'hBondDonors', 0)]
Investigating longestAliphaticChain
Investigating chi1C
Investigating bpol
Investigating chiPath
Investigating chiChain
Investigating aromaticAtomsCount
Investigating lipinskifailures
Investigating largestChain
Logged In: YES
user_id=850620
Originator: YES
The CPSA stuff seems to be spurious. Why do I get all these 1.#QNAN values though?? Is this a known bug?
Should be fixed in 1.2.x and trunk
Bug is fixed: the current SVN version no longer has this
problem.