orthonym.validation.spelling.polyazane_parent#

Note

Internal API. Names and behaviour may change between releases.

: the molecules whose senior parent hydride is a hydrazine or a diazene.

One home of the structural question “is the hydrazine (or the diazene) unit the parent hydride of this molecule?”, asked by the producer that names the polyazane (rules.polyazane) and by the spelling check that declines a ‘hydrazinyl’ (‘diazenyl’) prefix for such a molecule (validation.spelling.checks_parent,. Asked in one place, the producer names exactly the molecules for which the check calls the prefix name wrong, and no others.

“Seniority of classes”: “The senior parent structure, whether cyclic or acyclic, has the

senior atom in accordance with the seniority of classes (see expressed by the following decreasing element order: N > P > As > Sb > Bi > Si > Ge > Sn > Pb > B > Al > Ga > In > Tl > O > S > Se > Te > C. This criterion is applied to select the senior atom in parents and to choose between rings and chains” (the Blue Book);: “A single senior atom is sufficient to give seniority to the parent hydride” (:18919), with ‘1-(2H-pyran-3-yl)-2-(silolan-2-yl)hydrazine (PIN) (N > Si > O)’ (:18950). class 21 (:18197): “Nitrogen compounds: heterocycles, polyazanes, hydrazines (except for hydrazides), diazenes, hydroxylamines, azanes (except for amides, amines, and imines)”. A hydrazine unit is therefore the parent hydride of a molecule with no characteristic group of the classes 1 to 20 and no nitrogen ring (a heterocycle precedes it in class 21): ‘phenylhydrazine (PIN)’ (:38535). A diazene unit is in the same class, and is the parent of an azo compound that carries no such group: “Symmetrical monoazo compounds” (:38759) names it “by substituting the parent diazene, HN=NH, by the appropriate substituent groups” (:38761), ‘(3-chlorophenyl) (4-chlorophenyl)diazene (PIN)’ (:38774), and (:38778) “Method (1) leads to preferred IUPAC names” (:38783) for the unsymmetrical ones; with a principal characteristic group the group is the suffix and the azo unit a ‘diazenyl’ prefix (‘4-(phenyldiazenyl)benzene-1-sulfonic acid (PIN)’,:38798).

RDKit only: no naming code, no OPSIN. The module is in the spelling package because the checks of that package read RDKit and the name only (tests/unit/validation/test_pin_spelling_interface.py); the producer imports it from here, so the rule has the one home.

orthonym.validation.spelling.polyazane_parent.diazene_is_senior_parent(mol)#

True when mol is one component whose only nitrogen atoms are the two of ONE acyclic azo unit R-N=N-R’ (carbon on both), with no nitrogen ring, no N-N-N chain and no characteristic group of the classes 1 to 20: the diazene is then the parent hydride;,:38759). A molecule with two azo groups is the bis(azo) case of (:38815), which is not decided here.

orthonym.validation.spelling.polyazane_parent.hydrazine_is_senior_parent(mol)#

True when mol is one component with an acyclic N-N bond, no nitrogen ring (a ring of nitrogen is a heterocycle, which precedes the hydrazines in class 21), no N-N-N chain (a polyazane precedes a hydrazine) and no characteristic group of the classes 1 to 20 (only_hydrazine_is_functional()): the hydrazine is then the parent hydride.

orthonym.validation.spelling.polyazane_parent.only_hydrazine_is_functional(mol)#

_only_unit_is_functional() for the hydrazine unit (an acyclic N-N bond, one or more units).

orthonym.validation.spelling.polyazane_parent.polyazane_is_senior_parent(mol)#

True when the hydrazine or the diazene is the parent hydride of mol.