| schrodinger ::
        structutils ::
        analyze ::
        AslLigandSearcher ::
        Class AslLigandSearcher |  | 
Class AslLigandSearcher
object --+
         |
        AslLigandSearcher
Search a Structure instance for putative ligands with an Atom 
  Selection Language expression.  Results are returned as a list of Ligand instances.
  API example:
   st = structure.StructureReader('file.mae').next()
   st_writer = structure.StructureWriter('out.mae')
   asl_searcher = AslLigandSearcher()
   ligands = asl_searcher.search(st)
   for lig in ligands:
       st_writer.append(lig.st)
   st_writer.close()
  ASL evaluates molecules in a strict sense.  Ligands with zero-order 
  bonds to metal and covalently-attached ligands are difficult to find with
  this naive approach.  See __init__ for options that workaround these 
  limitations.
  'sidechain', 'backbone', and 'ion' aliases are used by this module. 
  They are taken from first mmasl.ini in the path, but are assumed to be 
  defined as a list of PDB atom names that correspond to atoms of the 
  protein side chains, protein backbone, and small ions respectively.
  Since the precise definition of a ligand is context specific and 
  impossible to generally formulate, this class attempts to provide 
  customizable tools for identifying ligands within a structure. It is the 
  caller's responsibility to customize the search parameters and verify 
  that the hits are appropriate.
      See Also:
        find_ligands for a simple functional interface to this class.
      
 
    |  | 
        
          | __init__(self,
        excluded_residues=None) Initialize searcher.
 |  |  | 
    |  | 
        
          | _getLigandParameters(self) |  |  | 
    | list | 
        
          | search(self,
        st) Find list of putative ligands matching either
 ligand_aslor the default internally gerenated ASL. |  |  | 
    | dict | 
        
          | _get_molecule_atoms(self,
        st,
        ligand_mol_atoms) Group all ligand atoms by molecule that they are part of.
 |  |  | 
    |  | 
        
          | _extract_ligands(self,
        st,
        ligand_mol_atoms) |  |  | 
  
    | Inherited from object:__delattr__,__format__,__getattribute__,__hash__,__new__,__reduce__,__reduce_ex__,__repr__,__setattr__,__sizeof__,__str__,__subclasshook__ | 
    | bool | copy_props If True then copy the ct-level properties from the searched structure
      to all the found ligand substructures.
 | 
    | bool | exclude_amino_acids If True then 'sidechain and backbone' are excluded from the ASL 
      evaluation, and therefore not considered putative ligands.
 | 
    | bool | exclude_ions If True then 'ions' are excluded from the ASL evaluation, and 
      therefore not considered putative ligands.
 | 
    | list | excluded_residues List of three-letter PDB codes that are excluded from matching.
 | 
    | int | max_atom_count Maximum number of atoms for a putative ligand.
 | 
    | int | min_atom_count Minimum number of atoms for a putative ligand.
 | 
| 
  | __init__(self,
        excluded_residues=None)
    (Constructor)
 |  |  Initialize searcher. 
    Overrides:
        object.__init__
     | 
 
| Find list of putative ligands matching either ligand_aslor the default internally gerenated ASL. 
    Parameters:
        st(Structure) - Structure to search for ligands.Returns: lista list of Ligand instances.  These are putative ligands 
          that match the ASL expression.  See Ligand for attributes. | 
 
| 
  | _get_molecule_atoms(self,
        st,
        ligand_mol_atoms)
   |  |  Group all ligand atoms by molecule that they are part of. 
    Parameters:
        st(structure.Structure) - Structure being analyzedligand_mol_atoms(list of ints) - Atom indices for all atomsReturns: dictDictionary where keys are molecule numbers and values are lists 
          of atom indices | 
 
| copy_propsIf True then copy the ct-level properties from the searched structure to 
  all the found ligand substructures.  If False, only the title will be 
  copied. (default: True)
    Type:bool | 
 
| exclude_amino_acidsIf True then 'sidechain and backbone' are excluded from the ASL 
  evaluation, and therefore not considered putative ligands. (default: 
  False)
    Type:bool | 
 
| exclude_ionsIf True then 'ions' are excluded from the ASL evaluation, and therefore 
  not considered putative ligands.  (default: True)
    Type:bool | 
 
| excluded_residuesList of three-letter PDB codes that are excluded from matching. These are
  ubiquitous small molecules that are rarely treated as ligands.  See 
  __init__ body for the full list.
    Type:list | 
 
| max_atom_countMaximum number of atoms for a putative ligand.  (default: 130)
    Type:int | 
 
| min_atom_countMinimum number of atoms for a putative ligand.  (default: 5)
    Type:int |