C4H10O Constitutional Isomer Ranking

Requires: AMS2026 or later

Related documentation
../_images/2_methylpropan_2_ol_4698a30c.png

Lowest-energy isomer in the comparison.

Seven neutral, closed-shell gas-phase constitutional isomers were compared with AIMNet2-wB97MD3. For each isomer, RDKit ETKDG supplied eight starting geometries. The AMS Conformers tool optimized and ranked them with the same AIMNet2 model. Duplicate minima were removed by the Conformers defaults.

The table uses the electronic energy of the lowest-energy optimized conformer for each isomer. It contains no zero-point, thermal, enthalpic, entropic, or other vibrational correction. Relative energies share the minimum electronic energy of the seven isomers as their zero.

Name

SMILES

Picture

Relative energy (kcal/mol)

2-methylpropan-2-ol

CC(C)(C)O

0.000

butan-2-ol

CCC(O)C

3.114

2-methylpropan-1-ol

CC(C)CO

5.408

butan-1-ol

CCCCO

6.689

ethoxyethane (diethyl ether)

CCOCC

13.151

2-methoxypropane (methyl isopropyl ether)

COC(C)C

13.675

1-methoxypropane (methyl n-propyl ether)

COCCC

15.789

The lowest electronic energy in this calculation belongs to 2-methylpropan-2-ol.

Calculation details and provenance

Results were loaded directly from 01-conformers_workdir. AIMNet2-wB97MD3 is trained against ωB97M-D3/def2-TZVPP reference data. The calculations used one process and one OpenMP thread per job, and the seven jobs ran sequentially.

The Unique conformers column in the CSV records how many distinct optimized structures remained from the eight initial geometries.

butan-1-ol

Loaded because it provides the optimized conformers and electronic energies for CCCCO.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 2.139400258239331 -0.036055158052976426 0.42834912070057185
      C 0.7377085335077097 -0.6379910915294023 0.39272158052076334
      C -0.31174943833769186 0.4233163640891479 0.04378969993776187
      C -1.717479986329517 -0.18179596894541536 0.0091513981530556
      O -2.6577051371794687 0.7967632834026925 -0.3414066516042645
      H 2.1964673892463873 0.7638666535761252 1.197092639266751
      H 2.40224315610825 0.38884107657504263 -0.5638575389385778
      H 2.876892101265528 -0.8262023185132142 0.6828211842025563
      H 0.7150304619068395 -1.451407259248889 -0.3650488783243229
      H 0.5097513282647163 -1.0775563026932156 1.3883131354938523
      H -0.08103338074661472 0.8618192041587269 -0.9519710664497474
      H -0.28359035016605666 1.236168910237432 0.8023830318850932
      H -1.7539322132117119 -0.9918871762920326 -0.7502530160337909
      H -1.9731475780719911 -0.6252384390179516 0.9988444931244729
      H -2.7988551444956107 1.3573582222539187 0.4658639676301599
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 9 1
      2 10 1
      3 4 1
      3 11 1
      3 12 1
      4 5 1
      4 13 1
      4 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

butan-2-ol

Loaded because it provides the optimized conformers and electronic energies for CCC(O)C.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 1.9534638542796732 0.13494166346342323 0.2239299605795384
      C 0.6254829106247907 -0.6024648862882708 0.06152482943762811
      C -0.5133770497883248 0.3534684378323693 -0.32666615727614856
      O -0.2477249541960441 0.9151418599615972 -1.5861072597591066
      C -1.8480749349079515 -0.39519770003269056 -0.37060899861978563
      H 1.8671800049804625 0.9180741105769555 1.0070163640400616
      H 2.7424369560569737 -0.584728615129754 0.5282224742763917
      H 2.257208310111546 0.6060623059143834 -0.7348308296984573
      H 0.3817523706923211 -1.101211142496629 1.0252223345987115
      H 0.7400485552750414 -1.3889751824208045 -0.7164391322324776
      H -0.5838175569923895 1.156658196634468 0.4443143172006574
      H -0.8187168665212655 1.7235784757524726 -1.6659485508162324
      H -1.8135661748082792 -1.2061912191413138 -1.1293943449648736
      H -2.666448981903221 0.30708821930545743 -0.636340701908322
      H -2.075846442903294 -0.8362445239316425 0.6232780645286802
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 9 1
      2 10 1
      3 4 1
      3 5 1
      3 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

