orthonym.validation.spelling.linear_phane#

Note

Internal API. Names and behaviour may change between releases.

(2): structures whose preferred IUPAC name is a linear phane name.

The reader behind the spelling check ```` (checks_phane). Read from the structure alone (RDKit); no engine naming code and no OPSIN, so that the check is independent of the names it reads. Rules (the Blue Book, each line read with sed -n):

  • “Preferred IUPAC names in phane nomenclature” (:23824); (:23826) “For the purpose of selecting preferred IUPAC names cyclic and acyclic phane systems are defined as follows:” (2) (:23829) “linear phanes consist of four or more rings or ring systems, two of which must be terminal, and together with acyclic atoms or chains must consist of at least seven nodes (components).”

  • (:23901) “Phane nomenclature is used to generate preferred IUPAC names for ring assemblies and linear acyclic/cyclic compounds that include a minimum of seven nodes including at least four rings or ring systems, two of which must be terminal, even though the compounds could also be named by substitutive or multiplicative nomenclature.”

  • (:24088) “Phane names are preferred IUPAC names rather than ring assembly names when seven or more rings or ring systems are present.”

  • Nodes,:14857): “a numerical term ‘di’, ‘tri’, ‘tetra’, etc. indicating the number of nodes (including those designating superatoms), and the term phane. No prefix is used to name linear phanes.” Every acyclic skeletal atom of the chain is a node (:23959 four benzenes and three O: a heptaphane;:26409 “four benzene rings and a total of seven phane nodes”).

  • Amplificants,:14904): mancude rings and ring systems, bridged fused systems, saturated monocycles, von Baeyer systems and spiro alkanes; not (a)(2),:14910) “spiro ring systems with at least one fused ring system or polycycloalkane ring system”. A ring system is one node; the members of a ring assembly are separate nodes (:23917, a heptaphane of seven rings joined by bonds).

  • Chain atoms: carbon or an element of the skeletal replacement list,:15246).

  • The principal characteristic group,:18875) “The senior parent structure has the maximum number of substituents corresponding to the principal characteristic group (suffix)”, applied before the ring criteria (:18873) and between phane parents (:18915: “there are two of the principal characteristic group in the PIN and only one in the other names”). The phane must cite at least as many of them as any other parent: each ring system, each ring assembly of identical ring systems,:15542,:15550) and each acyclic carbon chain of the component counts the groups whose suffix can sit on it – a link that is a chain node of the phane among them (:26404 ‘N1-(4-aminophenyl)-N4-phenylbenzene-1,4-diamine (PIN)’ cites the link N as a suffix N) – and a group no ring or chain can carry is its own functional parent (urea, carbamic or carbonic acid). A group with a chain node of the phane in its key (its carbonyl or central atom, or a heteroatom of the group) cannot be a suffix of the phane: an acyclic carbonyl on a skeletal nitrogen is no pseudoketone (:1878 “except for nitrogen”), so the phane would cite an amide as ‘oxo’ + ‘aza’, or as an acyl prefix on an ‘aza’ node (reading R2 of the lane plan, controller decision 1). A ketone or pseudoketone carbon on the skeleton is cited (‘-one’,:1878 “a carbonyl group linked to a heteroatom belonging to a ring”); a carbonyl with two heteroatom neighbours (urea, carbamate, carbonate) is an amide or an ester of carbonic acid (‘piperidine-1-carboxamide (PIN)’,:32685; (b),:28263), never a pseudoketone unless the carbonyl is a ring atom or every heteroatom neighbour is a ring atom: between two ring nitrogens no acyclic nitrogen is left for an amide,:29312, a carbonyl joined to two heteroatoms none of which is an acyclic N;,:29370;,:33125;:29544 ‘di(1H-imidazol-1-yl)methanethione (PIN)’), so the carbonyl is a skeletal ‘-one’. A tie goes to the phane;:26409 two amines in both names,:31927 one ester in both). When another parent cites more, the phane is no parent, but a qualifying chain that stays whole outside that parent is one of its substituents, which the PIN may cite as a linear phane prefix::19325 ‘trimethyl[1^2H-1(6)-pyrana-3,5(1,4),7(1)-tribenzenaheptaphan-7^4-yl]silane (PIN) (Si is senior to O)’, the one printed PIN with such a prefix; (:16148) “Substituent prefixes derived from phane systems”. No printed row decides it for a parent that wins by, so the name is not proven and the verdict stands (fail closed; controller ruling of 2026-10-05 on the lane’s final review, finding F2). Each class holds its chalcogen and peroxy analogues (Table 4.1 7a:18172, class 15:18188, class 17 :18190;:29504), and only the most senior suffix of Table 4.4 (:18597) is the principal characteristic group:29561 “C=O > C=S > C=Se > C=Te”; :33386 carboxylic amides before urea). A multiplied parent is no rival: for more than two identical parent structures (:23242) forms the PIN “using phane nomenclature when four or more rings are present, two being terminal, in a system containing a minimum of seven nodes”.

  • The one Blue Book PIN row that meets the text of (2) without a phane name is all saturated (:3547, four cyclohexanes on a 9-node chain, a substitutive PIN), while every linear phane PIN the book prints has a ring system that is not saturated; so at least one ring system of the chain must hold an aromatic atom or a ring double bond (controller decision 2).

  • An uncompensated charge or a radical classes 1-6) is not modelled; the structure test alone decides for such a component (fail closed: the substitutive name is not certified).

orthonym.validation.spelling.linear_phane.is_linear_phane_name(name)#

True when name is built on a linear phane parent hydride: an amplification prefix ending in ‘a’ (benzena,:14894) directly before the node count and ‘phane’ (...tetrabenzenaheptaphane, ...heptaphan-7^4-yl). A cyclophane (...cyclo before the count) and words such as ‘phosphane’ are not.

class orthonym.validation.spelling.linear_phane.LinearPhaneVerdict(ring_systems, nodes, principal_class, expressed, occurrences, as_prefix=False)#

Bases: object

The chain that makes a phane name the PIN. principal_class is the compound’s senior suffix class (None: no suffix class; ‘ion’: an uncompensated charge or radical, not modelled); expressed of its occurrences are cited by the phane parent. as_prefix: another parent cites more of them than the phane, and the chain (ring_systems, nodes) stays whole outside that parent, so the PIN may cite it as a linear phane substituent prefix (:19325;,:16148).

ring_systems: int#
nodes: int#
principal_class: str | None#
expressed: int#
occurrences: int#
as_prefix: bool = False#
orthonym.validation.spelling.linear_phane.linear_phane_pin_expected(mol)#

The verdict for the connected component of mol (a sanitized molecule) whose PIN is a linear phane name, or may cite one as a substituent prefix (as_prefix) – each component read alone, the largest verdict wins, a phane parent before a prefix – or None when no component’s PIN is or may cite one.