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)
    |  | __package__ = 'schrodinger.structutils.interactions' |