I'm using your pmapper tool with the pharmacophores definition xml files.
I would like to define a new kind of pharmacophore by assigning a special flag to atoms that carry Hbonds donors. These atoms will be considered as "anchoring points". (a C that carry an Hbond donor, for example)
Is there a way to express that "this atom" is "bonded to" an Hdonor in the <AtomSet> section ?
Thanks in advance.
no simple way, neither your molecule query (in the <Mols> section) nor the pharmacophore type definition (in the <AtomSet> section) can directly refer to other pharmacophore types introduced in the same configuration file.
Are such 'anchor' atoms characteristic in a pharmacophore model? Would they enrich the model, or what is your aim with their introduction to your model? It would help us to decide whether to extend the current pharmacophore type definition language with the feature you're asking about, or not. Do you have other examples where such possibility of recoursive pharmacophore type definition would be useful/needed?
Hi, Miklos - Dragos speakin' under cover.. We are about to think about funny extensions of pharmacophore definitions, and one was the introduction of the "Acceptor anchor" and "donor anchor" types - e.g. the atoms carrying the acceptor or donor. The idea happened to me while writing a molecular overlay code: it turned out that overlaying the carbonyl oxygen atop of another acceptor is good, but not sufficient. If molecule 1 uses this O to Hbond to the active site, there are no guarantees that mol2 can also do it: even if the Os are overlapping, their free electron pairs do not necessarily point towards the same direction. You might want to explicitly enter constraints on the free electron pairs.. or on the H position in polar groups, for the donors ... but these tend to move and describe a cone in case of a OH. However, forcing both the carbonyl O AND its anchor carbon to match the partner's acceptor & acceptor anchor respectively gave a better guarantee that the Hbond direction will also be preserved. Need to make a drawin' to better explain what I mean... but in any case, I think that a little utility get_neighbor_atoms_of(this_atom) may be of general use in the API...
The other question - since we're already there - what about defining several acceptor/donor classes: say "weak, medium, strong". The def should somehow be related to the pKa - don't yet exactly know how, but in a p-substituted aniline, for example, the categorization of the -NH2 should depend on what is in para (if nitro, then it may drop out of the acceptor class alltogether). pK thresholds should be substituent-dependant (a carbonyl is a good HA, even though it's not protonated very easily; I don't know that the pKa scale we might use to indirectly monitor "effective electron density" at an acceptor site may be the same that' applicable to anilines or heteorcycles... interesting research topic?)