C4H10O Constitutional Isomer Ranking

../_images/2-methylpropan-2-ol_234cedfa.png

Lowest-energy isomer in the comparison.

Requires: AMS2026 or later

Related documentation

This report ranks the seven listed constitutional isomers of C4H10O by the electronic energy of their lowest-energy conformer. For each molecule, AMS Conformers was run with Generator=RDKit, InitialNConformers=8, and MLPotential/AIMNet2-wB97MD3. Vibrational effects were excluded, as requested.

Provenance

  • butan-1-ol loaded from 01-run_workdir/butan-1-ol: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

  • butan-2-ol loaded from 01-run_workdir/butan-2-ol: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

  • 2-methylpropan-1-ol loaded from 01-run_workdir/2-methylpropan-1-ol: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

  • 2-methylpropan-2-ol loaded from 01-run_workdir/2-methylpropan-2-ol: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

  • ethoxyethane loaded from 01-run_workdir/ethoxyethane: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

  • 1-methoxypropane loaded from 01-run_workdir/1-methoxypropane: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

  • 2-methoxypropane loaded from 01-run_workdir/2-methoxypropane: 8 RDKit-started conformers evaluated with MLPotential/AIMNet2-wB97MD3; lowest-energy conformer used for ranking.

Results

Name

SMILES

Picture

Relative Energy (kcal/mol)

2-methylpropan-2-ol

CC(C)(C)O

2-methylpropan-2-ol

0

butan-2-ol

CCC(O)C

butan-2-ol

3.114

2-methylpropan-1-ol

CC(C)CO

2-methylpropan-1-ol

5.408

butan-1-ol

CCCCO

butan-1-ol

6.689

ethoxyethane (diethyl ether)

CCOCC

ethoxyethane (diethyl ether)

13.151

2-methoxypropane (methyl isopropyl ether)

COC(C)C

2-methoxypropane (methyl isopropyl ether)

13.674

1-methoxypropane (methyl n-propyl ether)

COCCC

1-methoxypropane (methyl n-propyl ether)

15.789

Calculation Inputs

2-methylpropan-2-ol

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

butan-2-ol

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

2-methylpropan-1-ol

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

butan-1-ol

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

ethoxyethane (diethyl ether)

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

2-methoxypropane (methyl isopropyl ether)

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

1-methoxypropane (methyl n-propyl ether)

Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate

Conclusion

The lowest-energy structure in this set is 2-methylpropan-2-ol, so it is the predicted most stable constitutional isomer at the AIMNet2-wB97MD3 level used here.

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-run.py
#!/usr/bin/env amspython
from __future__ import annotations

from dataclasses import dataclass
from pathlib import Path

import scm.plams as plams
from scm.base import ChemicalSystem
from scm.conformers import ConformersJob
from scm.input_classes import Conformers
from scm.plams import Settings


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


MOLECULES: tuple[MoleculeSpec, ...] = (
    MoleculeSpec("butan-1-ol", "CCCCO", "butan-1-ol"),
    MoleculeSpec("butan-2-ol", "CCC(O)C", "butan-2-ol"),
    MoleculeSpec("2-methylpropan-1-ol", "CC(C)CO", "2-methylpropan-1-ol"),
    MoleculeSpec("2-methylpropan-2-ol", "CC(C)(C)O", "2-methylpropan-2-ol"),
    MoleculeSpec("ethoxyethane (diethyl ether)", "CCOCC", "ethoxyethane"),
    MoleculeSpec("1-methoxypropane (methyl n-propyl ether)", "COCCC", "1-methoxypropane"),
    MoleculeSpec("2-methoxypropane (methyl isopropyl ether)", "COC(C)C", "2-methoxypropane"),
)


def build_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.preamble_lines = ["export OMP_NUM_THREADS=1"]
    Conformers.from_settings(settings)
    return settings


def run_job(spec: MoleculeSpec, settings: Settings) -> ConformersJob:
    molecule = ChemicalSystem.from_smiles(spec.smiles)
    job = ConformersJob(name=spec.slug, molecule=molecule, settings=settings.copy())
    job.run()
    if not job.ok():
        raise RuntimeError(f"Conformers job failed for {spec.name}")
    energies = job.results.get_relative_energies("kcal/mol")
    print(f"{spec.name}: {len(energies)} conformers kept; lowest relative energy = {energies[0]:.6f} kcal/mol")
    return job


