syndirella.slipper.intra_geometry
slipper/intra_geometry.py
This module was directly sourced from the PoseBusters repository, which is open source code under the BSD-3-Clause license. The original code is found at: https://github.com/maabuu/posebusters/blob/3c467ab82bdbae5b71f80a286bb49ecc011be529/posebusters/modules/distance_geometry.py
It is used to check bond lengths, bond angles, and the internal clash of ligand conformations.
Attributes
Functions
|
Use RDKit distance geometry bounds to check the geometry of a molecule. |
|
|
|
|
|
|
|
|
|
Check all combinations of bonds to generate list of molecule angles. |
|
|
|
|
|
|
|
Module Contents
- syndirella.slipper.intra_geometry.col_closest_noncov = 'shortest_noncovalent_relative_distance'[source]
- syndirella.slipper.intra_geometry.check_geometry(mol_pred: rdkit.Chem.rdchem.Mol, threshold_bad_bond_length: float = 0.2, threshold_clash: float = 0.2, threshold_bad_angle: float = 0.2, bound_matrix_params: dict[str, Any] = bound_matrix_params, ignore_hydrogens: bool = True, sanitize: bool = True) dict[str, Any][source]
Use RDKit distance geometry bounds to check the geometry of a molecule.
- Parameters:
mol_pred – Predicted molecule (docked ligand). Only the first conformer will be checked.
threshold_bad_bond_length – Bond length threshold in relative percentage. 0.2 means that bonds may be up to 20% longer than DG bounds. Defaults to 0.2.
threshold_clash – Threshold for how much overlap constitutes a clash. 0.2 means that the two atoms may be up to 80% of the lower bound apart. Defaults to 0.2.
threshold_bad_angle – Bond angle threshold in relative percentage. 0.2 means that bonds may be up to 20% longer than DG bounds. Defaults to 0.2.
bound_matrix_params – Parameters passe to RDKit’s GetMoleculeBoundsMatrix function.
ignore_hydrogens – Whether to ignore hydrogens. Defaults to True.
sanitize – Sanitize molecule before running DG module (recommended). Defaults to True.
- Returns:
PoseBusters results dictionary.
- syndirella.slipper.intra_geometry._get_bond_atom_indices(mol: rdkit.Chem.rdchem.Mol) list[tuple[int, int]][source]
- syndirella.slipper.intra_geometry._get_angle_atom_indices(bonds: list[tuple[int, int]]) list[tuple[int, int, int]][source]
Check all combinations of bonds to generate list of molecule angles.
- syndirella.slipper.intra_geometry._two_bonds_to_angle(bond1: tuple[int, int], bond2: tuple[int, int]) None | tuple[int, int, int][source]