Subject: Ring perception algorithms

From: "Simon Kilvington" <[email-masked]>
Date: Wed, 29 Mar 1995 13:58:31 +0100 (BST)

Dear all,

	does anyone have any references to ring perception algorithms?
All I need to know is whether each bond in a molecule is either cyclic
or acyclic.  It's fairly easy to think of ways of doing it but I was
wondering if there are any cunning tricks that have been developed that
make it faster/use less memory etc. 

	thanks for any help,

	Si.

---
Simon Kilvington, [email-masked]

---

From: Garcia Edgardo <[email-masked]>
Date: Wed, 29 Mar 1995 10:57:00 -0700 (MST)

Hi Simon,

Yes, there are lots of ring-finding algortihms out there.
Have a look at J.Chem.Inf.Comp.Sci. and Thetraedron Comp. Methodol.
also at {Garcia E. & Reyes L.M.,J.Mol.Struct. Theochem, 282, 1993},
you will find an algorithm and references there.
A simple way of doing it is :
1. Use a recursive prunning algorithm that cuts all terminal bonds.
2. The structure that remains has only ring and ring bridging bonds.
3. To know if a bond is a ring bond remove it and see if the molecule
   doesn't divide in two subunits.
Now, depending on the complexity of your molecules, another way is
obtaining the smallest set of rings (SSR). All bonds that are in this
set are ring bonds.

Hope this helps,

Edgardo Garcia
Cristol Chem. & Biochem.
Univ. of Colorado 
BOULDER CO   USA