molsysmt.interactions.disulfides.get_disulfide_candidates#

molsysmt.interactions.disulfides.get_disulfide_candidates(molecular_system, selection='all', structure_indices='all', max_bond_length=None, group_names=None, pbc=True, syntax='MolSysMT', sorted=True, skip_digestion=False, *, output_type='tuple')[source]#

Identifying candidate disulfide atom pairs in selected structures.

Sulfur atoms in different selected groups are candidates when their separation does not exceed max_bond_length. Geometry alone does not establish a covalent bond; inspect the topology to determine which bonds are recorded.

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 atoms.

  • structure_indices (int, list, tuple, or numpy.ndarray, default='all') – Structure indices (0-based) to inspect, in the requested order.

  • max_bond_length (quantity or None, default=None) – Maximum S–S separation; None uses 0.205 nm.

  • group_names (list of str or None, default=None) – Eligible group names; None selects CYS.

  • pbc (bool, default=True) – Whether to apply periodic boundary conditions when a box is available.

  • syntax (str, default='MolSysMT') – Selection syntax used to evaluate selection.

  • sorted (bool, default=True) – Whether to sort candidate pairs by atom indices.

  • output_type ({'tuple', 'molsysmt.Interactions'}, default='tuple') – Return the existing pair and distance lists, or a sparse analysis with explicit evaluated coverage, atom scope, and observed images.

  • skip_digestion (bool, default=False) – Whether to skip MolSysMT’s internal argument digestion mechanism.

Returns:

By default, (atom_pairs, distances) with one entry per requested structure. Each pair array has shape (n_candidates, 2) and global atom indices; its aligned distance array is a quantity in nanometers. Empty evaluated structures contain arrays with shapes (0, 2) and (0,). The optional analysis uses the original system’s atom and structure indices.

Return type:

tuple of list or molsysmt.Interactions

Notes

Candidate pairs are observations in individual structures. They do not change the molecular topology or imply that a recorded bond is missing. The optional analysis records the calculation-time MolSysMT version in software, independently of the version used to save or load it. Analysis parameters record the sulfur_sulfur_distance criterion and calculation bibliography. Optional Ackredit sessions collect completed calculations; the default tuple output retains its existing layout.

See also

molsysmt.build.get_disulfide_bonds()

Get candidate pairs in the build API for one structure.

Examples

>>> import molsysmt as msm
>>> from molsysmt import pyunitwizard as puw
>>> from molsysmt.interactions.disulfides.get_disulfide_candidates import get_disulfide_candidates
>>> builder = msm.MolSysBuilder()
>>> first = builder.add_atom(atom_name="SG", atom_type="S")
>>> second = builder.add_atom(atom_name="SG", atom_type="S")
>>> _ = builder.add_group([first], group_name="CYS")
>>> _ = builder.add_group([second], group_name="CYS")
>>> builder.set_coordinates(puw.quantity([[0, 0, 0], [0.2, 0, 0]], "nm"))
>>> molsys = builder.build()
>>> result = get_disulfide_candidates(
...     molsys, pbc=False, output_type="molsysmt.Interactions")
>>> result.n_interactions
1

User guide

See Get disulfide bonds for a tutorial on per-structure candidates and the build wrapper.

Added in version 1.0.0.