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 producer rules.polyazane asks as well): hydrazine_is_senior_parent for an acyclic N-N bond, diazene_is_senior_parent for 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_ATOMS or 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.