orthonym.rules.bridged_fused_pin.selection#

Note

Internal API. Names and behaviour may change between releases.

Which fused ring system of a bridged fused ring system is the one that is bridged.

“Selection of bridges” (the Blue Book): “Bridges are selected so that a

recommended fused ring system as described in through is the parent fused ring system that is bridged.” (:14259) ranks the choices: (a) “contain the maximum number of rings” (:14261), (b) “include the maximum number of skeletal atoms” (:14271), (c) “have the fewer heteroatoms in the fused ring system before bridging” (:14279), (d) the most senior ring system (:14289), (e) “have the minimum number of polyvalent bridges”,…, (h) “have the maximum number of divalent bridges”. This module applies (a)-(c) over every fused residual, (d) between different parents (_senior), and (e)-(h) as one count of bridges that are not divalent; build applies (i) and (j) (:14395), which need the numbering and the double bonds.

A split whose best-ranked competitor is a residual this module cannot name, or a bridge that is not divalent (three attachments, or a double bond to the fused ring system, as in a ‘metheno’ bridge), is declined: the von Baeyer name stays the fallback.

orthonym.rules.bridged_fused_pin.selection.MAX_BRIDGES = 3#

at most this many bridges (one, two or three independent divalent bridges)

orthonym.rules.bridged_fused_pin.selection.MAX_COMPETITOR_BRANCH_ATOMS = 4#

a bridge set that is not one chain (a polyvalent, dependent or ring bridge) is only a competitor in the ranking; one that removes at most MAX_BRIDGES rings holds at most this many branch atoms (_competitor_sets derives the bound), whatever its atom count

orthonym.rules.bridged_fused_pin.selection.MAX_SYSTEM_ATOMS = 40#

ring-system atoms and rings

Type:

enumeration bounds

class orthonym.rules.bridged_fused_pin.selection.Split(residual, bridges, bridgeheads, parent, n_double, unsaturated)#

Bases: object

One way to read a ring system as a fused parent plus divalent bridges.

bridges[i] lists the atoms of bridge i in chain order; its first atom is bonded to bridgeheads[i][0] and its last atom to bridgeheads[i][1] (a one-atom bridge is bonded to both). n_double is the number of noncumulative double bonds the input has in the parent ring system (j)). unsaturated holds the ring-system atoms that carry a ring double bond in the input.

residual: FrozenSet[int]#
bridges: Tuple[Tuple[int, ...], ...]#
bridgeheads: Tuple[Tuple[int, int], ...]#
parent: str | None#
n_double: int#
unsaturated: FrozenSet[int]#
orthonym.rules.bridged_fused_pin.selection.ring_systems(mol)#

The sets of ring atoms connected through ring bonds, largest first.

orthonym.rules.bridged_fused_pin.selection.ring_system(mol)#

The largest ring system.

orthonym.rules.bridged_fused_pin.selection.cycle_rank(mol, atoms)#

The number of rings of a connected atom set (bonds - atoms + 1).

orthonym.rules.bridged_fused_pin.selection.fused_rings(mol, atoms)#

The rings of atoms when they form an ortho- or ortho- and peri-fused ring system, the Blue Book: “Two rings that have only two atoms and one bond in common are said to be ortho-fused”), else None: one connected graph, every atom in a ring, as many smallest rings as the cycle rank (a bridged graph has more), every pair of rings sharing at most one atom or exactly one bond, the rings connected through shared bonds, and no bond in three rings (a ring closed across a bond common to two rings is a bridge, (d):14030).

orthonym.rules.bridged_fused_pin.selection.ring_unsaturation(mol, system)#

The ring-system atoms that carry a double bond to another ring-system atom on a Kekule structure. The set does not depend on which Kekule structure RDKit picks (every carbon of an aromatic ring carries one in each); None when the input cannot be kekulized or has a ring triple bond.

orthonym.rules.bridged_fused_pin.selection.ears(mol, system)#

Every maximal chain of ring-system atoms that have exactly two ring-system neighbours, between two atoms with three or more,:14043: a divalent bridge “is connected by single bonds to two different positions of a fused ring system”; its atoms have no other ring-system neighbour, so it is a whole such chain: a shorter piece would leave a residual atom outside every ring).

orthonym.rules.bridged_fused_pin.selection.phane_reading(mol, split)#

(the Blue Book-:23897): True when split reads a cyclophane as a bridged fused system – a carbon atom of a bridge belongs to a mancude ring of the input (_in_mancude_ring: the reading cuts a mancude ring into a bridge) while the ring system also holds atoms that lie in no mancude ring (the chains that link the mancude units; an indicated-hydrogen atom of a mancude ring is not one).

  1. (:23828): “cyclophanes are cyclic phane structures containing one or

