Beginner perfumer · 108
Beginner perfumer #108: when the boiling point and the melting point hold the same number
· 20 min read
2,676 materials carry both a melting point and an atmospheric boiling point, and in 11 of them the two numbers are identical. Nothing boils at its melting point at atmospheric pressure, so in those 11 one field has been copied from the other. The clue that settles which is the appearance field: 7 are described as liquids at room temperature, which rules out a melting point of 66 to 261 °C, so the melting point field is the broken one; 7-methyl coumarin is described as a powder, so its 128 °C is a real melting point and the boiling point field is the broken one. A second check confirms it. Of 1,258 materials carrying both an atmospheric and a reduced-pressure boiling point, only 2 show the physical impossibility of the reduced-pressure value being higher, and 7-methyl coumarin appears on both lists. Along the way my own regex ate acetaldehyde's minus sign and over-reported by one.
About a 5 minute read.
The short version
- 2,676 materials carry both a melting point and an atmospheric boiling point; in 11 the two numbers are identical (0.41%)
- Nothing boils at its melting point at atmospheric pressure, so one of the two fields was copied
- The
appearancefield settles the direction: 7 are described as liquids at room temperature → the melting point field is broken. 1 is described as a powder → the boiling point field is broken. 3 have that field empty and cannot be decided - A second check (a reduced-pressure boiling point cannot exceed the atmospheric one) swept 1,258 materials and caught exactly 2 real errors
- The two lists intersect on one material only: 7-methyl coumarin, which is the one whose copy went the other way
- My own regex ate acetaldehyde's minus sign and briefly over-reported by one
The problem the last article left open
Last round I checked one material's two boiling points and found a 249 °C rise from 5 mmHg to atmospheric, the largest in the database. That check relies on comparing against a median, and the median came from 27 materials. I said in that article's closing section that the interval carried little confidence.
This round I went looking for a check that needs no reference point at all. I found two, and their yields differ enormously.
Check one: the boiling point field and the melting point field hold the same number
No chemistry required, no table to consult, no other material to compare against. One question:
Are these two fields identical?
At atmospheric pressure a substance melts first and boils later; the two temperatures cannot be equal. In the database 2,676 materials carry a value in both, and 11 match to within 0.5 °C:
| Material | Value shared by both fields | appearance field |
Suppliers |
|---|---|---|---|
| mango furanone | 259–261 °C | yellow clear liquid | 23 |
| 4-methyl morpholine | 116 °C | colorless to pale yellow clear liquid | 9 |
| vinyl acetate | 72–73 °C | (empty) | 8 |
| 7-methyl coumarin | 128–130 °C | pale white powder | 7 |
| methoxyisopropanol | 119 °C | colorless clear liquid | 6 |
| 2,5-dihydrofuran | 66.5 °C | colorless to pale yellow clear liquid | 5 |
| oxazole | 69–70 °C | colorless crystals | 4 |
| trichloroethylene | 87–88 °C | colorless to pale yellow clear liquid | 4 |
| cedrene | 262.5 °C | pale yellow to yellow liquid to solid | 3 |
| isopropyl 2-furoate | 198–199 °C | (empty) | 1 |
| propylene chlorohydrin | 133–134 °C | colorless clear liquid | 1 |
A third field decides the direction
Knowing that one field is wrong is not enough; you need to know which one. The answer sits somewhere I had never expected to be useful.
The appearance field describes what the material looks like at room temperature.
Something that is liquid at room temperature cannot have a melting point of 66 °C, and certainly not 261 °C.
So in the 7 described as liquids, the broken field is the melting point, copying the boiling point. Mango furanone's 259 °C is its real boiling point, duplicated into the melting point field.
7-methyl coumarin is described as a pale white powder. A powder is solid at room temperature, so a melting point of 128 °C is entirely reasonable. That one runs the other way: its melting point was copied into the boiling point field.
The rest: oxazole is described as crystals, but that description carries (est) and 69–70 °C
looks more like its boiling point, so the evidence cuts both ways and I am not calling it.
Vinyl acetate and isopropyl 2-furoate have an empty appearance, which leaves the database's
internal evidence short.
Seven settled, one settled but reversed, three held open.
Check two: a reduced-pressure boiling point cannot exceed the atmospheric one
This one also needs no reference. Lower pressure, lower boiling point. So within a single material, the reduced-pressure value cannot be the higher of the two.
1,258 materials register both. Six violate it:
| Gap | Material | Suppliers |
|---|---|---|
| +43 °C | 7-methyl coumarin (128 atmospheric / 171 at 11 mmHg) | 7 |
| +26 °C | perilla alcohol (93 atmospheric / 119 at 11 mmHg) | 12 |
| +1 °C | (Z+E)-2,5-dimethyl-3-tetrahydrofuranthiol | 4 |
| +1 °C | 2-heptanone | 55 |
| +1 °C | myristic acid | 38 |
| +0 °C | methyl mercaptan | 50 |
The last four differ by 0 to 1 °C, which comes from measurement and rounding rather than error. The real errors number 2 out of 1,258, or 0.16%.
And the material at the top, 7-methyl coumarin, is on both lists. That is not coincidence: its atmospheric boiling point field actually holds a melting point of 128 °C, and a melting point will of course fall below its boiling point at 11 mmHg. Check one tells you which field broke; check two tells you how it broke.
I got it wrong first
The first time I ran check two it returned 12 materials, among them acetaldehyde (94 suppliers). Its boiling point field reads:
20.00 to 21.00 °C. @ 760.00 mm Hg | -54.00 to -53.00 °C. @ 15.00 mm Hg
My regex was ([\d.]+), which ate the minus sign. The −53 became 53, which exceeds the
atmospheric 21, and it was flagged.
Acetaldehyde's data is entirely correct. I was the one who was wrong.
This is the third time a sloppy regex of mine has over-reported. The previous two were reading the
temperature after an @ as a refractive index, and
matching a number against any material id that appeared in an article.
The shape is identical every time: a pattern written for the common case, swept across a field
that contains exceptions.
Fixing the sign took 12 down to 6, of which 2 are real.
The stricter the check, the less it finds, and the more each one counts
Setting this round beside earlier ones:
| Check | Scope | Hits | Hit rate | False positives |
|---|---|---|---|---|
| bp field = mp field | 2,676 | 11 | 0.41% | 0 (though 3 directions unresolved) |
| reduced-pressure bp > atmospheric bp | 1,258 | 2 | 0.16% | 4 pieces of ≤1 °C noise |
| bp vs vapour pressure regression, >3σ | 8,048 | 127 | 1.58% | most of them |
I ran that last row this round too: predicting the atmospheric boiling point from the 25 °C vapour
pressure gives bp = 181.5 - 36.5·log10(VP), R² = 0.760, residual standard deviation 34 °C.
It flags 127 materials beyond 3σ, but the largest residuals belong to acyclovir, spironolactone,
hydrocortisone and a pile of herbicides. Of the 89 positive residuals, only 4 are fragrance materials.
This is the same thing I hit when I swept on a logP range. Statistical checks count "this database holds more than fragrance materials" as error.
The first two checks avoid that, because what they compare is two fields of the same material, and they assume nothing about what that material is.
The version you can run yourself
No code required. Open any material's page:
- Are the boiling point and the melting point the same number? → one is a copy
- Are there two boiling points at different pressures, with the low-pressure one higher? → one is wrong
- Does it say liquid while the melting point sits above 50 °C? → the melting point field has a problem
The third is an extension of the first two, and it works on its own: the two numbers do not have to match exactly.
What this doesn't establish
- I did not look up a single correct value. Everything here is an internal consistency check. Saying one of these two fields is wrong holds up; saying the correct value is X does not.
- 96% of
appearancevalues carry(est). Using it to decide direction means auditing one field with an estimate. Oxazole is exactly where that stalls. - The 0.41% and 0.16% only cover materials with values in both fields. Anything with an empty melting point escapes check one entirely, and I did not compute how common that is.
- Three of the 11 have an unresolved direction, and I did not go to outside sources to settle them.
- I did not inspect the regression row's 127 one by one. I looked at the 12 largest residuals and the category breakdown and drew a conclusion, so real fragrance errors may have been discarded along with the rest.
- Mansouri and colleagues published an automated curation procedure for QSAR datasets in 2016 (PMID 27885862) addressing this same class of problem. What I ran here is far cruder: three rules you can check by eye.