orthonym.assembly.handlers.azine#
Note
Internal API. Names and behaviour may change between releases.
W3-P15 azine handler — substitutive ‘ylidene’ derivatives of hydrazine .
An azine has the general structure R2C=N-N=CR2 (BB or the unsymmetrical R2C=N-N=CR’2. Preferred IUPAC names are formed SUBSTITUTIVELY as ‘ylidene’ derivatives of the parent hydride hydrazine, NOT by functional-class nomenclature (‘acetone azine’):
(CH3)2C=N-N=C(CH3)2 -> di(propan-2-ylidene)hydrazine (symmetric, P-…3.1) CH3CH2C(CH3)=N-N=C6H10 -> (butan-2-ylidene)(cyclohexylidene)hydrazine (P-…3.2)
The two C=N carbons carry the ylidene fragments. This handler perceives the acyclic C=N-N=C motif on the molecule graph (NOT via a global-table SMARTS — the motif also appears ring-internally in kekulised diazines, which are NOT azines), BFS-names each ylidene arm through the shared substituent pipeline, and combines them: identical arms -> ‘di(<X>ylidene)hydrazine’; distinct arms -> alphanumeric ‘(<A>ylidene)(<B>ylidene)hydrazine’.
Fail-closed (returns None -> the molecule keeps its cascade fallback) off this exact shape: any charge/radical, a ring-internal C=N-N=C, an N bearing anything but its =C and the N-N bond, a non-organyl arm, or any atom the two arms + the two nitrogens do not fully account for.
IUPAC cite:.
- orthonym.assembly.handlers.azine.name_azine(features, mol=None, style='pin')#
Name a bare azine as a substitutive ‘ylidene’ derivative of hydrazine.