2-methylpropan-1-ol

Loaded because it provides the optimized conformers and electronic energies for CC(C)CO.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C -1.0620660099146346 -1.1776703487091151 -0.40624749065400406
      C -0.07442596231173572 -0.2795251950999552 0.3479153591012813
      C -0.7797734306252334 0.9926894235501873 0.8366669585148669
      C 1.1290841255586763 0.06266696937359781 -0.544677965147703
      O 2.090193732858409 0.7672773978322973 0.19250828693046396
      H -1.9153396353675445 -1.4471239095121506 0.252263140113841
      H -0.5615997649553727 -2.11793990523889 -0.7219184595139064
      H -1.454063120747027 -0.6594458783985225 -1.3079245678621259
      H 0.2923793732110193 -0.8404779289434812 1.2361246246318924
      H -0.08045564421200276 1.6191905910813582 1.4298864911110476
      H -1.6382812377471205 0.7273691877380275 1.489996476590627
      H -1.15487986185779 1.5886139347693506 -0.023133651390819077
      H 1.5841157784902007 -0.878155010201341 -0.9288486460764126
      H 0.7959455518500651 0.6745468736963893 -1.413766814594425
      H 2.829166105770068 0.967983798062298 -0.43884374175463403
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 4 1
      2 9 1
      3 10 1
      3 11 1
      3 12 1
      4 5 1
      4 13 1
      4 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

2-methylpropan-2-ol

Loaded because it provides the optimized conformers and electronic energies for CC(C)(C)O.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 1.3919261545653183 -0.49855968447411725 -0.36691229641680045
      C 0.06255346265179593 -0.06023428060728956 0.263819190472406
      C -1.0867563941734633 -0.8951013873265391 -0.3309647087354302
      C -0.1687468161851669 1.4363290958136976 -0.01632795643903783
      O 0.14342974903325395 -0.2794064032784371 1.651892495620742
      H 1.3773749778574687 -0.34427788418975186 -1.4676791242116376
      H 2.233922921502832 0.08659104296536506 0.061709212946711646
      H 1.579800772615245 -1.574658204620469 -0.16248198757130922
      H -1.1376458820298745 -0.7642775174729393 -1.4335766946325565
      H -0.9354936687258333 -1.9730007983271702 -0.10736346262219068
      H -2.0605967735353885 -0.5835960602201198 0.10413239650707348
      H -0.19411699008840771 1.6319584841901802 -1.1101941625239748
      H -1.1337080994150894 1.7703859235121373 0.4218108851641604
      H 0.6457853638042205 2.0429119248013623 0.4346036483718059
      H -0.7177287778769461 0.004935749234065989 2.057532564070049
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 4 1
      2 5 1
      3 9 1
      3 10 1
      3 11 1
      4 12 1
      4 13 1
      4 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

ethoxyethane (diethyl ether)

Loaded because it provides the optimized conformers and electronic energies for CCOCC.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C -2.3526389539768324 -0.2139694416503115 0.5697967583752033
      C -1.1723787819236078 -0.07263793235072921 -0.37905594753593236
      O 0.021553262092716217 -0.01737692734038376 0.37196364364573486
      C 1.121254500278169 0.11385472735118297 -0.5032467378781906
      C 2.4037489479540124 0.17276415759707958 0.31225758683961785
      H -2.2516554869854066 -1.1457528233143734 1.165878739635729
      H -3.2983369124655977 -0.2584820106969855 -0.01067129989002422
      H -2.3932090978494123 0.6567062510246358 1.258280456650741
      H -1.1694771498770382 -0.9511057834437485 -1.0641822727340813
      H -1.3117545848254635 0.8605969972797174 -0.9713052396989168
      H 1.1864185417564066 -0.7595492698278558 -1.191746207365161
      H 1.0441408277591855 1.0521531397967177 -1.0988654930009425
      H 3.276472241971319 0.2761079222790427 -0.36667049538958557
      H 2.3771556472194515 1.0445749924635603 0.9999857557434254
      H 2.5187069988720916 -0.7578839991675372 0.9075807526023766
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 9 1
      2 10 1
      3 4 1
      4 5 1
      4 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

1-methoxypropane (methyl n-propyl ether)

