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_asl
or the default internally gerenated ASL. |
|
|
|
_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_asl
or the default internally gerenated ASL.
- Parameters:
st (Structure) - Structure to search for ligands.
- Returns: list
- a list of Ligand instances. These are putative ligands
that match the ASL expression. See Ligand for attributes.
|
copy_props
If 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_acids
If True then 'sidechain and backbone' are excluded from the ASL
evaluation, and therefore not considered putative ligands. (default:
False)
- Type:
- bool
|
exclude_ions
If True then 'ions' are excluded from the ASL evaluation, and therefore
not considered putative ligands. (default: True)
- Type:
- bool
|
excluded_residues
List 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_count
Maximum number of atoms for a putative ligand. (default: 130)
- Type:
- int
|
min_atom_count
Minimum number of atoms for a putative ligand. (default: 5)
- Type:
- int
|