We are working with some descriptors taken from Reaxys database, which according to its owner are computed using your CDK library. We found something unexpected and would very much appreciate it if you could help us to understand.

We noted that some phenols are reported as having 0 hydrogen bond acceptors, whereas we expected them to have at least one. We checked CDK source code and found this comment on HBondAcceptorCountDescriptor.java:

The following groups are counted as hydrogen bond acceptors:
- any oxygen where the formal charge of the oxygen is non-positive (i.e. formal charge <= 0) except - an aromatic ether oxygen (i.e. an ether oxygen that is adjacent to at least one aromatic carbon)
       - an oxygen that is adjacent to a nitrogen
- any nitrogen where the formal charge of the nitrogen is non-positive (i.e. formal charge <= 0) except
       - a nitrogen that is adjacent to an oxygen

The way we understood it, this means that phenols should have at least one hydrogen bond acceptor. But further down in the same file, these lines seem to specify otherwise:

// looking for suitable oxygen atoms
else if (atom.getAtomicNumber() == IElement.O && atom.getFormalCharge() <= 0) { //excluding oxygens that are adjacent to a nitrogen or to an aromatic carbon
                List<IBond> neighbours = ac.getConnectedBondsList(atom);
                for (IBond bond : neighbours) {
                    IAtom neighbor = bond.getOther(atom);
                    if (neighbor.getAtomicNumber() == IElement.N ||
                        (neighbor.getAtomicNumber() == IElement.C &&
                         neighbor.isAromatic() &&
                         bond.getOrder() != IBond.Order.DOUBLE))
                        continue atomloop;;
                }
                hBondAcceptors++;
            }

Is this intended, or is it a bug, or are we misunderstanding something?



_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to