Ring corrections derived from measured gas enthalpies: 17-ring comparison with RMG, and measured data for fused N/O heteroaromatics
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Python
- Estrellas
- 131
- Forks
- 163
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ReactionMechanismGenerator/RMG-database
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
-
Topic: Sulfur Topic: Thermo
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ReactionMechanismGenerator/RMG-database#740 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
ReactionMechanismGenerator/RMG-database#737 · 8 comentarios ·
-
CO2 + O <=> CO3 generated from R_Addition_MultipleBondQuizá libre de nuevo @rwest la tomó hace 275 días y no hay ningún pull request abierto. Abierto
ReactionMechanismGenerator/RMG-database#706 · 2 asignados ·
Todos los issues de ReactionMechanismGenerator/RMG-database
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
-
needs-triage tooling
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
neilsh/stunt-reel#317 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
TandoorRecipes/recipes#4926 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
PyTomography/PyTomography#431 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
igormcsouza/tether#278 ·
Los mantenedores suelen responder en 1 día