Loaded because it provides the optimized conformers and electronic energies for COCCC.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 2.494008186586153 -0.18022399072973494 0.6657971961216024
      O 1.4253783312345611 0.5228083056867531 0.07282334466564667
      C 0.2136178154818576 -0.14588444948344628 0.3511224699623995
      C -0.9383146123422644 0.6226525625337175 -0.2950138334957292
      C -2.2792895519897654 -0.055166916954231135 -0.027363612926140996
      H 2.3867361064887485 -0.21856469394955974 1.7727880214840783
      H 3.4384634810050296 0.3557610478155286 0.439289197583619
      H 2.5823021445044594 -1.2077116495504314 0.24761142181575385
      H 0.2317128206028298 -1.1786609424773586 -0.06806596350123134
      H 0.03696236308964691 -0.1936400854667544 1.4507522680837905
      H -0.7735867150525935 0.6815067082098518 -1.3929018811143319
      H -0.9664679204450332 1.6570782677791565 0.11134560893350649
      H -2.2825563434832485 -1.0838003816044834 -0.44687063752699013
      H -2.476394720068454 -0.10338926729782853 1.064839523554201
      H -3.092571385612161 0.5272354854888018 -0.509360024075812
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      3 4 1
      3 9 1
      3 10 1
      4 5 1
      4 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

2-methoxypropane (methyl isopropyl ether)

Loaded because it provides the optimized conformers and electronic energies for COC(C)C.

Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 1.9657678197789905 -0.31942175593683336 -0.5243323995000491
      O 0.6871543744766825 0.1492260103638603 -0.8934255294354574
      C -0.18586369516253184 0.1547204056320169 0.22360795014235746
      C -1.071106735445375 1.3978996572278406 0.1409077767683169
      C -1.0507683218146333 -1.1091662450620612 0.20594795275711278
      H 2.4605723481968527 0.39364537603450284 0.17131759162427426
      H 1.912966223735056 -1.3330100629033736 -0.06894193337405194
      H 2.593413581474101 -0.39176255755949335 -1.4360587160630198
      H 0.34997606868399167 0.204519708338424 1.2033513901300292
      H -0.43774140941449785 2.310063675131042 0.16386168681206334
      H -1.6584984093156228 1.3966591446381291 -0.8024723239415854
      H -1.7698195210736059 1.4343222938262012 1.0041283244668933
      H -1.7649135869207508 -1.100087283929636 1.0570252551355326
      H -0.41038389633657 -2.0108647362824246 0.30058336393828183
      H -1.6207548408620696 -1.176743629518205 -0.7455003894606549
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      3 4 1
      3 5 1
      3 9 1
      4 10 1
      4 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine

Prompts and Python scripts

Prompt (instruction for AI agent)
Use $ams2026

I want to find the most stable constitutional isomer for a molecule with formula
C4H10O from the below options.

I want to use AIMNet2-wb97md3

Generate 8 conformers of each molecule with that method.

For each molecule, only consider the most stable conformer. Ignore vibrational
effects.

In the report, prepare a table with name, smiles, picture, and relative energy
in kcal/mol, sorted by relative energy (most stable first).

```
Name    Type    SMILES 
butan-1-ol  alcohol CCCCO 
butan-2-ol  alcohol CCC(O)C 
2-methylpropan-1-ol alcohol CC(C)CO 
2-methylpropan-2-ol alcohol CC(C)(C)O 
ethoxyethane (diethyl ether)    ether   CCOCC
1-methoxypropane (methyl n-propyl ether)    ether   COCCC
2-methoxypropane (methyl isopropyl ether)   ether   COC(C)C
```
01-conformers.py
#!/usr/bin/env amspython
from __future__ import annotations

import os
from dataclasses import dataclass

from scm.base import ChemicalSystem, InputParser
from scm.conformers import ConformersJob
from scm.plams import Settings, finish, init


@dataclass(frozen=True)
class Isomer:
    name: str
    kind: str
    smiles: str
    slug: str


