iterateNeighboringAtoms(self,
struc=None,
atoms=None)
|
|
Iterate over neighboring atoms (atoms within dist
Angstrom of each other)
- Parameters:
struc (schrodinger.structure.Structure) - The query structure. Neighbors will be found for each atom of
this structure. If not given, the structure passed to
__init__ will be used as the query structure.
atoms (list) - A list of atom numbers for the query structure. If given, only
the specified atoms will be examined. If not given, all atoms of
the query structure will be used.
- Returns: generator
- A generator that iterates through neighbors. Each iteration will
yield a tuple of:
-
An atom index from the query structure
-
A list of neighboring atom indices from the structure passed
to
__init__
Note:
This method returns atom indices instead of atom object due to
speed concerns. Profiling (using timeit) showed that:
-
returning atom indices instead of atom objects reduced runtime
by ~25%
-
using
coord = mm.mmct_atom_get_xyz(struc.handle,
atom_num) in place of coord =
struc.atom[atom_num].xyz also reduced runtime by ~25%
|