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 returnsNoneto 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
Noneto fall through to the legacy path when the structure is outside the clean acyclic-parent class this namer owns.