|
From: Rajarshi G. <rg...@in...> - 2009-03-07 16:22:13
|
On Mar 7, 2009, at 10:59 AM, Andrew Dalke wrote: > On Mar 7, 2009, at 8:14 AM, Rajarshi Guha wrote: >> Hmm, a simple case seems to work: http://blog.rguha.net/?p=168 > > Sweet! I didn't know the CDK could handle that. > > Your test was the MCS of > > c1ccccc1C(=O)C* and *C([N,S])C=O > > to get *CC=O. One observation though is that test doesn't check any > properties which aren't simple atom properties, like the "and" in > [N,S]. What does it report with > > c1ccccc1[N,S](=O)C* and [N,S](=O)C* ? Hmm, I get a 2 atom match: the aliphatic C and a PseudoAtom, which I think corresponds to the * - I think the issue here is with the way the logical operator gets represented. I don't know of the top of my head how the logical operators get converted into the 'molecule graph' form. A crude way around for the "or" case is to expand the query into the two possibilities. > Something else I was wondering about. In addition to normalization, > should the two SMARTS terms > > [C,c] and [!c] > > be considered as a match, with the intersection being [C]? Hmm, that would make sense. I think these types of things would be done via transforming the AST somehow and then doing the graph ops. ------------------------------------------------------------------- Rajarshi Guha <rg...@in...> GPG Fingerprint: D070 5427 CC5B 7938 929C DD13 66A1 922C 51E7 9E84 ------------------------------------------------------------------- Q: What's polite and works for the phone company? A: A deferential operator. |