schrodinger.structutils.interactions.steric_clash module¶
- schrodinger.structutils.interactions.steric_clash.clash_iterator(struc1, atoms1=None, struc2=None, atoms2=None, allowable_overlap=0.4)¶
Iterate through all steric clashes between two groups of atoms
- Parameters
struc1 (
schrodinger.structure.Structure
) – The first structure to examineatoms1 (list(int)) – A list of atom numbers for
struc1
. If given, only the specified atoms will be examined. If not given, all atoms ofstruc1
will be used.struc2 (
schrodinger.structure.Structure
) – The second structure to examine. If not givenstruc1
will be usedatoms2 (list(int)) – A list of atom numbers for
struc2
. If given, only the specified atoms will be examined. If not given, all atoms ofstruc2
will be used.allowable_overlap (float) – Steric clashes smaller than this will be ignored. The default (0.4 A) is a reasonable value when examining protein- protein interactions.
- Returns
A generator that iterates through steric clashes. Each iteration will yield a tuple of (atom from
struc1
, atom fromstruc2
, distance). The distance between the two specified atoms in Angstroms (float). Note that this is the distance between the nuclear centers, not the size of the overlap.- Return type
generator
- schrodinger.structutils.interactions.steric_clash.sphere_overlap_volume(radius1, radius2, dist)¶
Calculate the volume of the overlap between two spheres
- Parameters
radius1 (float) – The radius of the first sphere
radius2 (float) – The radius of the second sphere
dist (float) – The distance between the centers of the two spheres
- Returns
The overlap volume
- Return type
float
- Note
The equation implemented here is taken from http://mathworld.wolfram.com/Sphere-SphereIntersection.html, equation 16
- schrodinger.structutils.interactions.steric_clash.clash_volume(struc1, atoms1=None, struc2=None, atoms2=None)¶
Calculate the volume of the steric overlap between two structures
- Parameters
struc1 (
schrodinger.structure.Structure
) – The first structure to examineatoms1 (list) – A list of atom numbers for
struc1
. If given, only the specified atoms will be examined. If not given, all atoms ofstruc1
will be used.struc1 – The second structure to examine. If not given
struc1
will be usedatoms2 (list) – A list of atom numbers for
struc2
. If given, only the specified atoms will be examined. If not given, all atoms ofstruc2
will be used.
- Returns
The steric overlap volume in cubic Angstroms
- Return type
float
- Note
The overlap volume is calculated as a sum of pair-wise steric clashes. This may double count overlaps for very severe steric clashes where there are really three spheres overlapping.
- schrodinger.structutils.interactions.steric_clash.get_steric_clashes(st1: schrodinger.structure._structure.Structure, st1_atoms: Optional[List[int]] = None, st2: Optional[schrodinger.structure._structure.Structure] = None, st2_atoms: Optional[List[int]] = None, cutoff: float = 0.75, hbond_params: Optional[structure.AtomQueryParams] = None, salt_bridge_params: Optional[structure.SaltBridgeParams] = None) List[Tuple[schrodinger.structure._structure.StructureAtom, schrodinger.structure._structure.StructureAtom]] ¶
Return all pairs of atoms with steric clashes.
To determine a clash, get the ratio of the distance between two atoms to the sum of their van der Waals radii:
sqrt(square_distance) / (atom1_radius + atom2_radius)
and ignore all values above a certain cutoff.
- Parameters
st1 (structure.Structure) – First structure.
st1_atoms (list[int] or NoneType) – List of atom indices in the first structure, if
None
will use all atoms.st2 (structure.Structure or NoneType) – Second structure, if
None
will use the first structure.st2_atoms – List of atom indices in the second structure, if
None
will use all atoms.cutoff (float) – Cutoff for clash consideration.
hbond_params (schrodinger.infra.structure.AtomQueryParams) – Don’t include hydrogen bonds matching
hbond_params
in clash list.salt_bridge_params (schrodinger.infra.structure.SaltBridgeParams) – Don’t include salt bridges matching
salt_bridge_params
in the clash list.
- Returns
Pair of all atom pairs with steric clash.
- Return type
list[tuple(structure._StructureAtom, structure._StructureAtom)]