Package schrodinger :: Package structutils :: Package interactions :: Module hbond
[hide private]
[frames] | no frames]

Module hbond

Module for identifying hydrogen and halogen bond interactions.

Copyright Schrodinger, LLC. All rights reserved.

Functions [hide private]
 
_get_standardized_atom_set(st, atoms1, st2, atoms2)
Checks atom list and structures passed for None values and determines the appropriate value for these parameters to be used by the cppstructure interaction functions.
list of (int, int) tuples
_get_interactions(st, atoms1=None, st2=None, atoms2=None, max_dist=None, min_donor_angle=None, min_acceptor_angle=None, max_acceptor_angle=None, interaction_type=0, honor_pbc=True)
Return hydrogen or halogen bonds formed between two sets of atoms.
list of (int, int) tuples
get_hydrogen_bonds(st, atoms1=None, st2=None, atoms2=None, max_dist=None, min_donor_angle=None, min_acceptor_angle=None, max_acceptor_angle=None, honor_pbc=True)
Return hydrogen bonds meeting the specified threshold criteria.
list of (int, int) tuples
get_halogen_bonds(st, atoms1=None, st2=None, atoms2=None, max_dist=None, min_donor_angle=None, min_acceptor_angle=None, max_acceptor_angle=None, honor_pbc=True)
Return halogen bonds meeting the specified threshold criteria.
Variables [hide private]
  HALOGEN_BONDS = 1
  HYDROGEN_BONDS = 0
hash(x)
  __package__ = 'schrodinger.structutils.interactions'
Function Details [hide private]

_get_standardized_atom_set(st, atoms1, st2, atoms2)

 

Checks atom list and structures passed for None values and determines the appropriate value for these parameters to be used by the cppstructure interaction functions.

Also checks if an atom list is explicitly passed as None and returns a full list of atom indices if so.

Raises a ValueError when an empty atom list is passed.

Parameters:
  • st - Structure containing the atoms
  • atoms1 (iterable or None) - Iterable of atom objects or indices or None
  • st2 (schrodinger.structure.Structure or None) - Second structure containing atoms2 atoms or None. if None, st will be used.
  • atoms2 (iterable or None) - Iterable of atom objects or indices or None
  • structure (schrodinger.structure.Structure)
Returns:
(1st structure, 1st atom list, 2nd structure, 2nd atom list) @rtype tuple

_get_interactions(st, atoms1=None, st2=None, atoms2=None, max_dist=None, min_donor_angle=None, min_acceptor_angle=None, max_acceptor_angle=None, interaction_type=0, honor_pbc=True)

 

Return hydrogen or halogen bonds formed between two sets of atoms. Criteria for donor and acceptor angles and bond distance can be set. If not set, the criteria set in Maestro preferences will be used.

Both intra and inter structure interactions can be found based on the following:

1) If only a single structure is passed and no atom sets are specified, all interaction within that structure will be identified.

2) If a single structure is passed and only atoms1 is specified, interactions between atoms in that set and all other atoms in the structure will be found.

3) If a single structure is passed and both atoms1 and atoms2 are specified, interactions between these two sets within the structure will be found.

4) If two structures are passed, interactions between atoms from st within atoms1 and atoms in st2 within atoms2 will be found. If either atom set is None, all atoms in that structure will be considered.

Note that if either atom set is specified as an empty iterator rather than None, a ValueError will be raised.