more rings or ring systems, at least one ring or ring system of which must be a mancude system attached to adjacent atoms or chains at nonadjacent ring positions”; (:23843): “cyclic phane systems > fused ring systems > bridged fused systems > non-fused bridged systems”. The book’s rows fix where the test can apply: -:23895-:23897 ‘(I) 3,7-dithia-1(1,7),5(7,1)-dinaphthalenacyclooctaphane (PIN; a phane

name) (II) 5,7,14,16-tetrahydro-1,17:8,10-diethenodibenzo[c,j][1,8] dithiacyclotetradecine (a bridged fused ring name)’ “A phane name is senior to a bridged fused ring name.” (II) cuts each naphthalene into a benzo ring of the parent and an etheno bridge, and its parent ring holds the -CH2-S-CH2- chains.

  • Bridged fused PINs whose saturated chain is the bridge and whose mancude system stays whole in the parent: ‘1,4-ethanonaphthalene (PIN)’ (:14407), ‘9,10-ethanoanthracene (PIN)’ (:14183), ‘1,4-methano-10,13-pentanonaphtho[2,3-c][1]benzazocine (PIN)’ (:19904). A literal reading of (1) would make these cyclophanes; the book does not.

  • Bridged fused PINs whose one-atom heteroatom bridge closes a furan of the formal parent: ‘6,9-epoxy-1,4-methanobenzo[8]annulene (PIN)’ (:14189), ‘1,4-epoxy-4a,8a- ethanonaphthalene (PIN)’ (:14587). The test looks at carbon bridge atoms only.

  • A bridged fused PIN cut out of one mancude polycycle with no chain: (b) (:14271) ‘6,7-(epiprop[1]en[1]yl[3]ylidene)benzo[a]cyclohepta[e][8]annulene (I) (PIN) [not… 4,5-buta[1,3]dienodibenzo[a,d][8]annulene (III)’ (:14277): the bridge of (I) is three carbon atoms of a benzene ring, and every atom of the ring system carries a ring double bond. So does ‘5,10-ethenobenzo[8]annulene’ (the gate’s W2E-P5BR-2, the same (b) choice); neither is a phane case.

  • The mancude unit need not be aromatic, and it may carry an indicated hydrogen: a heptalene joined at its 1,4-positions by a saturated chain, or a 5H-benzo[7]annulene joined at its 5,8-positions, is the same shape as the naphthalene of:23895 (II), and

    1. asks for “a mancude system”, not an aromatic one. In the same way a

    polycycle whose only atom without a ring double bond is the indicated hydrogen of a mancude ring has no chain: it is the all-mancude case above with an odd atom count.

  • A reading on a parent of the S2c-1 producer (_on_a_produced_parent) that cuts a carbon bridge out of an sp2 ring system a chain-linked ring crosses (_cuts_a_crossed_mancude_system) is a cyclophane by (1) read literally.

orthonym.rules.bridged_fused_pin.selection.p44_2_1_key(mol, atoms)#

The key of a ring system (smaller = more senior), the Blue Book-:19418: “(a) is a heterocycle; (b) has at least one nitrogen atom; (c) has at least one heteroatom (in the absence of nitrogen) that occurs earlier in the following sequence: F > Cl > Br > I > O > S > Se > Te > P > As > Sb > Bi > Si > Ge > Sn > Pb > B > Al > Ga > In > Tl; (d) has the greater number of rings; (e) has the greater number of skeletal atoms; (f) has the greater number of heteroatoms of any kind; (g) has the greater number of heteroatoms occurring earlier in the sequence: F > Cl > Br > I > O > S > Se > Te > N > P >…”.

orthonym.rules.bridged_fused_pin.selection.MAX_FUSED_RING_SIZE = 7#

a ring of eight or more members is left to the von Baeyer name until the larger-ring fusion parents are certified

Type:

limit of this lane’s fused readings

orthonym.rules.bridged_fused_pin.selection.fused_split(mol, system)#

The one-split reading of an ortho- or ortho- and peri-fused ring system, with or without ring heteroatoms, as its own fused parent with no bridges, or None.

(the Blue Book): “Fusion nomenclature gives preferred IUPAC names only to

compounds having at least two rings of at least five or more members” (_five_membered_ rule); (:11865) “Two rings that have only two atoms and one bond in common are said to be ortho-fused” (fused_rings). The parent is named by parents.fused_ parent,:11903; hetero parents: the retained, Hantzsch-Widman and two-component fusion names the parent tables and hetero_fusion build), so a skeleton no table or fusion rule names (three or more components, a catalogue parent) declines. Rings of more than MAX_FUSED_RING_SIZE members, a ring heteroatom with a nonstandard bonding number or a charge (_standard_bonding) decline: the von Baeyer name stays the fallback. _candidate with no bridge checks that the ring double bonds of the input are a matching of the parent atoms (Split.n_double).

orthonym.rules.bridged_fused_pin.selection.best_splits(mol, system)#

The splits that tie on (a)-(h), all with one nameable parent and divalent bridges only, or None.

(a) “contain the maximum number of rings”: one divalent bridge leaves one ring fewer than the ring system, two bridges (or one bridge with three attachments) two fewer, three bridges three fewer, so the stages are tried in that order and the first stage with a fused residual decides. Within a stage every reading is ranked: (b) atoms, (c) heteroatoms, (d) the senior parent, (e)-(h) the bridges that are not divalent. None when the system is itself a fused ring system:14241 applies “When a polycyclic ring system cannot be named completely as a fused ring system”), when no split is found, or when a best-ranked split cannot be named or ranked.