| 
  | find_pi_cation_interactions(struct1,
        struct2=None,
        rings1=None,
        rings2=None,
        skip_unknown=True)
   |  |  Determine if any positive centers are within a specified distance 
  cutoff of any aromatic ring centroids. For those positive center/ring 
  contacts, determine if the positive center is located on the face of the 
  ring rather than the edge..  This function can be very slow if unknown 
  residues are found in the structure.  These are often counterions or 
  surfactants. Removing these before doing this calculation can speed 
  things up dramatically - or use skip_unknown='all' if the unknown 
  residues are not of interest. Code example: 
   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)
    Parameters:
        struct1(schrodinger.structure.Structure object) - Receptor structure if for a ligand-receptor complex, or the first
          of two structures to compute pi-cations forstruct2(schrodinger.structure.Structure object) - Ligand structure if for a ligand-receptor complex, or the second 
          of two structures, or None if the first structure should be 
          search for intramolecular interactions.rings1(list of SSSR (from gather_rings)) - SSSR of struct1. If not passed, will be computed.rings2(list of SSSR (from gather_rings)) - SSSR of struct2. If not passed, will be computed.skip_unknown(bool, str or list) - if False, all unknown residues will be typed (very slow), if 
          True, unknown residues will be skipped if they are in the default
          list UKNOWN_RESIDUE_SKIP_LIST.  If 'all', then all unknown 
          residues will be skipped.  If a list is supplied, only residues 
          with names matching those in the supplied list will be skipped.Returns: listlist of CationPiInteraction interaction objects:
   # CationPiInteraction properties:
   cation_structure: structure that contains the cation
   pi_structure: structure that contains the pi group
   cation_centroid: Centroid of the positive charge
   pi_centroid: Centroid of the pi group
   distance: distance between the centroids
   angle: angle in degrees between the centroids
 |