|
From: Andrew D. <da...@da...> - 2009-03-07 19:23:12
|
On Mar 7, 2009, at 9:21 AM, Rajarshi Guha wrote: > 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. Yes, the "*" gets turned into a PseudoAtom in CDK. There is a mismatch between those two, which caused the problems reported in issue 2596061. > 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. It's probably in the conversion from IQueryAtomContainer to IAtomContainer. You probably want Roger Sayle's "1st-class SMARTS patterns" at http://www.daylight.com/meetings/emug97/Sayle/index.html He writes that while canonical bond expressions in SMARTS are possible, canonical atom expressions are an NP-complete problem. Then again, so is graph canonicalization. Andrew da...@da... |