rmgpy.molecule.symmetry¶
- rmgpy.molecule.symmetry.calculate_atom_symmetry_number(molecule, atom)¶
Return the symmetry number centered at atom in the structure. The atom of interest must not be in a cycle.
- rmgpy.molecule.symmetry.calculate_bond_symmetry_number(molecule, atom1, atom2)¶
Return the symmetry number centered at bond in the structure.
- rmgpy.molecule.symmetry.calculate_axis_symmetry_number(molecule)¶
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.calculate_cyclic_symmetry_number(molecule)¶
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.calculate_symmetry_number(molecule)¶
Return the symmetry number for the structure. The symmetry number includes both external and internal modes.