I'm working on the builder... A general problem with fused ring systems where a complete template is not available, e.g. a 6 and a 3 membered ring joined along an edge, is that the first matching SMARTS pattern is to a 7 membered ring (or in general for two fused rings of size A and B, the first match is to a ring of size A + B - 2). The result is not pretty. It would be better to avoid this match, and instead have a partial match to a 6 membered ring, followed by a subsequent 3 membered ring match.
I'm trying to think how to do this. The current situation is that the builder could be sitting there with a SMARTS of length 7 atoms which matches the molecule. Does it accept it or not? It seems like I would have the following extra information available to make this choice: (a) what ring size(s) does the SMARTS represent? (I should be able to obtain this when generating the SMARTS fragments using Geoff's obfragment.cpp) (b) what ring size(s) are contained in the match in the molecule. It should only accept the SMARTS match if (a) == (b). Any thoughts? - Noel ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel