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.interactions import SaltBridgeFinder
   from schrodinger.structure import StructureReader
   st = StructureReader("protein.maegz").next()
   for (atom1, atom2) in SaltBridgeFinder.find(st):
       print "Salt bridge between atoms %i and %i" % (atom1, atom2)

Find all salt bridges within a single protein chain:

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

Find all salt bridges between a protein and a ligand:

   from schrodinger.structutils.interactions import SaltBridgeFinder
   from schrodinger.structure import StructureReader
   reader = StructureReader("protein_and_ligand.maegz")
   prot = reader.next()
   lig = reader.next()
   for (atom1, atom2) in SaltBridgeFinder.find(prot, struc2=lig):
       print "Salt bridge between atoms %i and %i" % (atom1, atom2)
Submodules [hide private]

Variables [hide private]
  __package__ = 'schrodinger.structutils.interactions'
  __warningregistry__ = {('Salt bridges should be found with sch...
Variables Details [hide private]

__warningregistry__

Value:
{('Salt bridges should be found with schrodinger.infra.structure.get_s\
alt_bridges()',
  <type 'exceptions.DeprecationWarning'>,
  70): True,
 ('Steric clashes should be found with schrodinger.infra.structure.get\
_contacts()',
  <type 'exceptions.DeprecationWarning'>,
  71): True}