orthonym.rules.added_carbon_parent#

Note

Internal API. Names and behaviour may change between releases.

Added-carbon multi-suffix parent naming (DD1 Fix 2, Blue Book /

/.

When three or more carboxylic-acid / carboxamide / carbonitrile groups are present on an acyclic skeleton they cannot all be expressed as chain-terminal -oic acid / -amide / -nitrile suffixes (a chain has only two ends), so the PIN names the parent hydride formed by removing the carbonyl/nitrile carbons and appends a multiplied carbo* added-carbon suffix, citing one locant per attachment atom:

NC(=O)C(C(=O)N)C(=O)N -> methanetricarboxamide
CCCC(C#N)(C#N)C#N -> butane-1,1,1-tricarbonitrile
OC(=O)CC(C(=O)O)CC(=O)O -> propane-1,2,3-tricarboxylic acid

Why n >= 3 and NOT geminal-2: two such groups can ALWAYS be routed as the two termini of a single chain (HOOC-CH2-COOH -> propanedioic acid, the carbonyl carbons + the bridging carbon form a 3-atom chain), so the chain-suffix form wins for n<=2. Only at n>=3 does the chain run out of ends, forcing the added-carbon form that expresses the maximum number of groups as the suffix : maximum number of skeletal/principal groups expressed as suffix).

The namer is deliberately SCOPED to a clean acyclic carbon parent (every parent carbon’s only non-chain heavy neighbours are the added carbons). A decorated parent (extra substituents, heteroatoms, unsaturation, rings) returns None so the caller falls through to the legacy path — never a wrong name. Ring-attached added-carbon suffixes (cyclohexane-1,2-dicarboxylic acid) are already handled by the ring suffix path and are intentionally excluded here.

orthonym.rules.added_carbon_parent.requires_added_carbon_suffix(mol, fg_name, pg_matches)#

Cheap structural gate: principal group is acid/amide/nitrile and there are >= 3 distinct instances. The rigorous acyclic-clean-parent validation lives in name_added_carbon_parent(), which returns None to fall through.

orthonym.rules.added_carbon_parent.name_added_carbon_parent(features, style='pin')#

Name an acyclic >=3-group added-carbon multi-suffix molecule, or None to fall through to the legacy path when the structure is outside the clean acyclic-parent class this namer owns.