rmgpy.molecule.symmetry.
calculateAtomSymmetryNumber
(Molecule molecule, Atom atom) → int¶Return the symmetry number centered at atom in the structure. The atom of interest must not be in a cycle.
rmgpy.molecule.symmetry.
calculateBondSymmetryNumber
(Molecule molecule, Atom atom1, Atom atom2) → int¶Return the symmetry number centered at bond in the structure.
rmgpy.molecule.symmetry.
calculateAxisSymmetryNumber
(Molecule molecule) → int¶Get the axis symmetry number correction. The “axis” refers to a series of two or more cumulated double bonds (e.g. C=C=C, etc.). Corrections for single C=C bonds are handled in getBondSymmetryNumber().
Each axis (C=C=C) has the potential to double the symmetry number. If an end has 0 or 1 groups (eg. =C=CJJ or =C=C-R) then it cannot alter the axis symmetry and is disregarded:
A=C=C=C.. A-C=C=C=C-A
s=1 s=1
If an end has 2 groups that are different then it breaks the symmetry and the symmetry for that axis is 1, no matter what’s at the other end:
A\ A\ /A
T=C=C=C=C-A T=C=C=C=T
B/ A/ \B
s=1 s=1
If you have one or more ends with 2 groups, and neither end breaks the symmetry, then you have an axis symmetry number of 2:
A\ /B A\
C=C=C=C=C C=C=C=C-B
A/ \B A/
s=2 s=2
rmgpy.molecule.symmetry.
calculateCyclicSymmetryNumber
(Molecule molecule) → int¶Get the symmetry number correction for cyclic regions of a molecule. For complicated fused rings the smallest set of smallest rings is used.
rmgpy.molecule.symmetry.
calculateSymmetryNumber
(Molecule molecule) → int¶Return the symmetry number for the structure. The symmetry number includes both external and internal modes.