orthonym.rules.bridged_fused_pin.parents#

Note

Internal API. Names and behaviour may change between releases.

The fused parent of a bridged fused ring system: its name and every IUPAC numbering.

(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.” (:14245): “The ring system that remains after removal of the bridge(s) is named according to through.” (:14177): “The fused ring system to be bridged is numbered in the usual way.” (:12493): “Anthracene, phenanthrene, acridine, carbazole, xanthene and its chalcogen analogues, purine, and cyclopenta[a]phenanthrene are exceptions; traditional numberings are retained.”

(:12501): numbering proceeds “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”.

fused_parent(mol, residual) names the residual by the engine’s own parent tables (a fused ring system whose name the Blue Book prints as a PIN: PIN_PARENT_NAMES, the book’s other printed names in parent_table.BB_PARENTS, a benzo name, or a name the rules give step by step for a skeleton the book does not print, derived_parents.DERIVED_PARENTS) or, when no table holds the skeleton, by a two-component carbocyclic fusion name (fusion_names), and returns every numbering: one fixed numbering read off the tables (or off OPSIN’s reading of the fusion name), checked against every other source that numbers the same skeleton, composed with each element-aware automorphism of the residual. Any disagreement declines (None).

orthonym.rules.bridged_fused_pin.parents.TRADITIONAL_NUMBERING = frozenset({'cyclopenta[a]phenanthrene', 'purine'})#

“Anthracene, phenanthrene, acridine, carbazole, xanthene and its chalcogen analogues, purine, and cyclopenta[a]phenanthrene are exceptions; traditional numberings are retained.” Of these, the parents whose fusion carbon atoms carry plain numbers (the steroid numbering 5, 8, 9, 10, 13, 14) are listed here, and purine, whose fusion carbons are C4 and C5 Numbering (a), the Blue Book: “when the numbering of a system is fixed, for example in purine, anthracene, and phenanthrene, this numbering must be used, both in PINs and in general nomenclature”); the others keep their lettered fusion locants.

Type:

(the Blue Book)

orthonym.rules.bridged_fused_pin.parents.PIN_PARENT_NAMES: Dict[str, int] = {'1,3-benzoxathiole': 14575, '1-benzofuran': 11827, '1-benzopyran': 11656, '1-benzothiopyran': 11664, '2-benzofuran': 11829, '2-benzopyran': 11682, '3-benzoxepine': 11821, 'acenaphthylene': 11493, 'acridine': 11707, 'anthracene': 11386, 'as-indacene': 11408, 'azulene': 11412, 'benzo[7]annulene': 17032, 'benzo[8]annulene': 19564, 'benzo[g]quinoline': 13978, 'biphenylene': 11465, 'carbazole': 11543, 'chrysene': 11364, 'cinnoline': 11551, 'coronene': 11346, 'cyclopenta[8]annulene': 13974, 'dibenzo[b,d]pyran': 13463, 'dibenzo[b,d]thiophene': 14555, 'fluorene': 11400, 'furo[3,2-b]pyran': 12246, 'heptalene': 14776, 'hexahelicene': 11483, 'indazole': 11599, 'indene': 11317, 'indole': 11605, 'indolizine': 11709, 'isoindole': 11611, 'isoquinoline': 11711, 'naphthalene': 11416, 'oxanthrene': 11757, 'pentacene': 11442, 'perylene': 11354, 'phenalene': 11396, 'phenanthrene': 11390, 'phenazine': 11517, 'phenoselenazine': 11785, 'phenotellurazine': 11787, 'phenothiazine': 11783, 'phenoxathiine': 11795, 'phenoxazine': 11781, 'phthalazine': 11567, 'picene': 11356, 'purine': 11595, 'pyrene': 11368, 'pyrrolizine': 11628, 'quinazoline': 11553, 'quinoline': 11713, 'quinolizine': 11584, 'quinoxaline': 11557, 's-indacene': 11404, 'tetracene': 11442, 'thianthrene': 11757, 'thioxanthene': 11638, 'triphenylene': 11467, 'xanthene': 11634}#

Fused parent names (indicated hydrogen dropped) that the Blue Book prints as PINs, with the line of the Blue Book that shows it. A name outside this table, outside parent_table.BB_PARENTS, outside derived_parents.DERIVED_PARENTS and outside the benzo-name class (_BENZO_NAME) is not used as a bridged fused parent (the fusion names that fusion_names builds for skeletons no table holds aside): the engine’s tables also hold general-nomenclature names (‘1,2-benzisoxazole’, ‘beta-carboline’, ‘imidazo[2,1-b]thiazole’) that read back to the right structure but are not PINs. Three names have no bare ‘(PIN)’ line: ‘heptalene’ cites the list of hydrocarbon parent components (:14776; the rule :11455 forms the name, and the PIN at:14599 is a dimethyl derivative of it); ‘dibenzo[b,d]thiophene’ and ‘benzo[7]annulene’ cite a derived example, the 2H-5-lambda4 PIN at:14555 and ‘6,7-dihydro-5H-benzo[7]annulene (PIN)’ at:17032.

class orthonym.rules.bridged_fused_pin.parents.FusedParent(name, numberings, source)#

Bases: object

A nameable fused parent: name without indicated hydrogen (‘indene’, ‘1-benzopyran’), numberings = every IUPAC numbering of the residual atoms (int for nonfusion atoms and every heteroatom, ‘4a’-type str for fusion carbon atoms), source = the table that named it.

name: str#
numberings: Tuple[Dict[int, int | str], ...]#
source: str#
orthonym.rules.bridged_fused_pin.parents.is_pin_parent_name(name)#
orthonym.rules.bridged_fused_pin.parents.normalize_locant(loc)#

int stays int; (4, ‘a’) and ‘4a’ become ‘4a’; ‘5’ becomes 5.

orthonym.rules.bridged_fused_pin.parents.fused_parent(mol, residual)#

The name and every numbering of the fused parent on residual, or None.