orthonym.rules.diacylhydrazides#

Note

Internal API. Names and behaviour may change between releases.

1,2-Diacylhydrazines R-CO-NH-NH-CO-R’: the senior hydrazide substituted by the other acyl group.

“Substituted hydrazides” (the Blue Book): “Acyl, diacyl, and triacyl derivatives of

hydrazides are named by substituting the senior hydrazide by the appropriate acyl groups (the senior hydrazide is the one derived from the senior acid). Names based on substitution of the parent hydride ‘hydrazine’ are no longer recommended even in general nomenclature.” (:34046) gives the italic locants N (the nitrogen of the C=O) and N’ (the terminal one); (:33900) “The method of naming hydrazides as acyl derivatives of hydrazine is no longer recommended”. (:18162): hydrazides are class 12.

Before this module every producer wrote a wrong name for the class (‘1-(acetamidoamino)ethanehydrazide’, ‘2-phenyl-1-oxa3,4-diazahexanehydrazide’, ‘benzohydrazide’ with the benzoyl dropped); only the OPSIN gate and kept them off the output.

Built like the N-substituted sulfonamides (rules.sulfonamides): the junior acyl and the N substituents are EXCISED, the remaining R-CO-NH-NH2 is named by the pipeline (so the parent spelling is never written twice: benzohydrazide, thiophene-2-carbohydrazide, propanehydrazide), and the junior acyl (the shared acyl-prefix primitive, assembly.substituent_naming.acyl_prefix_from_branch) and the N substituents join the parent’s own prefix in ONE alphanumerically ordered block (rules.locanted_prefixes), ‘4-methoxy-N’-(…acetyl) benzohydrazide’. The parent prefix is read off the parent name against the structurally derived bare stem; anything that cannot be split with certainty is declined (None), and the old path runs unchanged.

Scope: exactly one acyclic N-N bond that carries exactly two acyl groups R-CO- (R a carbon), further N substituents carbon groups; a neutral molecule with no stereo element; the senior acid decided by

  1. ‘a ring or ring system has seniority over a chain’ (:19340) and, between two chains, by the

longer one; a tie that is not two identical acyl groups is declined. A parent that carries more than one prefix group is declined (the merge of several groups is not built).

orthonym.rules.diacylhydrazides.find_pair(mol)#

The one N-N unit with two acyl groups, classified, or None when this module does not own the molecule.

orthonym.rules.diacylhydrazides.name_diacylhydrazide(mol, style='pin')#

The PIN of a 1,2-diacylhydrazine, or None (the caller’s other producers run unchanged).