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: Structure, st1_atoms: Optional[List[int]] = None, st2: Optional[Structure] = None, st2_atoms: Optional[List[int]] = None, cutoff: float = 0.75, hbond_params: Optional[AtomQueryParams] = None, salt_bridge_params: Optional[SaltBridgeParams] = None, include1_4: bool = False) List[Tuple[StructureAtom, 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 – First structure.
st1_atoms – List of atom indices in the first structure, if
None
will use all atoms.st2 – 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 – Cutoff for clash consideration.
hbond_params – Don’t include hydrogen bonds matching
hbond_params
in clash list.salt_bridge_params – Don’t include salt bridges matching
salt_bridge_params
in the clash list.include1_4 – Include clashes between atoms within 4 bonds of each other.
- Returns:
Pair of all atom pairs with steric clash.