def main() -> None:
    plams.init(folder="01-run_workdir")
    settings = build_settings()
    for spec in MOLECULES:
        run_job(spec, settings)
    plams.finish()


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

from dataclasses import dataclass
from pathlib import Path
import shutil

import pandas as pd
import scm.plams as plams
from scm.base import Units
from scm.conformers import ConformersJob


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


MOLECULES: tuple[MoleculeSpec, ...] = (
    MoleculeSpec("butan-1-ol", "CCCCO", "butan-1-ol", "alcohol"),
    MoleculeSpec("butan-2-ol", "CCC(O)C", "butan-2-ol", "alcohol"),
    MoleculeSpec("2-methylpropan-1-ol", "CC(C)CO", "2-methylpropan-1-ol", "alcohol"),
    MoleculeSpec("2-methylpropan-2-ol", "CC(C)(C)O", "2-methylpropan-2-ol", "alcohol"),
    MoleculeSpec("ethoxyethane (diethyl ether)", "CCOCC", "ethoxyethane", "ether"),
    MoleculeSpec("1-methoxypropane (methyl n-propyl ether)", "COCCC", "1-methoxypropane", "ether"),
    MoleculeSpec("2-methoxypropane (methyl isopropyl ether)", "COC(C)C", "2-methoxypropane", "ether"),
)


def load_rows(images_dir: Path) -> tuple[pd.DataFrame, list[str]]:
    rows: list[dict[str, object]] = []
    provenance: list[str] = []
    hartree_to_kcal = Units.conversion_factor("Ha", "kcal/mol")
    job_root = Path("01-run_workdir")

    for spec in MOLECULES:
        job_path = job_root / spec.slug
        job = ConformersJob.load_external(job_path)
        provenance.append(
            f"- `{spec.slug}` loaded from `{job_path}`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking."
        )
        lowest = job.results.get_lowest_conformer()
        image_name = f"{spec.slug}.png"
        image_path = images_dir / image_name
        plams.view(lowest, width=220, height=180, guess_bonds=True, direction="along_pca3", picture_path=str(image_path))
        rows.append(
            {
                "name": spec.name,
                "type": spec.kind,
                "smiles": spec.smiles,
                "picture": f"![{spec.name}]({image_path.as_posix()})",
                "energy_ha": job.results.get_lowest_energy("Ha"),
                "input": job.get_input().strip(),
            }
        )

    df = pd.DataFrame(rows)
    min_energy = float(df["energy_ha"].min())
    df["relative_energy_kcal_mol"] = (df["energy_ha"] - min_energy) * hartree_to_kcal
    df.sort_values(["relative_energy_kcal_mol", "name"], inplace=True, ignore_index=True)
    return df, provenance


def dataframe_to_markdown(df: pd.DataFrame) -> str:
    columns = ["name", "smiles", "picture", "relative_energy_kcal_mol"]
    md = df.loc[:, columns].rename(
        columns={
            "name": "Name",
            "smiles": "SMILES",
            "picture": "Picture",
            "relative_energy_kcal_mol": "Relative Energy (kcal/mol)",
        }
    ).copy()
    md["Relative Energy (kcal/mol)"] = md["Relative Energy (kcal/mol)"].map(lambda x: f"{x:.3f}")
    return md.to_markdown(index=False)


def write_report(df: pd.DataFrame, provenance: list[str], report_path: Path) -> None:
    if report_path.exists():
        shutil.copy2(report_path, report_path.with_suffix(".md.bk"))

    lowest_name = str(df.iloc[0]["name"])
    intro = (
        "# C4H10O Constitutional Isomer Ranking\n\n"
        "This report ranks the seven listed constitutional isomers of `C4H10O` by the electronic energy of their lowest-energy conformer.\n"
        "For each molecule, AMS Conformers was run with `Generator=RDKit`, `InitialNConformers=8`, and `MLPotential/AIMNet2-wB97MD3`.\n"
        "Vibrational effects were excluded, as requested.\n"
    )
    methods = "## Provenance\n\n" + "\n".join(provenance) + "\n"
    table = "## Results\n\n" + dataframe_to_markdown(df) + "\n"
    inputs = "\n".join(
        f"### {row['name']}\n\n```text\n{row['input']}\n```\n" for _, row in df.iterrows()
    )
    conclusion = (
        "## Conclusion\n\n"
        f"The lowest-energy structure in this set is **{lowest_name}**, so it is the predicted most stable constitutional isomer at the `AIMNet2-wB97MD3` level used here.\n"
    )
    report_path.write_text("\n\n".join([intro, methods, table, "## Calculation Inputs\n\n" + inputs, conclusion]))


