schrodinger.structutils.interactions.hbond module

Module for identifying hydrogen and halogen bond interactions.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.structutils.interactions.hbond.get_maestro_params(interaction_type)

Gets current Maestro preference values. Use like:

try:
params = get_maestro_params(hbonds.HYDROGEN_BONDS)
except schrodinger.MaestroNotAvailableError:
params = get_default_params(hbonds.HYDROGEN_BONDS)

pairs = get_donor_acceptor_bonds(params, st1, atoms1, st2, atoms2)

This attempts to read all current Maestro defaults. However, there is no current way to gaurantee that it is complete or exhaustive.

schrodinger.structutils.interactions.hbond.get_default_params(interaction_type)

Get query parameters for an interaction type.

schrodinger.structutils.interactions.hbond.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 (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 (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 preference default value will be used. (Not the current user setting).
  • min_donor_angle (float) – Minimum allowable donor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • min_acceptor_angle (float) – Minimum allowable acceptor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • max_acceptor_angle (float) – Maximum allowable acceptor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • honor_pbc (bool) – Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
Returns:

A list of (donor atom object, acceptor atom object) for each hydrogen bond between the subsets of atoms.

Return type:

list of (structure._StructureAtom, structure._StructureAtom) tuples

schrodinger.structutils.interactions.hbond.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 (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 (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 preference default value will be used. (Not the current user setting).
  • min_donor_angle (float) – Minimum allowable donor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • min_acceptor_angle (float) – Minimum allowable acceptor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • max_acceptor_angle (float) – Maximum allowable acceptor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • honor_pbc (bool) – Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
Returns:

A list of (donor atom object, acceptor atom object) for each halogen bond between the subsets of atoms.

Return type:

list of (structure._StructureAtom, structure._StructureAtom) tuples

schrodinger.structutils.interactions.hbond.get_aromatic_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 aromatic 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 (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 (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 preference default value will be used. (Not the current user setting).
  • min_donor_angle (float) – Minimum allowable donor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • min_acceptor_angle (float) – Minimum allowable acceptor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • max_acceptor_angle (float) – Maximum allowable acceptor angle. If not specified, the Maestro preference default value will be used. (Not the current user setting).
  • honor_pbc (bool) – Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
Returns:

A list of (donor atom object, acceptor atom object) for each hydrogen bond between the subsets of atoms.

Return type:

list of (structure._StructureAtom, structure._StructureAtom) tuples

schrodinger.structutils.interactions.hbond.get_donor_acceptor_bonds(params, st, atoms1=None, st2=None, atoms2=None, honor_pbc=True)

Get the requested type of interactions

Parameters:
  • params (list(schrodinger.infra.structure.AtomQueryParams)) – Parameters for accepting a donor/acceptor pair.
  • st (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 (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.
  • honor_pbc (bool) – Honor Periodic Boundary Conditions, if defined as properties in the structure, and if st is equal to st2. Default is True.
Returns:

A list of (donor atom object, acceptor atom object) for each hydrogen bond between the subsets of atoms.

Return type:

list of (structure._StructureAtom, structure._StructureAtom) tuples