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;
Noneuses 0.205 nm.group_names (list of str or None, default=None) – Eligible group names;
NoneselectsCYS.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.