ISOMERS = (
    Isomer("butan-1-ol", "alcohol", "CCCCO", "butan_1_ol"),
    Isomer("butan-2-ol", "alcohol", "CCC(O)C", "butan_2_ol"),
    Isomer("2-methylpropan-1-ol", "alcohol", "CC(C)CO", "2_methylpropan_1_ol"),
    Isomer("2-methylpropan-2-ol", "alcohol", "CC(C)(C)O", "2_methylpropan_2_ol"),
    Isomer("ethoxyethane (diethyl ether)", "ether", "CCOCC", "ethoxyethane"),
    Isomer(
        "1-methoxypropane (methyl n-propyl ether)",
        "ether",
        "COCCC",
        "1_methoxypropane",
    ),
    Isomer(
        "2-methoxypropane (methyl isopropyl ether)",
        "ether",
        "COC(C)C",
        "2_methoxypropane",
    ),
)


def conformer_settings() -> Settings:
    settings = Settings()
    settings.input.ams.Task = "Generate"
    settings.input.ams.Generator.Method = "RDKit"
    settings.input.ams.Generator.RDKit.InitialNConformers = 8
    settings.input.MLPotential.Model = "AIMNet2-wB97MD3"
    settings.runscript.nproc = 1
    settings.runscript.pre = "export OMP_NUM_THREADS=1"
    return settings


def validate_settings(settings: Settings) -> None:
    input_text = ConformersJob(settings=settings).get_input()
    InputParser().to_dict("conformers", input_text)


def main() -> None:
    for variable in ("AMSHOME", "AMSBIN"):
        if not os.environ.get(variable):
            raise RuntimeError(f"Required environment variable {variable} is not set")
    if not (os.environ.get("SCMLICENSE") or os.environ.get("SCM_CLOUD_CREDS")):
        raise RuntimeError("SCMLICENSE or SCM_CLOUD_CREDS must be set")

    settings = conformer_settings()
    validate_settings(settings)

    init(folder="01-conformers_workdir")
    try:
        for isomer in ISOMERS:
            system = ChemicalSystem.from_smiles(isomer.smiles)
            job = ConformersJob(
                name=isomer.slug,
                molecule=system,
                settings=settings.copy(),
            )
            job.run()
            if not job.ok():
                raise RuntimeError(f"Conformer calculation failed for {isomer.name}")
            n_unique = len(job.results.get_conformers())
            print(f"{isomer.name}: {n_unique} unique optimized conformer(s)")
    finally:
        finish()


if __name__ == "__main__":
    main()
report.py
#!/usr/bin/env amspython
from __future__ import annotations

import re
from dataclasses import dataclass
from pathlib import Path

import pandas as pd
from scm.base import ChemicalSystem, Units
from scm.conformers import ConformersJob
from scm.plams import Settings, view


ROOT = Path(__file__).resolve().parent


@dataclass(frozen=True)
class Isomer:
    name: str
    kind: str
    smiles: str
    slug: str


ISOMERS = (
    Isomer("butan-1-ol", "alcohol", "CCCCO", "butan_1_ol"),
    Isomer("butan-2-ol", "alcohol", "CCC(O)C", "butan_2_ol"),
    Isomer("2-methylpropan-1-ol", "alcohol", "CC(C)CO", "2_methylpropan_1_ol"),
    Isomer("2-methylpropan-2-ol", "alcohol", "CC(C)(C)O", "2_methylpropan_2_ol"),
    Isomer("ethoxyethane (diethyl ether)", "ether", "CCOCC", "ethoxyethane"),
    Isomer(
        "1-methoxypropane (methyl n-propyl ether)",
        "ether",
        "COCCC",
        "1_methoxypropane",
    ),
    Isomer(
        "2-methoxypropane (methyl isopropyl ether)",
        "ether",
        "COC(C)C",
        "2_methoxypropane",
    ),
)


def workdir_generation(path: Path) -> int:
    match = re.fullmatch(r"01-conformers_workdir(?:\.(\d+))?", path.name)
    if match is None:
        return -1
    return int(match.group(1) or 1)


def latest_workdir() -> Path:
    candidates = [
        path
        for path in ROOT.glob("01-conformers_workdir*")
        if path.is_dir() and workdir_generation(path) >= 0
    ]
    if not candidates:
        raise FileNotFoundError("No 01-conformers_workdir job directory found")
    return max(candidates, key=workdir_generation)


def conformer_settings() -> Settings:
    settings = Settings()
    settings.input.ams.Task = "Generate"
    settings.input.ams.Generator.Method = "RDKit"
    settings.input.ams.Generator.RDKit.InitialNConformers = 8
    settings.input.MLPotential.Model = "AIMNet2-wB97MD3"
    settings.runscript.nproc = 1
    settings.runscript.pre = "export OMP_NUM_THREADS=1"
    return settings


