orthonym.validation.polyester_twin#
Note
Internal API. Names and behaviour may change between releases.
The twin of a functional-class polyol polyester name: the same ester written with acyloxy prefixes.
propane-1,2,3-triyl 1,3-diacetate 2-propanoate is the preferred name of a polyester of one polyol and
different acids method (1), the Blue Book,:31833-:31836: “When anions are different, two
methods are used: (1) names of anions are cited in alphanumerical order preceded by a locant, when
required; multiplicative prefixes are used to denote a multiplicity of identical anionic components;
(2) one anion is chosen as principal anion and all other ester groups are expressed as prefixes in the name
of the organyl group. […] Method (1) generates preferred IUPAC names but names formed by using method (2)
are acceptable in general nomenclature”, the example ‘propane-1,2,3-triyl 1,2-diacetate 3-propanoate (PIN)
(2) 2,3-bis(acetyloxy)propyl propanoate’,:31840). OPSIN 2.9.0 cannot read the multi-anion form, and the
name used to ship with no read-back at all (the polyol_polyester grammar-gap carve-out).
The twin writes every anion word as an acyloxy prefix on the parent hydride of the polyol:
1,3-bis[acetyloxy]-2-[propanoyloxy]propane. Substitutive nomenclature names the same structure
,:31968: “Substitutive nomenclature is senior to functional class nomenclature for preferred
IUPAC for esters”, ‘4-(acetyloxy)benzoic acid (PIN)’), so the twin reads to the structure of the name if
the anion words are what the name says. It is a rewrite of the tokens of the name: the polyol parent
(‘propane-1,2,3-triyl’ to ‘propane’), each anion (‘acetate’ to ‘acetyloxy’, ‘octadecanoate’ to
‘octadecanoyloxy’, ‘carbamate’ to ‘carbamoyloxy’, ‘cyclopropane-1-carboxylate’ to
‘cyclopropane-1-carbonyloxy’) with the locants it is cited under, the multiplying prefix of a repeated
anion as ‘bis’/’tris’, and the stereodescriptor of the parent in front. A half ester (‘2-pentanedioate’)
has no acyloxy prefix OPSIN reads (‘pentanedioyloxy’ has a free valence), so the twin is not read and the
name does not ship: that name states the dianion, and (:31935) gives the substitutive name of
the acid as the preferred one.
The twin proves the structure and never the spelling: the producer owns the spelling.
- orthonym.validation.polyester_twin.polyester_twin(name)#
The acyloxy spelling of a polyol polyester name, or
nameitself when it is no such name or a word of it is not one the twin reads. Pure and deterministic.
- orthonym.validation.polyester_twin.polyester_has_free_acid(smiles)#
Whether the structure holds a free carboxylic acid group (or carboxylate): the residue of a polybasic acid that is esterified once, a half ester.
OPSIN reads the acyloxy twin of ‘propane-1,2,3-triyl 1,3-diacetate 2-glutamate’ to the structure of the glycerol diacetate glutamate, whose acyl keeps its free COOH (‘glutamyloxy’), so the read-back alone would verify an anion word that states the dianion. A polyester name of one polyol cites fully esterified anions of acids; a residue with another free acid group makes the compound an acid, the senior class, and
Partial esters of polybasic acids and their salts (the Blue Book): “(1) substitutively on
the basis of the anion, the free acid group(s) and the ester group(s) being cited as prefixes” and “Method (1) generates preferred IUPAC names” (:31941). The twin is not offered for such a structure: only the monobasic acid residues of a fully esterified polyol are read back, whatever the word for the anion is (the retained ‘glutamate’, ‘aspartate’, ‘malate’ and every systematic or substituted one).