Ring corrections derived from measured gas enthalpies: 17-ring comparison with RMG, and measured data for fused N/O heteroaromatics
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading the ring data in ring.py and polycyclic.py, which the issue names, then compare the submitted measured anchors and blind tests with the existing coverage. The author offers SMILES and full self-test output on request; use those to assess the proposed ring corrections against RMG. Done means establishing whether RMG already represents these rings and identifying validated corrections or discrepancies; the issue does not specify a particular implementation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Following up on an email exchange with Prof. West (August, and again on 30 Oct 2026), who suggested posting this here.
I'm building LifeSpark, a desktop chemistry application that estimates gas-phase enthalpies of formation by Benson group additivity, with ring corrections derived from measured data. A note on background: I'm not a trained chemist. I'm building it with the help of an AI coding assistant, working from Benson's published method and the measurements cited below. I've tried to check every number against its source, and I'd welcome corrections.
I'm posting two things in case they help RMG:
- A comparison of 17 of my derived ring corrections with RMG's, most of which agree within about 4 kJ/mol, plus two that don't.
- Measured gas enthalpies for fused and unfused heteroaromatic rings (indole, carbazole, benzimidazole, quinoline, the quinolinones, coumarin, benzofuran, benzothiazole and others), with the ring corrections I derived from them and blind tests on related compounds.
How the numbers were made: each correction is the measured gas-phase dHf(298.15 K) of one parent compound minus the Benson group sum without a ring term. That correction is then tested on measured compounds that took no part in deriving it. No RMG values are used anywhere in my estimates; RMG's ring.py was used only as a cross-check for part 1. All values are in kJ/mol (1 kcal = 4.184 kJ).
PART 1 - MONOCYCLIC RINGS, DERIVED vs BENSON vs RMG
One measured compound per ring. "derived" is the total ring correction (measured minus the groups, with Benson's applied strain added back so the number compares directly with RMG). RMG values are from ring.py as downloaded on 2026-08-10.
ring measured derived Benson RMG derived-RMG
Cyclopropane 53.9 115.8 115.5 115.2 0.6
Methylcyclopropane 24.2 116.1 115.5 115.2 0.9
Cyclopropene 283.9 229.9 224.7 232.1 -2.2
Cyclobutane 28.5 111.0 109.6 109.6 1.4
Cyclobutene 161.0 129.0 124.7 124.9 4.1
Cyclopentane -77.0 26.1 26.4 26.4 -0.3
Cyclopentene 35.7 24.2 24.7 25.0 -0.7
Cyclopentadiene 134.8 24.1 25.1 25.3 -1.2
Cyclohexane -123.3 0.5 0.0 0.3 0.1
Cyclohexene -4.5 4.7 5.9 4.9 -0.2
Cycloheptane -117.9 26.5 26.8 26.8 -0.3
Cyclooctane -126.1 38.9 41.4 43.9 -5.0
Oxetane -80.5 105.1 107.5 104.9 0.2
Ethylene oxide -52.6 112.4 112.5 112.2 0.2
Tetrahydrofuran -184.2 22.1 25.1 24.9 -2.9
Cyclohexanone -226.1 12.8 14.2 5.4 7.4
Furan -34.5 -26.3 -26.5 -26.4 0.1
14 of the 17 agree within 4 kJ/mol, and cyclobutene is just over at 4.1. The two real disagreements:
- Cyclohexanone, +7.4: RMG's 5.4 is well below both Benson's 14.2 and mine, 12.8. I haven't chased this, so it may be my error rather than RMG's, but it looks worth a check.
- Cyclooctane, -5.0: with substituted cyclooctanes as well, Benson's 41.4 falls in the middle of the measured range, mine (38.9) is low and RMG's (43.9) is high. I think the gap comes from relying on a single compound, not from either table being wrong.
Two rings where I have a value and RMG's ring.py has none: aziridine (derived 1.9, measured 127.1) and cycloheptatriene (derived 17.0, measured 184.4).
The 12 alkylcyclohexanes give a derived median of 0.00 (spread -1.6 to 11.6). The 12 alkylcyclopentanes give 26.33 (spread 22.9 to 33.7). Both match Benson's published values.
PART 2 - HETEROAROMATIC AND FUSED RINGS
The fused-ring question Prof. West asked about in August. In my copy of ring.py and polycyclic.py (2026-08-10) I found no entries for aromatic nitrogen rings: no pyrrole, pyridine, imidazole, indole or quinoline. polycyclic.py describes carbon skeletons only. So I can't set my numbers against a matching RMG entry, and I'm offering the measured data and my tests instead. If RMG covers these rings some other way (through groups, or a newer file), I'd be glad to know, and a run of RMG on the compounds below would be the real comparison.
In my method each aromatic ring is keyed as benzene-like, with one correction derived per ring shape.
2a. Anchors - the measured parent each correction comes from (gas, kJ/mol)
pyrrole 108.30 Scott 1967
imidazole 132.90 Jimenez 1987
pyrazole 179.40 Jimenez 1987
1,2,4-triazole 192.70 Jimenez 1989
tetrazole 320.00 Balepin 1977
indole 164.25 Good 1972 + Ribeiro da Silva 2008
benzimidazole 181.70 Jimenez 1987
indazole 243.00 Jimenez 1987
carbazole 205.00 Jimenez 1990
quinoline 200.52 Steele, Archer et al. 1988
2-pyridone -79.7 NIST WebBook
4-pyridone -40.8 NIST WebBook
2-quinolinone -25.5 see note *
4-quinolinone 20.8 see note *
uracil -298.1 see note *
coumarin -176.8 one compound only
chromone -148.5 one compound only
quinazoline-2,4-dione -271.1 one compound only
phthalazinone 79.1 one compound only
quinoxalin-2(1H)-one 38.6 one compound only
furan -34.8 CRC / NIST
isoxazole 78.6
oxazole -15.5 one compound only
benzoxazole 44.80 one compound only
benzothiazole 204.17 one compound only
benzofuran 13.60 one compound only
benzothiophene 166.28 one compound only
- Pyridone-family sources: NIST WebBook; Galvao 2014; Miranda 2011; Ribeiro da Silva 2000, 2008; Emel'yanenko 2015.
2b. Blind tests - measured compounds that took no part in any derivation
miss = my estimate minus measured, kJ/mol. Joback and Marrero-Gani misses are shown for scale where those methods answer.
compound measured miss Joback M-Gani source
2,5-dimethylpyrrole 39.7 1.7 4.4 23.9 Good 1972
2-methylimidazole 89.8 9.7 -- 63.9 Jimenez, Roux et al. 1992
2-ethylimidazole 68.3 10.8 -- 66.6 Jimenez, Roux et al. 1992
5-methyltetrazole 280.7 5.9 -- -11.0 Kozyro, Simirskii et al. 1990
9-methylcarbazole 199.1 0.7 50.7 18.5 Steele, Knipmeyer et al. 1991
9-ethylcarbazole 169.7 2.5 59.5 27.0 Jimenez, Roux et al. 1990
1,3-dimethyluracil -313.6 5.1 -- 64.9 Imamura, Takahashi et al. 1989
2-methylquinoline 159.1 0.7 40.1 29.2 Ribeiro da Silva, Matos & Amaral 1995
4-methylquinoline 162.1 5.0 37.1 26.2 same paper
6-methylquinoline 161.0 6.1 38.2 27.3 same paper
8-methylquinoline 167.7 -0.6 31.5 20.6 same paper
quinazoline 243.1 12.8 -- 23.6 Ribeiro da Silva & Matos 1995
quinoxaline 240.3 10.1 -- 26.4 same paper
acridine 273.9 -13.3 54.4 14.8 Steele, Chirico et al. 1989
6-methyl-2-pyridone -120.3 7.2 -- 75.0 Suradi, El Saiad et al. 1982
2-methyl-4-pyridone -71.7 -2.5 -16.6 26.4 Suradi, El Saiad et al. 1982
4-methyl-2-quinolinone -61.0 2.1 -- 57.4 Ribeiro da Silva, Matos et al. 1990
2-methyl-4-quinolinone -23.3 10.7 32.0 31.2 Ribeiro da Silva, Matos et al. 1990
thymine -337.6 6.1 -- 75.5 Emel'yanenko, Verevkin & Notario 2015
furfural -151.0 16.2 -28.2 -- CRC
furfuryl alcohol -211.8 -4.0 -34.0 -- CRC
2-furancarboxylic acid -390.0 -8.8 -53.9 -- CRC
2-vinylfuran 27.8 -7.0 -16.6 -- CRC
3-(2-furanyl)-2-propenal -105.9 8.5 2.6 -- CRC
3-methylisoxazole 35.6 9.6 -75.8 --
5-methylisoxazole 34.1 11.1 -74.3 --
2c. Tests that FAIL (over a 15 kJ/mol bar), reported as failures
compound measured estimate miss note
phenanthridine 240.5 259.1 18.6 Steele, Chirico et al. 1989
benzo[f]quinoline 233.7 259.1 25.4 McEachern et al. 1975 (one sublimation value, +/-7.4)
3-methylquinoxalin-2(1H)-one -12.1 5.2 17.3
1-methylhydantoin -367.4 -339.6 27.8 Ledo 2022
5-methylhydantoin -391.2 -366.0 25.2 Tavernier 1955 + Ramos 2017
1,3-dimethylbarbituric acid -547.3 -514.2 33.1 Roux 2011
1,3-diethylbarbituric acid -611.9 -569.4 42.5 Notario 2014
For phenanthridine and benzo[f]quinoline the carbon parent, phenanthrene, comes out right (209.2 against 207.5). So I take the error to be the angular placement of the N, not the ring skeleton. The two hydantoin misses agree with each other, and so do the two barbiturate misses. For the barbiturates, the miss per N-alkyl is close to N-methylsuccinimide's (24.3), which suggests the N-alkyl group value is at fault rather than the ring.
2d. Saturated heterocycles, for completeness: morpholine (anchor -141.4; 4-formylmorpholine test miss -9.5), piperazine (anchor 23.3; N-aminoethylpiperazine test miss 0.7), 2-oxazolidinone (anchor -346.1, Flores 2016; 3-acetyl test miss 3.1). Oxindole (-66.8, Miranda 2010), 2-benzoxazolinone (-219.0, Morais 2006), 2-imidazolidinone (-176.7), furazan (3,4-dimethylfurazan 107.0, Matyushin 1971) and the beta-lactam (2-azetidinone -96.0) each rest on one compound and are untested.
2e. Rings my method refuses because I could find no measured anchor: purine and other five-rings fused to a pyridine or pyrimidine (7-azaindole, for example), rings sharing a ring nitrogen (imidazo[1,2-a]pyridine), 1,2,4- and 1,3,4-oxadiazole, the thiadiazoles, isothiazole, 1,2-benzisoxazole, thieno[2,3-b]pyridine, 4(3H)-quinazolinone and 1(2H)-isoquinolinone. Also dibenzofuran, whose two measured values disagree by 36 kJ/mol. If anyone knows a reliable gas-phase measurement for any of these, I would be grateful for the reference.
WHAT I CAN ADD
- A SMILES list for every compound above, so they can be run through RMG directly.
- The full self-test output each number comes from.
Thanks for RMG, and for Prof. West's help with my earlier questions.
Lee Gobroski
- Lingua principale
- Python
- Stelle
- 131
- Fork
- 163
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ReactionMechanismGenerator/RMG-database
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
-
Topic: Sulfur Topic: Thermo
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ReactionMechanismGenerator/RMG-database#740 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
ReactionMechanismGenerator/RMG-database#737 · 8 commenti ·
-
CO2 + O <=> CO3 generated from R_Addition_MultipleBondForse di nuovo libera @rwest l’ha presa 271 giorni fa e non c’è nessuna pull request aperta. Aperta
ReactionMechanismGenerator/RMG-database#706 · 2 assegnatari ·
Tutte le issue di ReactionMechanismGenerator/RMG-database
Issue simili
-
DBFS append mode silently overwrites existing filesForse già presa @IlyaKhalafi l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
fsspec/filesystem_spec#2429 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Retrieval rerank fallback statistics stay zero after provider failureForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
volcengine/OpenViking#7014 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
fedora-copr/copr#4600 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ansys/pydpf-core#3620 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno