In [5]:
from rmgpy.molecule import Molecule
from rmgpy.molecule.resonance import *

import time

In [47]:
mol = Molecule(SMILES='C1CC2CCC1CC2')
#res = generateAromaticResonanceStructures(mol)
#res[0]

In [51]:
mol.getAllCyclesOfSize(6)


Out[51]:
[[<Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>],
 [<Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>],
 [<Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>, <Atom 'C'>]]

In [42]:
molecule = res[0]

aromaticAtomTypes = ['Cb', 'Cbf']

aromaticAtoms = [atom for atom in molecule.atoms if atom.atomType.label in aromaticAtomTypes]

aromaticRings = set()
for atom in aromaticAtoms:
    cycles = molecule.getAllCycles(atom)
    aromaticRings.update([frozenset(cycle) for cycle in cycles])

In [43]:
aromaticAtoms


Out[43]:
[<Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>,
 <Atom 'C'>]

In [44]:
aromaticRings


Out[44]:
{frozenset({<Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>}),
 frozenset({<Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>}),
 frozenset({<Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>}),
 frozenset({<Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>}),
 frozenset({<Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>}),
 frozenset({<Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>,
            <Atom 'C'>})}

In [ ]: