orthonym.rules.polyazane#

Note

Internal API. Names and behaviour may change between releases.

Polyazane parent-hydride family / /.

Acyclic chains of nitrogen atoms joined by N-N bonds:

saturated: NN -> hydrazine, NNN -> triazane, NNNN -> tetraazane,… unsaturated: N=N -> diazene, N=NN -> triazene, N=NNN -> tetraaz-1-ene

(di-/trinuclear omit the ene locant, (d):2937;

tetraazene on keep it – tetraaz-1-ene vs -2-ene differ)

azo: R-N=N-R -> dimethyldiazene / diphenyldiazene

(diazene omits locants — each N is =N-;

substituted hydrazine: CNN -> methylhydrazine (N-N keeps 1,1-/1,2- locants)

hydrazine and diazene are retained / preselected PINs (NOT “diazane” / “diimide”); the longer members are systematic <multiplier>azane / …az-n-ene : no elision of the multiplier vowel -> “tetraazane”).

Graph classifier (NOT SMARTS — feedback_smarts_and_seniority). Fail-closed: an amine (no N-N bond), a diamine (N-C-C-N), hydroxylamine (N-O), a hydrazone (C=N-N: an ylidene substituent), an azide (N=N=N: two cumulated double bonds), or any charged / ring / radical species fails a guard and cascades onward.

orthonym.rules.polyazane.name_polyazane(mol)#

Return the PIN for a polyazane-family parent hydride, else None (fail-closed cascade-continuation). Pure: no mol mutation.