def load_jobs(workdir: Path) -> dict[str, ConformersJob]:
    jobs: dict[str, ConformersJob] = {}
    for isomer in ISOMERS:
        rkf = workdir / isomer.slug / "conformers.rkf"
        if not rkf.is_file():
            raise FileNotFoundError(f"Missing conformer result: {rkf}")
        jobs[isomer.slug] = ConformersJob.load_external(
            str(rkf),
            settings=conformer_settings(),
            molecule=ChemicalSystem.from_smiles(isomer.smiles),
        )
    return jobs


def render_report() -> None:
    workdir = latest_workdir()
    jobs = load_jobs(workdir)
    tables_dir = ROOT / "tables"
    figures_dir = ROOT / "figures"
    tables_dir.mkdir(exist_ok=True)
    figures_dir.mkdir(exist_ok=True)

    hartree_to_kcal_mol = Units.conversion_factor("hartree", "kcal/mol")
    rows: list[dict[str, object]] = []
    for isomer in ISOMERS:
        job = jobs[isomer.slug]
        conformers = job.results.get_conformers()
        lowest = conformers[0]
        picture_path = figures_dir / f"{isomer.slug}.png"
        view(
            lowest,
            guess_bonds=len(lowest.bonds) == 0,
            direction="along_pca3",
            width=360,
            height=280,
            picture_path=str(picture_path),
        )
        rows.append(
            {
                "Name": isomer.name,
                "Type": isomer.kind,
                "SMILES": isomer.smiles,
                "Picture": f'<img src="figures/{picture_path.name}" width="180">',
                "Electronic energy (hartree)": job.results.get_lowest_energy("au"),
                "Unique conformers": len(conformers),
            }
        )

    frame = pd.DataFrame(rows)
    minimum_hartree = float(frame["Electronic energy (hartree)"].min())
    frame["Relative energy (kcal/mol)"] = (
        frame["Electronic energy (hartree)"] - minimum_hartree
    ) * hartree_to_kcal_mol
    frame = frame.sort_values("Relative energy (kcal/mol)", kind="stable").reset_index(drop=True)

    csv_frame = frame.copy()
    csv_frame["Picture"] = csv_frame["Picture"].str.extract(r'src="([^"]+)"', expand=False)
    csv_frame.to_csv(tables_dir / "isomer_relative_energies.csv", index=False)

    display = frame[["Name", "SMILES", "Picture", "Relative energy (kcal/mol)"]].copy()
    display["Relative energy (kcal/mol)"] = display["Relative energy (kcal/mol)"].map(
        lambda value: f"{value:.3f}"
    )
    winner = str(frame.iloc[0]["Name"])

    lines = [
        "# C4H10O constitutional-isomer stability",
        "",
        "Seven neutral, closed-shell gas-phase constitutional isomers were compared with "
        "AIMNet2-wB97MD3. For each isomer, RDKit ETKDG supplied eight starting geometries. "
        "The AMS Conformers tool optimized and ranked them with the same AIMNet2 model. "
        "Duplicate minima were removed by the Conformers defaults.",
        "",
        "The table uses the electronic energy of the lowest-energy optimized conformer for "
        "each isomer. It contains no zero-point, thermal, enthalpic, entropic, or other "
        "vibrational correction. Relative energies share the minimum electronic energy of "
        "the seven isomers as their zero.",
        "",
        display.to_markdown(index=False, disable_numparse=True),
        "",
        f"The lowest electronic energy in this calculation belongs to **{winner}**.",
        "",
        "## Calculation details and provenance",
        "",
        f"Results were loaded directly from `{workdir.name}`. AIMNet2-wB97MD3 is trained "
        "against ωB97M-D3/def2-TZVPP reference data. The calculations used one process and "
        "one OpenMP thread per job, and the seven jobs ran sequentially.",
        "",
        "The `Unique conformers` column in the CSV records how many distinct optimized "
        "structures remained from the eight initial geometries.",
        "",
    ]
    for isomer in ISOMERS:
        job = jobs[isomer.slug]
        lines.extend(
            [
                f"### {isomer.name}",
                "",
                f"Loaded because it provides the optimized conformers and electronic "
                f"energies for `{isomer.smiles}`.",
                "",
                "```ams",
                job.get_input().rstrip(),
                "```",
                "",
            ]
        )

    (ROOT / "report.md").write_text("\n".join(lines), encoding="utf-8")


