orthonym.assembly.handlers.nitrate_ester#

Note

Internal API. Names and behaviour may change between releases.

Nitrate-ester handler – functional-class naming.

An ester of nitric acid R-O-NO2 is named in the two-word functional-class form <R> nitrate. (heading ‘Esters of mononuclear noncarbon oxoacids’, the Blue Book),:35918: “Esters of mononuclear noncarbon acids are named in the same way as esters of organic acids (see. Alkyl groups, aryl groups, etc. are cited as separate words, in alphanumerical order when more than one, and followed by the name of the appropriate anion.” The nitrous-acid sibling is ‘pentyl nitrite (PIN)’ (:35922), built by handlers/nitrite_ester.py; nitric acid is monobasic and its anion is ‘nitrate’.

The group is perceived as nitrooxy ([O-][N+](=O)O-C, the charge-separated drawing). ‘nitrooxy’ is the preselected prefix of the ester group, :36401, ‘-O-NO2 nitrooxy (preselected prefix)’:36405), used when a senior class names the parent (‘3-(nitrooxy)propanoic acid’, ‘ethyl 3-(nitrooxy)propanoate’); it has no suffix, so a molecule whose only characteristic group is the ester has no principal group, and without this producer it was named substitutively as ‘(nitrooxy)ethane’, which is not the PIN, Table 4.1,:18182: esters, class 9, rank above every class a prefix-only group can express).

Scope, fail-closed (None) outside it:
  • the oxygen carries an alcohol component: an acyl, thioacyl or imidoyl carbon there makes a mixed anhydride,:32272), named by the anhydride producer (‘acetic nitric anhydride’);

  • one nitric-acid ester group, or several on one clean acyclic polyol, named with a multivalent organyl group, ‘Polyesters formed from a single ‘alcoholic’ component’,:31815;,:31819, ‘ethane-1,2- diyl diacetate (PIN)’:31823): ‘propane-1,2,3-triyl trinitrate’. Any other shape with several nitrate groups keeps its prefix name below the PIN.

  • no principal characteristic group, or one of a class junior to the esters ,:18182; nitrite_ester.principal_group_is_junior_to_esters), which the alcohol component then cites as a prefix (‘2-hydroxyethyl nitrate’, ‘2-acetamidoethyl nitrate’); and no nitrite ester, so any group that could compete with the ester for the parent defers;

  • the molecule is neutral apart from the N+/O- pair of the nitrate group, and the alcohol component plus the four atoms of the group are the whole molecule.

orthonym.assembly.handlers.nitrate_ester.name_nitrate_ester(features, mol=None, style='pin')#

Emit <R> nitrate for an ester of nitric acid R-O-NO2.

From the nitrooxy match (O-, N+, =O, ester O, R carbon) the alcohol component R (the subgraph at the R carbon that does not cross the ester oxygen) is named by the universal substituent pipeline and joined as "<R> nitrate". Returns None (defer) when R cannot be named or the molecule is outside the scope of the module docstring.