molsysmt.interactions.hbonds.get_donor_atoms#

molsysmt.interactions.hbonds.get_donor_atoms(molecular_system, selection='all', inclusion_rules=None, exclusion_rules=None, default_inclusion_rules=True, default_exclusion_rules=True, syntax='MolSysMT')[source]#

Identifying donor atoms and their covalently attached hydrogens.

Parameters:
  • molecular_system (molecular system) – Molecular system in any supported MolSysMT format.

  • selection (str, list, tuple, or numpy.ndarray, default='all') – Selection string or boolean/integer array specifying elements.

  • inclusion_rules (list of str or None, default=None) – Additional atom-selection rules identifying donor heavy atoms.

  • exclusion_rules (list of str or None, default=None) – Additional atom-selection rules excluding donor heavy atoms.

  • default_inclusion_rules (bool, default=True) – Whether to apply default chemical inclusion rules.

  • default_exclusion_rules (bool, default=True) – Whether to apply default chemical exclusion rules.

  • syntax (str, default='MolSysMT') – Selection syntax used to evaluate selection (e.g., ‘MolSysMT’, ‘MDTraj’).

Returns:

Integer array of covalently bonded donor–hydrogen pairs with shape (n, 2), sorted by donor and then hydrogen index. Row sorting keeps each covalent pair intact even when the two index orders differ.

Return type:

numpy.ndarray

Examples

>>> import molsysmt as msm
>>> from molsysmt.interactions.hbonds.get_donor_atoms import get_donor_atoms
>>> builder = msm.MolSysBuilder()
>>> _ = [builder.add_atom(atom_name=name, atom_type=kind) for name, kind in
...      [("N1", "N"), ("H2", "H"), ("N2", "N"), ("H1", "H")]]
>>> _ = builder.add_group([0, 1, 2, 3], group_name="ALA")
>>> _ = builder.add_bond(0, 3)
>>> _ = builder.add_bond(2, 1)
>>> get_donor_atoms(builder.build()).tolist()
[[0, 3], [2, 1]]

User guide

See Get donor atoms for selecting covalent donor pairs.

Added in version 1.0.0.