orthonym.rules.bridged_fused_pin.fusion_components#
Note
Internal API. Names and behaviour may change between releases.
The fusion components of a fused ring skeleton, their PIN names, their
own numberings and their seniority, for the two-component fusion names of
hetero_fusion.
(the Blue Book): “Fusion components are mancude or ring systems that can
be named without the application of any fusion nomenclature principles.” The components are:
a heteromonocycle of 3 to 10 members: its Hantzsch-Widman name, or a Table 2.2 retained name, except that ‘isothiazole’, ‘isoxazole’, ‘thiazole’ and ‘oxazole’ are never used: (:11982) “The Hantzsch-Widman names 1,2-thiazole, 1,2-oxazole, 1,3- thiazole, and 1,3-oxazole, respectively, must be used; the locants are enclosed in square brackets in the completed fusion name.” Numbered by (:8284): “The locant ‘1’ is given to a heteroatom that occurs first in the seniority sequence… The numbering is then chosen to give lowest locants to heteroatoms considered as a set”;
- a heteromonocycle of more than ten members: (:11984) the ‘ine’ names of
(:11735) “changing the ending ‘ane’ of the corresponding saturated
heteromonocycle… to ‘ine’. Their locants are cited in front of the name… in the order of the appearance of the corresponding replacement (‘a’) prefixes”;
a monocyclic hydrocarbon: ‘benzo’ or a (:12000) ‘cyclo…a’ prefix;
a polycyclic system with a retained or systematic one-component name of / (the engine’s parent tables:
parents._table_index), numbered by the table;a benzo name (:11815), formed only by
hetero_fusion(the second stage): “a benzene ring… ortho-fused to a heteromonocyclic component of five or more members … treated together as a one-component unit… The locant ‘1’ is always assigned to the atom of the heterocyclic component next to a fusion atom. Heteroatoms are allocated lowest locants as a set, without regard to kind; if there is a choice, lowest locants are assigned in accordance with the seniority of the ‘a’ prefixes… for preferred IUPAC names locants must be cited. The letter ‘o’ of the ‘benzo’ prefix is elided when followed by a vowel.”
Seniority, (:12137) “the following criteria are considered, in order, until a decision can be made”: (a):12139 the senior heteroatom N > F > Cl > Br > I > O > S > Se > Te > P > As > Sb > Bi > Si > Ge > Sn > Pb > B > Al > Ga > In > Tl; (b):12163 more rings; (c) :12234 the larger ring at the first point of difference; (d):12260 more heteroatoms; (e) :12282 more kinds of heteroatom; (f):12298 more heteroatoms first in F > Cl > Br > I > O > S > Se > Te > N > P…; (g):12317 more rings in a horizontal row; (h):12392 lower heteroatom locants; (i):12407 lower heteroatom locants in the order of (f); (j):12418 lower locants of the peripheral fusion carbon atoms. (h)-(j) read each component’s own numbering (the book’s:12403 “locants ‘1,2’ of pyridazine preferred to locants ‘1,4’ of pyrazine”).
- orthonym.rules.bridged_fused_pin.fusion_components.HW_ORDER = ('F', 'Cl', 'Br', 'I', 'O', 'S', 'Se', 'Te', 'N', 'P', 'As', 'Sb', 'Bi', 'Si', 'Ge', 'Sn', 'Pb', 'B', 'Al', 'Ga', 'In', 'Tl')#
8284) citation order of the ‘a’ prefixes, also the order of (f) (:12298) and (i) (:12407)
- Type:
(
- orthonym.rules.bridged_fused_pin.fusion_components.SENIOR_A = ('N', 'F', 'Cl', 'Br', 'I', 'O', 'S', 'Se', 'Te', 'P', 'As', 'Sb', 'Bi', 'Si', 'Ge', 'Sn', 'Pb', 'B', 'Al', 'Ga', 'In', 'Tl')#
- Type:
(
- orthonym.rules.bridged_fused_pin.fusion_components.CONTRACTED = {'anthracene': 'anthra', 'benzene': 'benzo', 'furan': 'furo', 'imidazole': 'imidazo', 'naphthalene': 'naphtho', 'phenanthrene': 'phenanthro', 'pyridine': 'pyrido', 'pyrimidine': 'pyrimido', 'thiophene': 'thieno'}#
the only contracted prefixes of PINs
- Type:
(
- Type:
- orthonym.rules.bridged_fused_pin.fusion_components.numeral(n)#
- class orthonym.rules.bridged_fused_pin.fusion_components.Component(kind, name, rings, atoms, numberings)#
Bases:
objectOne fusion component on the skeleton:
kind‘hetero’ (a heteromonocycle), ‘carbo’ (a monocyclic hydrocarbon), ‘retained’ (a one-component polycyclic name of the tables) or ‘benzo’ (a benzo name);nameits PIN parent name without indicated hydrogen (‘1,2-oxazole’, ‘pyridine’, ‘quinoline’, ‘1-benzopyran’, ‘benzene’);ringsindices into the skeleton’s ring list;numberingsevery numbering the component’s own rules allow, as {skeleton atom: locant string}.- kind: str#
- name: str#
- rings: FrozenSet[int]#
- atoms: FrozenSet[int]#
- numberings: Tuple[Tuple[Tuple[int, str], ...], ...]#
- numbering_dicts()#
- orthonym.rules.bridged_fused_pin.fusion_components.split_locants(name)#
‘1,2-oxazole’ -> (‘1,2’, ‘oxazole’); ‘quinoline’ -> (None, ‘quinoline’).
- orthonym.rules.bridged_fused_pin.fusion_components.base_form(comp)#
The component as the parent of a fusion name: its heteroatom locants in square brackets:11907 “Locants that describe structural features of components, such as positions of heteroatoms, are kept with the name of the component and are enclosed within square brackets”): ‘[1,2]oxazole’, ‘[2,1]benzothiazole’, ‘pyridine’.
- orthonym.rules.bridged_fused_pin.fusion_components.prefix_form(comp)#
- The attached-component prefix: (:12047) the contracted prefixes, else
(:11905) / (:12024) “changing the final letter ‘e’ into the letter
‘o’ or by adding the letter ‘o’ when no final letter ‘e’ is present”; (:12000) ‘cyclo…a’ for a monocyclic hydrocarbon other than benzene; heteroatom locants in brackets. None for a benzo name on furan or thiophene: the book prints no PIN with ‘[1]benzofuro’ / ‘[1]benzofurano’ (its only such spelling,:13461, is a rejected name), so that prefix is not certified.
- orthonym.rules.bridged_fused_pin.fusion_components.ring_cycle(km, ring)#
The atoms of
ringin bond order around it.
- orthonym.rules.bridged_fused_pin.fusion_components.ortho_rings(km)#
The rings of an ortho-fused skeleton (every atom in at most two rings, two rings share nothing or one bond), or None (peri-fusion and interior atoms are slice S2c-3). An atom with four ring bonds may lie in three rings, two of which meet only there (
tetravalent_fusion_atoms).
- orthonym.rules.bridged_fused_pin.fusion_components.tetravalent_fusion_atoms(km, rings)#
The atoms with four ring bonds that lie in three rings, or None when an atom lies in three rings otherwise. (the Blue Book) “Both terminal fusion atom locants for ortho-fusion must be cited even if one is a fusion atom” (‘naphtho[1,8a-b]azirine (PIN)’,:14011): a ring ortho-fused on a bond whose end is a fusion atom of the parent makes that atom the member of three rings with four ring bonds. Of its three rings one shares a bond with each of the other two, which meet at the atom only.
- orthonym.rules.bridged_fused_pin.fusion_components.periphery_numbering_ok(km, numbering)#
True when
numbering(skeleton atom -> locant) of a skeleton with a tetravalent fusion atom is a peripheral numbering. (the Blue Book) “numbering of peripheral atoms … starts from… the nonfused atom most counterclockwise in the ring selected and proceeds in a clockwise direction around the system, including fusion heteroatoms but not fusion carbon atoms. Each fusion carbon atom is given the same number as the immediately preceding nonfusion skeletal atom, modified by a Roman letter”. The skeleton’s atoms all lie on its periphery (the three rings around the tetravalent atom leave no interior atom), so the locants must run 1, 2,… around that one cycle from a nonfusion atom that follows a fusion atom, a fusion carbon taking the letters a, b,… after the number before it. A skeleton without a tetravalent fusion atom is not judged here (compute_fused_numberingand the tables check those); the engine has no numbering of its own for a tetravalent one, so this is the check on OPSIN’s.
- orthonym.rules.bridged_fused_pin.fusion_components.mono_numberings(km, ring, hw)#
- Every numbering of a heteromonocycle its rules allow.
hw(3-10 members): locant 1 on an atom of the element first in
HW_ORDER, then the lowest
heteroatom locant set, then the lowest locants in
HW_ORDER; otherwise (the ‘ine’ names) the lowest set first, then the same order.- Every numbering of a heteromonocycle its rules allow.
- orthonym.rules.bridged_fused_pin.fusion_components.hetero_mono_name(km, ring, numbering)#
The PIN name of the mancude heteromonocycle (no indicated hydrogen), as a fusion
Component(base_form()/prefix_form()): (:11907) “Locants that describe structural features of components, such as positions of heteroatoms, are kept with the name of the component” – every component of a fusion name keeps its heteroatom locants, whether cited as the parent or an attached component, even for a ring (:8470) calls unambiguous standing alone (‘[1,2,3,4]tetrazolo[1,5- a]pyridine’, not ‘tetrazolo[1,5-a]pyridine’, although bare ‘1H-tetrazole’ cites none).
- orthonym.rules.bridged_fused_pin.fusion_components.hetero_mono_stem(km, ring, numbering)#
The heteromonocycle name without its heteroatom locants (the stem of a benzo name): ‘dioxole’, ‘oxazole’, ‘furan’, ‘imidazole’, ‘dioxacyclooctadecine’.
- orthonym.rules.bridged_fused_pin.fusion_components.benzo_numberings(km, benzene, hetero)#
(:11815): the heterocyclic ring numbered first from an atom next to a fusion atom, then the fusion atom, the four benzene atoms and the other fusion atom (‘4a’, ‘8a’ style letters); lowest heteroatom locants as a set, then in ‘a’-prefix seniority.
- orthonym.rules.bridged_fused_pin.fusion_components.benzo_name(km, benzene, hetero, numbering)#
‘1,3-benzodioxole’, ‘2,1-benzoxazole’, ‘1-benzopyran’, ‘3-benzazacycloundecine’.
- orthonym.rules.bridged_fused_pin.fusion_components.is_one_component_name(name)#
A retained or systematic / name: no fusion descriptor, not a benzo name (benzo names are formed in the second stage).
- orthonym.rules.bridged_fused_pin.fusion_components.retained_component(km, atoms)#
(name, numberings) of the one-component table name of the sub-skeleton on
atoms, or None. Only skeletons a table names are looked up, soparents._parent_for_keynever reaches a producer from here.
- orthonym.rules.bridged_fused_pin.fusion_components.rank_key(km, comp, rings)#
(a)-(f), (h)-(j) as a key whose minimum is the senior component; (g) is
rows_in_line, asked by the caller only when (a)-(f) tie. None for a component with a heteroatom outside the order of (a) (:12139): the caller declines.
- orthonym.rules.bridged_fused_pin.fusion_components.rows_in_line(km, comp)#
(g) (:12317) “the greatest number of rings in a horizontal row when it is drawn in the preferred orientation according to “, from the grid drawing of
fusion_orientation(None when the component cannot be drawn).
- orthonym.rules.bridged_fused_pin.fusion_components.peripheral_cycle(km, comp_atoms, ring_sets)#
The periphery of a cata-condensed component: the cycle of its bonds that lie in one of its rings only.
- orthonym.rules.bridged_fused_pin.fusion_components.side_letters(km, comp, numbering, ring_sets)#
(:11911): the peripheral sides lettered ‘a’ (1-2), ‘b’ (2-3),… in the order of the periphery from locant 1 towards the lower of its neighbours’ locants (the sides of fusion atoms included; acridine and carbazole keep their own numbering). {bond atoms: (letter, (first atom, second atom) in the direction of lettering)}.