def main() -> None:
    plams.init()
    images_dir = Path("images")
    images_dir.mkdir(exist_ok=True)
    df, provenance = load_rows(images_dir)
    write_report(df, provenance, Path("report.md"))
    print(df.loc[:, ["name", "relative_energy_kcal_mol"]].to_string(index=False))
    plams.finish()


if __name__ == "__main__":
    main()
Original Markdown report
# C4H10O Constitutional Isomer Ranking

This report ranks the seven listed constitutional isomers of `C4H10O` by the electronic energy of their lowest-energy conformer.
For each molecule, AMS Conformers was run with `Generator=RDKit`, `InitialNConformers=8`, and `MLPotential/AIMNet2-wB97MD3`.
Vibrational effects were excluded, as requested.


## Provenance

- `butan-1-ol` loaded from `01-run_workdir/butan-1-ol`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.
- `butan-2-ol` loaded from `01-run_workdir/butan-2-ol`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.
- `2-methylpropan-1-ol` loaded from `01-run_workdir/2-methylpropan-1-ol`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.
- `2-methylpropan-2-ol` loaded from `01-run_workdir/2-methylpropan-2-ol`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.
- `ethoxyethane` loaded from `01-run_workdir/ethoxyethane`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.
- `1-methoxypropane` loaded from `01-run_workdir/1-methoxypropane`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.
- `2-methoxypropane` loaded from `01-run_workdir/2-methoxypropane`: 8 RDKit-started conformers evaluated with `MLPotential/AIMNet2-wB97MD3`; lowest-energy conformer used for ranking.


## Results

| Name                                      | SMILES    | Picture                                                                   |   Relative Energy (kcal/mol) |
|:------------------------------------------|:----------|:--------------------------------------------------------------------------|-----------------------------:|
| 2-methylpropan-2-ol                       | CC(C)(C)O | ![2-methylpropan-2-ol](images/2-methylpropan-2-ol.png)                    |                        0     |
| butan-2-ol                                | CCC(O)C   | ![butan-2-ol](images/butan-2-ol.png)                                      |                        3.114 |
| 2-methylpropan-1-ol                       | CC(C)CO   | ![2-methylpropan-1-ol](images/2-methylpropan-1-ol.png)                    |                        5.408 |
| butan-1-ol                                | CCCCO     | ![butan-1-ol](images/butan-1-ol.png)                                      |                        6.689 |
| ethoxyethane (diethyl ether)              | CCOCC     | ![ethoxyethane (diethyl ether)](images/ethoxyethane.png)                  |                       13.151 |
| 2-methoxypropane (methyl isopropyl ether) | COC(C)C   | ![2-methoxypropane (methyl isopropyl ether)](images/2-methoxypropane.png) |                       13.674 |
| 1-methoxypropane (methyl n-propyl ether)  | COCCC     | ![1-methoxypropane (methyl n-propyl ether)](images/1-methoxypropane.png)  |                       15.789 |


## Calculation Inputs

### 2-methylpropan-2-ol

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```

### butan-2-ol

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```

### 2-methylpropan-1-ol

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```

### butan-1-ol

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```

### ethoxyethane (diethyl ether)

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```

### 2-methoxypropane (methyl isopropyl ether)

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```

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

```ams
Engine MLPotential
     Model AIMNet2-wB97MD3
EndEngine


Generator
  Method RDKit
  RDKit
    InitialNConformers 8
  End
End


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


Task Generate
```


## Conclusion

The lowest-energy structure in this set is **2-methylpropan-2-ol**, so it is the predicted most stable constitutional isomer at the `AIMNet2-wB97MD3` level used here.