molsysmt.build.get_disulfide_bonds#
- molsysmt.build.get_disulfide_bonds(molecular_system, selection='all', structure_index=0, max_bond_length=None, group_names=['CYS'], pbc=True, syntax='MolSysMT', engine='MolSysMT', sorted=True, skip_digestion=False)[source]#
Identifying disulfide bonds between sulfur atoms.
This function detects disulfide bonds in a molecular system by finding pairs of sulfur atoms that belong to specified residue types (e.g., CYS) and lie within a covalent bond distance. These S–S bridges are returned as atom index pairs.
- Parameters:
molecular_system (molecular system) – Molecular system in any of the supported forms to be analyzed.
selection (index, tuple, list, numpy.ndarray or str, default 'all') – Selection of atoms to be considered for disulfide bond detection. This can be a list, tuple, or array of atom indices (0-based), or a string parsed using the specified selection syntax.
structure_index (int, default 0) – Index of the structure (frame) in which disulfide bonds will be searched.
max_bond_length (float or str with units, optional) – Maximum distance between two sulfur atoms to be considered a disulfide bond. If not provided, a default threshold (typically 2.05 Å) will be used.
group_names (list of str, default ['CYS']) – List of residue names to be considered as potential cysteine-like residues forming disulfide bonds.
pbc (bool, default True) – Whether to apply periodic boundary conditions when computing distances.
syntax (str, default 'MolSysMT') – Supported syntax used to parse the selection argument (if string).
engine ({'MolSysMT'}, default 'MolSysMT') – Engine used to perform the analysis. Currently only ‘MolSysMT’ is supported.
sorted (bool, default True) – Whether to sort the indices in each pair (i.e., smaller index first).
- Returns:
Array of atom index pairs (each a disulfide bond) detected in the selected atoms and structure.
- Return type:
numpy.ndarray of shape (n, 2)
- Raises:
NotSupportedFormError – If the molecular system format is not supported.
ArgumentError – If input values do not meet required conditions.
Notes
Sulfur atoms are identified based on element type and filtered by group name (e.g., ‘CYS’).
This function assumes that disulfide bonds are formed between SG atoms of cysteines or equivalent residues.
Distance units are internally standardized to nanometers.
See also
molsysmt.build.add_bonds()
Manually add bonds between specific atom pairs.
molsysmt.structure.get_neighbors()
Find neighboring atoms within a distance or bond limit.
molsysmt.build.get_missing_bonds()
Automatically infer missing covalent bonds.
Examples
>>> import molsysmt as msm >>> molsys = msm.convert('5XJH') >>> s_s_pairs = msm.build.get_disulfide_bonds(molsys, max_bond_length='2.15 angstroms') >>> s_s_pairs.shape (2, 2)
User guide
Follow this link for a tutorial on how to work with this function: User Guide > Tools > Build > Get disulfide bonds
Added in version 1.0.0.