Get missing bonds#

Identifying missing covalent bonds in a molecular system.

Some molecular systems may lack explicit bond definitions in their topology. The function molsysmt.build.get_missing_bonds() returns candidate missing atom pairs from group templates and distance criteria without modifying the source. These heuristics do not certify a complete chemical graph.

Peptide candidates require consecutive source group indices in the same defined chain and a compatible C–N distance. A selection cannot make separated groups adjacent, and group IDs need not be consecutive. Integer selections are atom indices; both endpoints of every returned pair must belong to the selection. Distances use the requested structure, length units and PBC convention. Groups with missing or ambiguous chain membership do not contribute peptide candidates. File segment breaks cannot constrain candidates unless the source adapter preserves them.

Added in version 1.0.0.

Basic usage#

Let’s show how this function works by building a peptide and intentionally removing a covalent bond:

import molsysmt as msm
molsys = msm.build.build_peptide('AceAlaNme')

Let’s inspect the first covalent bonds in the system using molsysmt.basic.get():

msm.get(molsys, element='bond', selection=[0, 1, 2], bonded_atoms=True)
[0, 1, 2, 3]

Now we remove the first bond (index 0) from the system topology:

molsys.topology.remove_bonds([0])

We now run molsysmt.build.get_missing_bonds() to detect the missing covalent bond:

msm.build.get_missing_bonds(molsys)
[[0, 1]]