Ring perception

User da8da0ed54

14-10-2014 10:33:33

A
colleague asked me to relay to you some apparent cases where the
calculation of how many rings an atom is in some way flawed. I
enclose the SMILES strings I was sent, and the explanation. It seems to be where rings appear to be contained within rings. Is this working as intended, or is there some obscure issue.


      

CC1(C)[C@H]2C[C@@H]1[C@]1(CO1)CC2>>CC1(C)[C@H]2C[C@@H]1[C@@H](CC2)C=O


The reactant in this reaction apparently has issues in Marvin
calculation, the carbon in the epoxide ring is part of 2 other
rings, but is only reported as being in 2 in total (not 3)




O=C1[C@H]2C[C@@H]3C[C@H](C[C@H]1C3)C2.CO>>C1O[C@]11[C@H]2C[C@@H]3C[C@H](C[C@H]1C3)C2


There are multiple issues here with the ring perception, one side
versus the other, not really sure how to explain it, but it seems
that it's around the epoxide again in the product.

ChemAxon a202a732bf

15-10-2014 12:14:32

Dear James,


I can not give an exact reply because I do not know how you obtain the information about the number of rings in the molecule. Do you use our basic structural API? Which method? I can only guess that the number of rings is defined by the Smallest Set of Smallest Rings (SSSR), which is usually the case in our ring calculation. In this case rings which are the combination of smaller rings are not included in the contained set of rings. This means that the given answer is correct, for each atom in your molecule there are maximum two rings (not covered by other rings) which contain it.


Best regards,


Zsuzsa

User da8da0ed54

15-10-2014 12:18:25

Yes, we use SSSR for this calculation (MoleculeGraph.getSSSRIdxesForAtoms()[atomindex]), so that would explain that. Out of interest is the total number of rings available through the API at all? It would be nice to get a comprehensive value as well.

ChemAxon a202a732bf

16-10-2014 07:33:58

Dear James,


The method MoleculeGraph.getAromaticAndAliphaticRings() returns all aromatic and all aliphatic rings separately, for details please refer to our API documentation at http://www.chemaxon.com/jchem/doc/dev/java/api/ .


Regards,


Zsuzsa