schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils module

Backend-contract data types for the metals force field annotations UI.

class schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils.AtomStatus

Bases: StrEnum

SUPPORTED = 'supported'
UNSUPPORTED = 'unsupported'
NOT_ANALYZED = 'not_analyzed'
CONSISTENT = 'consistent'
INCONSISTENT = 'inconsistent'
class schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils.StatusReason

Bases: StrEnum

UNSUPPORTED_ELEMENT = 'unsupported_element'
UNSUPPORTED_CHARGE = 'unsupported_charge'
COORDINATING_INVALID = 'coordinating_invalid'
OUTSIDE_REGION = 'outside_region'
EXISTING_INCONSISTENT_OPLS = 'existing_inconsistent_opls'
EXISTING_INCONSISTENT_METAL_MODEL = 'existing_inconsistent_metal_model'
EXISTING_INCOMPLETE = 'existing_incomplete'
class schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils.StatusNote(reason: StatusReason, message: str)

Bases: object

reason: StatusReason
message: str
__init__(reason: StatusReason, message: str) → None
class schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils.MetalAnnotation(unpaired_electrons: int, metal_model_class: str, opls_hash: str)

Bases: object

unpaired_electrons: int
metal_model_class: str
opls_hash: str
__init__(unpaired_electrons: int, metal_model_class: str, opls_hash: str) → None
class schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils.MetalAtomResult(structure_index: int, atom_index: int, status: AtomStatus, annotation: MetalAnnotation | None, status_notes: list[StatusNote])

Bases: object

Per-atom analysis result used to drive the result tables.

structure_index: int
atom_index: int
status: AtomStatus
annotation: MetalAnnotation | None
status_notes: list[StatusNote]
__init__(structure_index: int, atom_index: int, status: AtomStatus, annotation: MetalAnnotation | None, status_notes: list[StatusNote]) → None
schrodinger.ui.qt.forcefield.metals_forcefield_annotations_gui_dir.backend_utils.get_supported_spins(custom_opls: str | os.PathLike | None = None) → dict[str, list[int]]

Return supported spin multiplicities keyed by metal SMARTS.

Parameters:

custom_opls – Path to a custom OPLS directory, or None.

Returns:

dict mapping metal SMARTS strings to lists of supported integer spin multiplicities for that metal type.