On Mon, Jun 21, 2010 at 11:14 PM, Craig A. James <[email protected]> wrote: > On 6/21/10 1:21 PM, Tim Vandermeersch wrote: > >>> For most "ordinary" molecules, the LSSR is the same as the SSSR. The >>> LSSR and >>> SSSR only differ with "cage" structures, where the rings themselves form >>> rings, >>> i.e. when there exists a set of R rings that "covers" all atoms, but R is >>> fewer >>> than the number of bonds that must be broken to make the structure >>> acyclic. And >>> in these cases, the choice of rings for the SSSR is arbitrary, whereas >>> the LSSR is not. >> >> I don't follow the part about number of bonds that must be broken to >> make the structure acyclic. Do you mean closure bonds? Regardless, we >> probably mean the same thing with LSSR. > > By "rings form rings," I mean structures like cubane. For cubane you can > find four rings that together include every atom and bond, but you have to > break at least five bonds to make the structure acyclic. Any structure that > can be constructed by creating a "ring of rings" has this problem. For > example, with cubane you can imagine laying out four rectangles side by side > (SSSR=4), and then folding it into a cube. You've made a ring out of a set > of existing rings. > > The LSSR algorithm is simple: > > for S in (3, 4, 5, 6, ...) > find all rings of size S, add to LSSR > if all cyclic atoms and bonds are included in at > least one ring in the LSSR, quit
This would give 10 rings for cubane with a 6 ring attached: (structure image: http://imagebin.org/102164) ring: 1 2 3 4 ring: 5 6 3 4 ring: 1 4 5 8 ring: 7 8 5 6 ring: 2 3 6 7 ring: 1 2 7 8 ring: 7 2 1 4 5 6 ring: 1 4 5 6 3 2 ring: 4 3 6 7 2 1 ring: 9 10 11 12 13 14 The first three 6 rings are found in the cubane part of the molecule. I know these rings are unexpected but they are found and should be removed (for use in substructure search). The algorithm would be: for S in (3, 4, 5, 6, ...) find all rings of size S, add to LSSR if not contained in the union of all smaller rings if all cyclic atoms and bonds are included in at least one ring in the LSSR, quit The first 3 6-rings are now found in the union of the 3-rings. The final, attached cyclohexane ring is still found. This might not be important for aromaticity but having a single canonical ring set is better IMHO. The small change shouldn't affect the results you require. > It's nice because a breadth-first ring-finder algorithm naturally finds > rings from smallest to largest. You don't waste any time finding even one > ring larger than the largest ring in the LSSR. > > The other nice thing about an LSSR is that there is only one possible set of > rings, so canonicalizing the order within the set is easy: > smallest-to-largest, and within each size, use the atom labeling that > canon.c provides (you don't even need to run the full SMILES canonicalizer, > just the atom labeler). > > Craig > > ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ OpenBabel-Devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbabel-devel