Parameters:
  • st (schrodinger.structure.Structure) - First structure to detect interactions for. If st2 is also specified, interactions between the specified atom subsets for each structure will be identified. Otherwise, interactions within this structure will be identified.
  • atoms1 - First set of atom indices to check within st. If not specified, all atoms will be used.
  • st2 (schrodinger.structure.Structure or None) - Structure containing the atoms specified in atoms2. If None, st will be used for both sets.
  • atoms2 (list of ints or structure._StructureAtom objects or None) - Second set of atom indices to check within st. If not specified, all atoms will be used.
  • max_dist (float) - Maximum allowable bond distance. If not specified, the Maestro preferences value will be used.
  • min_donor_angle (float) - Minimum allowable donor angle. If not specified, the Maestro preferences value will be used.
  • min_acceptor_angle (float) - Minimum allowable acceptor angle. If not specified, the Maestro preferences value will be used.
  • max_acceptor_angle (float) - Maximum allowable acceptor angle. If not specified, the Maestro preferences value will be used.
  • interaction_type (int) - Type of interaction to identify. Should be one of l{HYDROGEN_BONDS}, l{HALOGEN_BONDS}
  • honor_pbc (bool) - Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
  • atom_set (list of ints or structure._StructureAtom objects or None)
Returns: list of (int, int) tuples
A list of (donor atom index, acceptor atom index) for each hydrogen or halogen bond between the subsets of atoms.

get_hydrogen_bonds(st, atoms1=None, st2=None, atoms2=None, max_dist=None, min_donor_angle=None, min_acceptor_angle=None, max_acceptor_angle=None, honor_pbc=True)

 

Return hydrogen bonds meeting the specified threshold criteria. See get_interactions for details on how structure and atom set parameters are interpreted. Any threshold not specified will default to the Maestro preferences threshold.

Parameters:
  • st (schrodinger.structure.Structure) - Structure containing the two atom sets.
  • atoms1 - First set of atom indices to check within st. If not specified, all atoms will be used.
  • st2 (schrodinger.structure.Structure or None) - Structure containing the atoms specified in atoms2. If None, st will be used for both sets.
  • atoms2 (list of ints or structure._StructureAtom objects or None) - Second set of atom indices to check within st. If not specified, all atoms will be used.
  • max_dist (float) - Maximum allowable bond distance. If not specified, the Maestro preferences value will be used.
  • min_donor_angle (float) - Minimum allowable donor angle. If not specified, the Maestro preferences value will be used.
  • min_acceptor_angle (float) - Minimum allowable acceptor angle. If not specified, the Maestro preferences value will be used.
  • max_acceptor_angle (float) - Maximum allowable acceptor angle. If not specified, the Maestro preferences value will be used.
  • honor_pbc (bool) - Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
  • atom_set (list of ints or structure._StructureAtom objects or None)
Returns: list of (int, int) tuples
A list of (donor atom index, acceptor atom index) for each hydrogen bond between the subsets of atoms.

get_halogen_bonds(st, atoms1=None, st2=None, atoms2=None, max_dist=None, min_donor_angle=None, min_acceptor_angle=None, max_acceptor_angle=None, honor_pbc=True)

 

Return halogen bonds meeting the specified threshold criteria. See get_interactions for details on how structure and atom set parameters are interpreted. Any threshold not specified will default to the Maestro preferences threshold.

Parameters:
  • st (schrodinger.structure.Structure) - Structure containing the two atom sets.
  • atoms1 - First set of atom indices to check within st. If not specified, all atoms will be used.
  • st2 (schrodinger.structure.Structure or None) - Structure containing the atoms specified in atoms2. If None, st will be used for both sets.
  • atoms2 (list of ints or structure._StructureAtom objects or None) - Second set of atom indices to check within st. If not specified, all atoms will be used.
  • max_dist (float) - Maximum allowable bond distance. If not specified, the Maestro preferences value will be used.
  • min_donor_angle (float) - Minimum allowable donor angle. If not specified, the Maestro preferences value will be used.
  • min_acceptor_angle (float) - Minimum allowable acceptor angle. If not specified, the Maestro preferences value will be used.
  • max_acceptor_angle (float) - Maximum allowable acceptor angle. If not specified, the Maestro preferences value will be used.
  • honor_pbc (bool) - Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
  • atom_set (list of ints or structure._StructureAtom objects or None)
Returns: list of (int, int) tuples
A list of (donor atom index, acceptor atom index) for each halogen bond between the subsets of atoms.