orthonym.decomposition.bond_cleavage#

Note

Internal API. Names and behaviour may change between releases.

Bond cleavage detection for decomposition engine.

Identifies ester, amide, glycosidic, carbamate, ether, phosphodiester, thioester, and sulfonamide bonds suitable for cleavage, with guards to exclude cyclic variants (lactones, lactams, thiolactones, sultams, epoxides, cyclic phosphodiesters) and overlapping patterns (carbamates, ureas, skeletal replacement chains).

orthonym.decomposition.bond_cleavage.find_cleavable_bonds(mol)#

Find cleavable bonds in a molecule.

Detects 8 bond types: carbamate, phosphodiester, ester, thioester, amide, sulfonamide, glycosidic, and ether bonds. Excludes cyclic variants (lactones, lactams, thiolactones, sultams, cyclic phosphodiesters, epoxides) and overlapping patterns (carbamates, ureas, skeletal replacement chains).

The detection order matters: 1. Carbamates are detected first to mark overlapping carbonyl C atoms. 2. Phosphodiesters are detected (P-O bond to alkyl C). 3. Esters are detected, skipping any carbonyl C already in a carbamate. 4. Thioesters are detected (C(=O)-S-C), skipping carbamate overlap

and thiolactones.

  1. Amides are detected, skipping any carbonyl C already in a carbamate.

  2. Sulfonamides are detected (S(=O)(=O)-N), excluding sultams.

  3. Glycosidic bonds are detected independently.

  4. Ether bonds are detected with 5 guards (ring, ester-exclusion, glycosidic-exclusion, skeletal-replacement, minimum-fragment-size).

Parameters:

mol – RDKit Mol object

Returns:

List of dicts with keys – bond_idx, type, match, acid_atom, alkyl_atom (for esters/ethers/thioesters/phosphodiesters/sulfonamides) or amine_atom (for amides).

Return type:

List[Dict]