orthonym.validation.spelling.checks_parent#
Note
Internal API. Names and behaviour may change between releases.
Spelling checks of the parent choice,,,,,,; registered with:func:orthonym.validation.pin_spelling.register).
The senior class present comes from RDKit SMARTS; the class, parent and prefixes the name cites are read lexically. No naming code, no OPSIN.
- orthonym.validation.spelling.checks_parent.principal_chain_check(mol, name)#
The principal chain of a name is the one the criteria choose.
(:20916) the principal chain has the greater number of skeletal atoms, length before
unsaturation (:18865; ‘2-ethylideneoctanoic acid (PIN) [not 2-hexylbut-2-enoic acid…]’ :29938); then, for chains as long, the cascade of (:21016) for a parent chain and of
‘THE PRINCIPAL SUBSTITUENT CHAIN’ (:22632) for a substituent chain:
(d) the greater number of multiple bonds regardless of type, then of double bonds :21033,:21066;:22682), (i) the lowest locants for multiple bonds regardless of type, then for double bonds
:21366;:22726; ‘hept-1-en-6-yn-4-yl (preferred prefix)’:17256),
(k) the maximum number of substituents cited as prefixes:21604, ‘N,N,2-trimethyl-3- {…}propanamide (PIN)’:21624;:22740) and (l) their lowest locants:21698;:22768, ‘4-hydroxy-3-(2-hydroxyethyl)pentan- 2-yl (preferred prefix)’:22780).
A prefix at locant i of an unbranched carbon chain that is itself an acyclic carbon chain attached at its C1 gives one alternative parent through it, replacing the tail of the chain on one side of i; the name fails when the alternative wins at the first criterion that tells the two apart. A tie, or a branch the reader does not hold with certainty, passes.
- orthonym.validation.spelling.checks_parent.n_aryl_parent_check(mol, name)#
(:21604), example (:21610) ‘4-methoxy-N-phenylaniline (PIN) [not N-(4-methoxyphenyl)aniline…]’: of two identical rings joined through the amine nitrogen, the parent carries more prefixes.
- orthonym.validation.spelling.checks_parent.principal_class_check(mol, name)#
(:18162) seniority of classes: the class the name cites as its suffix is the senior class present in the structure. Functional class names (esters, anhydrides, salts), charged species and radicals are not read here.
- orthonym.validation.spelling.checks_parent.principal_group_count_check(mol, name)#
(:18875) “The senior parent structure has the maximum number of substituents corresponding to the principal characteristic group (suffix)… in accord with the seniority of classes and the seniority of suffixes “: a prefix of the suffix’s class on the parent itself (‘2-carboxybenzoic acid’, not the PIN ‘benzene-1,2-dicarboxylic acid’, :4975), or a substituent that carries more of them; (:24096) “for the same number of characteristic groups cited as the principal characteristic group, a ring is always selected as the parent hydride”. When the cited suffix is a junior suffix of the class (a ‘carbamoyl’ prefix beside a ‘sulfonamide’ suffix, ‘oxo’ beside ‘thione’), the name already fails at the choice of the principal characteristic group, (:18470, Table 4.4:18597): the failure is reported as in each of the three cases.
- orthonym.validation.spelling.checks_parent.hydrazine_parent_check(mol, name)#
(:18917): “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 >… > O > S > Se > Te > C. This criterion is applied to select the senior atom in parents and to choose between rings and chains”; (:18919): “A single senior atom is sufficient to give seniority to the parent hydride.” 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 classes 1 to 20 and no nitrogen ring (a heterocycle precedes it in class 21): ‘phenylhydrazine (PIN)’ (:38535), and its name cites no ‘hydrazinyl’ prefix. A name that does is not the PIN of such a molecule (‘1-chloro-4-hydrazinylbenzene’ for 4-chlorophenylhydrazine). So is a diazene unit of an azo compound: (:38759) “by substituting the parent diazene, HN=NH, by the appropriate substituent groups”, ‘(3-chlorophenyl)(4-chlorophenyl)diazene (PIN)’ (:38774); the ‘diazenyl’ prefix is for an azo group beside a principal characteristic group (‘4-(phenyldiazenyl)benzene-1-sulfonic acid (PIN)’,:38798), and a name that cites it for a molecule without one (‘1-chloro-4-(phenyl diazenyl)benzene’) is not the PIN.
Structure side (RDKit only,
polyazane_parent, which the producerrules.polyazaneasks as well):hydrazine_is_senior_parentfor an acyclic N-N bond,diazene_is_senior_parentfor one acyclic N=N unit with carbon on both nitrogens; no nitrogen ring (a ring without nitrogen, whatever its other heteroatoms, cannot outrank the hydrazine,:18950), no N-N-N chain (a polyazane precedes a hydrazine), and every atom a hydrocarbon atom, a halogen, an ether or sulfide, a nitro, sulfoxide or sulfone group, an atom of a parent hydride of_PARENT_HYDRIDE_ATOMSor part of the unit, so that none of the classes 1 to 20 is present. Name side: the prefix ‘hydrazinyl’ or ‘hydrazin-1-yl’ (‘hydrazinylidene’ is another prefix and is not read here), and ‘diazenyl’ or ‘diazen-1-yl’ likewise.