Package schrodinger :: Package structutils :: Package interactions
[hide private]
[frames] | no frames]

Package interactions

A module for detecting interactions between structures. Currently has methods 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
   recep = None
   for struct in structure.StructureReader(input_file):
       if not recep:
           recep = struct
           # Precalculate receptor rings and cations to save time
           rings = interactions.gather_rings(recep)
           cations = interactions.get_receptor_positive_centroids(recep)
       else:
           picats = interactions.find_pi_cation_interactions(recep,
                                       rings1=rings, cations1=cations,
                                       struct2=struct)

Pi-pi interactions:

   from schrodinger.structutils import interactions
   from schrodinger import structure
   recep = None
   for struct in structure.StructureReader(input_file):
       if not recep:
           recep = struct
           # Precalculate receptor rings to save time
           rings = interactions.gather_rings(recep)
       else:
           pipi = interactions.find_pi_pi_interactions(recep,
                                       rings1=rings, struct2=struct)

Find all salt bridge interactions within a protein:

   from schrodinger.structutils import interactions
   from schrodinger.structure import StructureReader
   st = StructureReader("protein.maegz").next()
   for (atom1, atom2) in interactions.get_salt_bridges(st):
       print "Salt bridge between atoms %i and %i" % (atom1.index, atom2.index)

Find all salt bridges within a single protein chain:

   st = StructureReader("protein.maegz").next()
   atoms = st.chain["C"].getAtomIndices()
   for (atom1, atom2) in interactions.get_salt_bridges(st, atoms):
       print "Salt bridge between atoms %i and %i" % (atom1.index, atom2.index)

Find all salt bridges between a protein and a ligand:

   reader = StructureReader("protein_and_ligand.maegz")
   prot = reader.next()
   lig = reader.next()
   for (atom1, atom2) in interactions.get_salt_bridges(prot, struc2=lig):
       print "Salt bridge between atoms %i and %i" % (atom1.index, atom2.index)
Submodules [hide private]

Variables [hide private]
  __package__ = 'schrodinger.structutils.interactions'