if __name__ == "__main__":
    render_report()
Original Markdown report
# C4H10O constitutional-isomer stability

Seven neutral, closed-shell gas-phase constitutional isomers were compared with AIMNet2-wB97MD3. For each isomer, RDKit ETKDG supplied eight starting geometries. The AMS Conformers tool optimized and ranked them with the same AIMNet2 model. Duplicate minima were removed by the Conformers defaults.

The table uses the electronic energy of the lowest-energy optimized conformer for each isomer. It contains no zero-point, thermal, enthalpic, entropic, or other vibrational correction. Relative energies share the minimum electronic energy of the seven isomers as their zero.

| Name                                      | SMILES    | Picture                                                 | Relative energy (kcal/mol)   |
|:------------------------------------------|:----------|:--------------------------------------------------------|:-----------------------------|
| 2-methylpropan-2-ol                       | CC(C)(C)O | <img src="figures/2_methylpropan_2_ol.png" width="180"> | 0.000                        |
| butan-2-ol                                | CCC(O)C   | <img src="figures/butan_2_ol.png" width="180">          | 3.114                        |
| 2-methylpropan-1-ol                       | CC(C)CO   | <img src="figures/2_methylpropan_1_ol.png" width="180"> | 5.408                        |
| butan-1-ol                                | CCCCO     | <img src="figures/butan_1_ol.png" width="180">          | 6.689                        |
| ethoxyethane (diethyl ether)              | CCOCC     | <img src="figures/ethoxyethane.png" width="180">        | 13.151                       |
| 2-methoxypropane (methyl isopropyl ether) | COC(C)C   | <img src="figures/2_methoxypropane.png" width="180">    | 13.675                       |
| 1-methoxypropane (methyl n-propyl ether)  | COCCC     | <img src="figures/1_methoxypropane.png" width="180">    | 15.789                       |

The lowest electronic energy in this calculation belongs to **2-methylpropan-2-ol**.

## Calculation details and provenance

Results were loaded directly from `01-conformers_workdir`. AIMNet2-wB97MD3 is trained against ωB97M-D3/def2-TZVPP reference data. The calculations used one process and one OpenMP thread per job, and the seven jobs ran sequentially.

The `Unique conformers` column in the CSV records how many distinct optimized structures remained from the eight initial geometries.

### butan-1-ol

Loaded because it provides the optimized conformers and electronic energies for `CCCCO`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 2.139400258239331 -0.036055158052976426 0.42834912070057185
      C 0.7377085335077097 -0.6379910915294023 0.39272158052076334
      C -0.31174943833769186 0.4233163640891479 0.04378969993776187
      C -1.717479986329517 -0.18179596894541536 0.0091513981530556
      O -2.6577051371794687 0.7967632834026925 -0.3414066516042645
      H 2.1964673892463873 0.7638666535761252 1.197092639266751
      H 2.40224315610825 0.38884107657504263 -0.5638575389385778
      H 2.876892101265528 -0.8262023185132142 0.6828211842025563
      H 0.7150304619068395 -1.451407259248889 -0.3650488783243229
      H 0.5097513282647163 -1.0775563026932156 1.3883131354938523
      H -0.08103338074661472 0.8618192041587269 -0.9519710664497474
      H -0.28359035016605666 1.236168910237432 0.8023830318850932
      H -1.7539322132117119 -0.9918871762920326 -0.7502530160337909
      H -1.9731475780719911 -0.6252384390179516 0.9988444931244729
      H -2.7988551444956107 1.3573582222539187 0.4658639676301599
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 9 1
      2 10 1
      3 4 1
      3 11 1
      3 12 1
      4 5 1
      4 13 1
      4 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

### butan-2-ol

