orthonym.rules.polychalcogen#
Note
Internal API. Names and behaviour may change between releases.
Homogeneous chalcogen-chain parent hydrides /.
A chain of n IDENTICAL chalcogen atoms (O / S / Se / Te) singly bonded
end-to-end and terminated by H (potential terminal -OH/-SH functionality is
ignored, is a preselected parent hydride named <multiplier><stem>:
OO -> dioxidane (H2O2) OOO -> trioxidane (H2O3)
SS -> disulfane (H2S2) SSSS -> tetrasulfane (H2S4)
[SeH][SeH] -> diselane [TeH][TeH] -> ditellane
When the two TERMINAL chalcogens instead bear a simple organyl group, the chain is named substitutively with locants — but ONLY for chains of >=3 chalcogens:
CSSS -> 1-methyltrisulfane CSSSC -> 1,3-dimethyltrisulfane
A 1-chalcogen “chain” (CSC) is a sulfide and a 2-chalcogen one (CSSC) a
disulfide — both named by sulfanyl-ether nomenclature elsewhere, NOT as a
-sulfane (Blue Book compound-class index 36: “polysulfanes … but not
disulfides or sulfides”). The bare H-terminated chains carry no such ambiguity
and are admitted from n>=2.
Graph classifier (NOT SMARTS — feedback_smarts_and_seniority): every guard narrows. An oxoacid (chalcogen with =O), a sulfoxide/sulfone, a hetero-chain (O-S), an internal-substituted (non-standard-valence) chalcogen, a ring, an ion or a radical all fail a guard and cascade onward — zero false positives.
- orthonym.rules.polychalcogen.name_chalcogen_chain(mol)#
Return the PIN for a homogeneous chalcogen-chain parent hydride, else None (fail-closed cascade-continuation). Pure: no mol mutation.
- orthonym.rules.polychalcogen.name_polysulfoxide_sulfone(mol)#
di-/polysulfoxides, polysulfones and their Se/Te analogues: a chain of >=2 IDENTICAL chalcogen atoms E in {S, Se, Te} (each of non-standard valence lambda4 / lambda6) singly bonded end-to-end, every chain atom bearing at least one terminal
=O(oxo) and optionally organyl groups. Named substitutively by adding the-onesuffix to the lambda-<multiplier><stem> parent hydride (method (1), the PIN):CH3-S(=O)-S(=O)-CH3 -> 1,2-dimethyl-1lambda4,2lambda4-disulfane-1,2-dione CH3CH2-SO2-SO2-CH3 -> 1-ethyl-2-methyl-1lambda6,2lambda6-disulfane-1,1,2,2-tetrone
Each lambda4 centre contributes one oxo (one
oneat its locant); each lambda6 centre contributes two. The molecule orientation is chosen for lowest locants to the lambda set (higher bonding number first on a tie), then to the oxo suffix, then to the substituents.SCOPE (fail-closed, accuracy-first — a graph classifier, NOT a SMARTS broadening): exactly one chain element (S/Se/Te), a simple linear chain of >=2 of them, every chain atom lambda4/lambda6 with >=1 oxo, every non-chain non-oxo neighbour a pure-hydrocarbyl organyl, neutral, non-radical, single fragment, no ring. A single-S sulfoxide/sulfone (n=1 -> sulfur handler), a bare polysulfane (no oxo -> chalcogen-chain), a hetero-chain, a stray heteroatom, an ion, a radical or a ring all fail a guard and cascade onward. Pure: no mol mutation.