schrodinger.structutils.interactions package¶
Detect interactions between structures using the same underlying rules as maestro. Currently has functions to detect pi-pi interactions, pi-cation interactions, salt bridges, and steric clashes.
Examples¶
Pi-cation interactions:
from schrodinger.structutils import interactions
from schrodinger import structure
with structure.StructureReader(input_file) as reader:
recep = next(reader)
for st in reader:
picats = interactions.find_pi_cation_interactions(recep,
struct2=st)
Pi-pi interactions:
from schrodinger.structutils import interactions
from schrodinger import structure
with structure.StructureReader(input_file) as reader:
recep = next(reader)
for st in reader:
pipi = interactions.find_pi_pi_interactions(recep, struct2=st)
Find all salt bridge interactions within a protein:
from schrodinger.structutils import interactions
from schrodinger.structure import StructureReader
st = Structure.read("protein.maegz")
for atom1, atom2 in interactions.get_salt_bridges(st):
print(f"Salt bridge between atoms {atom1.index} and {atom2.index}")
Find all salt bridges within a single protein chain:
st = Structure.read("protein.mae.gz")
atoms = st.chain["C"].getAtomIndices()
for atom1, atom2 in interactions.get_salt_bridges(st, atoms):
print(f"Salt bridge between atoms {atom1.index} and {atom2.index}")
Find all salt bridges between a protein and a ligand:
with StructureReader("protein_and_ligand.mae.gz") as reader:
prot, lig = reader
for atom1, atom2 in interactions.get_salt_bridges(prot, struc2=lig):
print(f"Salt bridge between atoms {atom1.index} and {atom2.index}")
Submodules¶
- schrodinger.structutils.interactions.hbond module
- schrodinger.structutils.interactions.pi module
- schrodinger.structutils.interactions.protein_protein_interactions module
- schrodinger.structutils.interactions.salt_bridge module
- schrodinger.structutils.interactions.ssbond module
- schrodinger.structutils.interactions.steric_clash module