Loaded because it provides the optimized conformers and electronic energies for `CCC(O)C`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 1.9534638542796732 0.13494166346342323 0.2239299605795384
      C 0.6254829106247907 -0.6024648862882708 0.06152482943762811
      C -0.5133770497883248 0.3534684378323693 -0.32666615727614856
      O -0.2477249541960441 0.9151418599615972 -1.5861072597591066
      C -1.8480749349079515 -0.39519770003269056 -0.37060899861978563
      H 1.8671800049804625 0.9180741105769555 1.0070163640400616
      H 2.7424369560569737 -0.584728615129754 0.5282224742763917
      H 2.257208310111546 0.6060623059143834 -0.7348308296984573
      H 0.3817523706923211 -1.101211142496629 1.0252223345987115
      H 0.7400485552750414 -1.3889751824208045 -0.7164391322324776
      H -0.5838175569923895 1.156658196634468 0.4443143172006574
      H -0.8187168665212655 1.7235784757524726 -1.6659485508162324
      H -1.8135661748082792 -1.2061912191413138 -1.1293943449648736
      H -2.666448981903221 0.30708821930545743 -0.636340701908322
      H -2.075846442903294 -0.8362445239316425 0.6232780645286802
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 9 1
      2 10 1
      3 4 1
      3 5 1
      3 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

### 2-methylpropan-1-ol

Loaded because it provides the optimized conformers and electronic energies for `CC(C)CO`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C -1.0620660099146346 -1.1776703487091151 -0.40624749065400406
      C -0.07442596231173572 -0.2795251950999552 0.3479153591012813
      C -0.7797734306252334 0.9926894235501873 0.8366669585148669
      C 1.1290841255586763 0.06266696937359781 -0.544677965147703
      O 2.090193732858409 0.7672773978322973 0.19250828693046396
      H -1.9153396353675445 -1.4471239095121506 0.252263140113841
      H -0.5615997649553727 -2.11793990523889 -0.7219184595139064
      H -1.454063120747027 -0.6594458783985225 -1.3079245678621259
      H 0.2923793732110193 -0.8404779289434812 1.2361246246318924
      H -0.08045564421200276 1.6191905910813582 1.4298864911110476
      H -1.6382812377471205 0.7273691877380275 1.489996476590627
      H -1.15487986185779 1.5886139347693506 -0.023133651390819077
      H 1.5841157784902007 -0.878155010201341 -0.9288486460764126
      H 0.7959455518500651 0.6745468736963893 -1.413766814594425
      H 2.829166105770068 0.967983798062298 -0.43884374175463403
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 4 1
      2 9 1
      3 10 1
      3 11 1
      3 12 1
      4 5 1
      4 13 1
      4 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

### 2-methylpropan-2-ol

Loaded because it provides the optimized conformers and electronic energies for `CC(C)(C)O`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 1.3919261545653183 -0.49855968447411725 -0.36691229641680045
      C 0.06255346265179593 -0.06023428060728956 0.263819190472406
      C -1.0867563941734633 -0.8951013873265391 -0.3309647087354302
      C -0.1687468161851669 1.4363290958136976 -0.01632795643903783
      O 0.14342974903325395 -0.2794064032784371 1.651892495620742
      H 1.3773749778574687 -0.34427788418975186 -1.4676791242116376
      H 2.233922921502832 0.08659104296536506 0.061709212946711646
      H 1.579800772615245 -1.574658204620469 -0.16248198757130922
      H -1.1376458820298745 -0.7642775174729393 -1.4335766946325565
      H -0.9354936687258333 -1.9730007983271702 -0.10736346262219068
      H -2.0605967735353885 -0.5835960602201198 0.10413239650707348
      H -0.19411699008840771 1.6319584841901802 -1.1101941625239748
      H -1.1337080994150894 1.7703859235121373 0.4218108851641604
      H 0.6457853638042205 2.0429119248013623 0.4346036483718059
      H -0.7177287778769461 0.004935749234065989 2.057532564070049
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 4 1
      2 5 1
      3 9 1
      3 10 1
      3 11 1
      4 12 1
      4 13 1
      4 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

### ethoxyethane (diethyl ether)

