orthonym.rules.anhydrides#

Note

Internal API. Names and behaviour may change between releases.

Anhydride naming using IUPAC functional class nomenclature.

Anhydrides use “functional class” naming:

Symmetric: “{acid name} anhydride” Mixed: “{acid1} {acid2} anhydride” (alphabetical order) Cyclic: “{diacid name} anhydride”

Examples

CC(=O)OC(=O)C -> ethanoic anhydride (symmetric) CC(=O)OC(=O)CC -> ethanoic propanoic anhydride (mixed, alphabetical) CCC(=O)OC(=O)CCC -> butanoic anhydride (symmetric) O=C1CCC(=O)O1 -> butanedioic anhydride (cyclic, from succinic acid) O=C1CCCC(=O)O1 -> pentanedioic anhydride (cyclic, from glutaric acid)

The acid name derives from the acyl fragment:

ethanoyl + ethanoyl -> ethanoic acid -> “ethanoic anhydride”

Reference: IUPAC 2013 Blue Book, (Acid anhydrides)

orthonym.rules.anhydrides.name_anhydride(features)#

Name an anhydride compound using functional class nomenclature.

Parameters:

features – MolecularFeatures with principal_group == ‘anhydride’.

Returns:

IUPAC name string, or None if not an anhydride.

Return type:

str | None

orthonym.rules.anhydrides.get_anhydride_consumed_atoms(functional_groups)#

Get the set of atom indices consumed by anhydride groups.

The bridge oxygen and ester-like bonds in anhydrides should be filtered from ester FG detection to prevent double-counting.

Parameters:

functional_groups (dict) – Dict from detect_functional_groups.

Returns:

Set of all atom indices that are part of anhydride groups.

Return type:

set