schrodinger.structutils.check module

Tools for detecting and reporting distortions in structures.

class schrodinger.structutils.check.Distortion

Bases: object

class schrodinger.structutils.check.AngleDistortion(atoms, ideal_angle, actual_angle)

Bases: schrodinger.structutils.check.Distortion

__init__(atoms, ideal_angle, actual_angle)
class schrodinger.structutils.check.BondDistortion(bond, ideal_length, actual_length)

Bases: schrodinger.structutils.check.Distortion

__init__(bond, ideal_length, actual_length)
schrodinger.structutils.check.find_distortions(st: schrodinger.structure._structure.Structure, angle_tolerance: float = 20.0, bond_tolerance: float = 0.5) Optional[list]

Determines whether a given structure is distorted or not. Specifically, this function checks that checks that:

  1. All angles in 3-membered rings are within angle_tolerance (in degrees) of 60 deg

  2. All angles in 4-membered rings are within angle_tolerance of 90 deg

  3. All linear/trigonol/tetrahedral angles are within angle_tolerance of 180/120/109.5

  4. All bonds are within bond_tolerance of their ideal length

Returns None or a list of Distortions