Loaded because it provides the optimized conformers and electronic energies for `CCOCC`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C -2.3526389539768324 -0.2139694416503115 0.5697967583752033
      C -1.1723787819236078 -0.07263793235072921 -0.37905594753593236
      O 0.021553262092716217 -0.01737692734038376 0.37196364364573486
      C 1.121254500278169 0.11385472735118297 -0.5032467378781906
      C 2.4037489479540124 0.17276415759707958 0.31225758683961785
      H -2.2516554869854066 -1.1457528233143734 1.165878739635729
      H -3.2983369124655977 -0.2584820106969855 -0.01067129989002422
      H -2.3932090978494123 0.6567062510246358 1.258280456650741
      H -1.1694771498770382 -0.9511057834437485 -1.0641822727340813
      H -1.3117545848254635 0.8605969972797174 -0.9713052396989168
      H 1.1864185417564066 -0.7595492698278558 -1.191746207365161
      H 1.0441408277591855 1.0521531397967177 -1.0988654930009425
      H 3.276472241971319 0.2761079222790427 -0.36667049538958557
      H 2.3771556472194515 1.0445749924635603 0.9999857557434254
      H 2.5187069988720916 -0.7578839991675372 0.9075807526023766
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      2 9 1
      2 10 1
      3 4 1
      4 5 1
      4 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

### 1-methoxypropane (methyl n-propyl ether)

Loaded because it provides the optimized conformers and electronic energies for `COCCC`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 2.494008186586153 -0.18022399072973494 0.6657971961216024
      O 1.4253783312345611 0.5228083056867531 0.07282334466564667
      C 0.2136178154818576 -0.14588444948344628 0.3511224699623995
      C -0.9383146123422644 0.6226525625337175 -0.2950138334957292
      C -2.2792895519897654 -0.055166916954231135 -0.027363612926140996
      H 2.3867361064887485 -0.21856469394955974 1.7727880214840783
      H 3.4384634810050296 0.3557610478155286 0.439289197583619
      H 2.5823021445044594 -1.2077116495504314 0.24761142181575385
      H 0.2317128206028298 -1.1786609424773586 -0.06806596350123134
      H 0.03696236308964691 -0.1936400854667544 1.4507522680837905
      H -0.7735867150525935 0.6815067082098518 -1.3929018811143319
      H -0.9664679204450332 1.6570782677791565 0.11134560893350649
      H -2.2825563434832485 -1.0838003816044834 -0.44687063752699013
      H -2.476394720068454 -0.10338926729782853 1.064839523554201
      H -3.092571385612161 0.5272354854888018 -0.509360024075812
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      3 4 1
      3 9 1
      3 10 1
      4 5 1
      4 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

### 2-methoxypropane (methyl isopropyl ether)

Loaded because it provides the optimized conformers and electronic energies for `COC(C)C`.

```ams
Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End

Task Generate

System
   Atoms
      C 1.9657678197789905 -0.31942175593683336 -0.5243323995000491
      O 0.6871543744766825 0.1492260103638603 -0.8934255294354574
      C -0.18586369516253184 0.1547204056320169 0.22360795014235746
      C -1.071106735445375 1.3978996572278406 0.1409077767683169
      C -1.0507683218146333 -1.1091662450620612 0.20594795275711278
      H 2.4605723481968527 0.39364537603450284 0.17131759162427426
      H 1.912966223735056 -1.3330100629033736 -0.06894193337405194
      H 2.593413581474101 -0.39176255755949335 -1.4360587160630198
      H 0.34997606868399167 0.204519708338424 1.2033513901300292
      H -0.43774140941449785 2.310063675131042 0.16386168681206334
      H -1.6584984093156228 1.3966591446381291 -0.8024723239415854
      H -1.7698195210736059 1.4343222938262012 1.0041283244668933
      H -1.7649135869207508 -1.100087283929636 1.0570252551355326
      H -0.41038389633657 -2.0108647362824246 0.30058336393828183
      H -1.6207548408620696 -1.176743629518205 -0.7455003894606549
   End
   BondOrders
      1 2 1
      1 6 1
      1 7 1
      1 8 1
      2 3 1
      3 4 1
      3 5 1
      3 9 1
      4 10 1
      4 11 1
      4 12 1
      5 13 1
      5 14 1
      5 15 1
   End
End

Engine MLPotential
  Model AIMNet2-wB97MD3
EndEngine
```

Note on AI-generated content

This page was generated by a Python script. That Python script was AI-generated.

All numbers, figures, and tables are extracted or postprocessed from actual AMS calculations, and can be transparently regenerated from the provided Python scripts.

Any scientific reasoning or citations was written by AI. This page is the actual one-shot output from using the ams2026 skill with an AI coding agent.