{ "cells": [ { "cell_type": "markdown", "id": "c9e255e3", "metadata": {}, "source": [ "# The ANI-2x dataset: seven elements (S, F, Cl) and the `ani-2x` preset\n", "\n", "The **ANI-2x dataset** (Devereux *et al.*, *J. Chem. Theory Comput.* **16**,\n", "4192, 2020) is the training set behind the **ANI-2x** potential, the\n", "seven-element extension of ANI. Where ANI-1/ANI-1x/ANI-1ccx cover only\n", "H, C, N, O, ANI-2x adds **S, F, and Cl**, the elements that (with the original\n", "four) make up ~90% of drug-like molecules. It was built by the same active\n", "learning procedure as ANI-1x, giving ~9.6 million wB97X/6-31G(d) conformations\n", "with **energies and forces**.\n", "\n", "Same one-line hub as every other dataset. The first call downloads the\n", "~3.7 GB wB97X/6-31G(d) archive from Zenodo (record 10108942), cached and\n", "MD5-verified under `datasets/ani2x/`:\n", "\n", "```python\n", "from xnn.common.data import load_dataset\n", "data = load_dataset(\"ani2x\", n_atoms=[5, 6, 7]) # atom-count groups\n", "```\n", "\n", "The ANI-2x HDF5 groups conformations by **total number of atoms** (`\"002\"`,\n", "`\"003\"`, ...), and within a group each conformation can be a different molecule\n", "with that atom count. Here we load a capped subset that contains the new\n", "elements, train the `xnn` **`ani-2x` preset** on energies *and* forces, and\n", "look at both parities plus a per-element breakdown. This is the seven-element\n", "companion to `ani1x_dataset.ipynb`.\n", "\n", "Run with the **`xnn`** kernel." ] }, { "cell_type": "markdown", "id": "a0999752", "metadata": {}, "source": [ "## 0. Load a subset of ANI-2x, including S/F/Cl\n", "\n", "`n_atoms` picks which atom-count groups to read; `max_conformations` caps each\n", "group so the demo trains in minutes. Energies convert to eV and forces to\n", "eV/A. Note the seven elements and the per-atom `forces`, absent from ANI-1." ] }, { "cell_type": "code", "execution_count": 1, "id": "75b3da30", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:56:10.678069Z", "iopub.status.busy": "2026-07-20T05:56:10.677922Z", "iopub.status.idle": "2026-07-20T05:56:15.004521Z", "shell.execute_reply": "2026-07-20T05:56:15.003576Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a95cff5b894a4c4f8a25a97c9418a9ee", "version_major": 2, "version_minor": 0 }, "text/plain": [ "ani2x: 0%| | 0/4 [00:00= angular 3.5)\n", "EPOCHS, BS, LR = 120, 64, 1e-3\n", "train_ds = AtomicDataset(train_structs, CUTOFF)\n", "test_ds = AtomicDataset(test_structs, CUTOFF)\n", "\n", "cfg = Config(\n", " model=ModelConfig(name=\"ani\", cutoff=CUTOFF,\n", " extra={\"preset\": \"ani-2x\", \"species\": SPECIES,\n", " \"atomic_energies\": sae.tolist()}),\n", " data=DataConfig(cutoff=CUTOFF, batch_size=BS), # val_fraction 0.1 carves val\n", " optim=OptimConfig(lr=LR, epochs=EPOCHS, energy_weight=1.0,\n", " force_weight=10.0, scheduler=\"plateau\"),\n", " output_dir=\"runs/ani2x_subset\",\n", ")\n", "trainer = Trainer(cfg, train_ds, test_set=test_ds)\n", "print(f\"ANI-2x parameters: {sum(p.numel() for p in trainer.module.parameters()):,}\"\n", " f\" device {trainer.device}\")\n", "\n", "t0 = time.time(); trainer.fit()\n", "print(f\"trained {EPOCHS} epochs in {time.time()-t0:.0f}s\")" ] }, { "cell_type": "markdown", "id": "f45e5a71", "metadata": {}, "source": [ "## 3. Energy *and* force correlation vs DFT\n", "\n", "Because ANI-2x carries forces we check both. There is **no** `torch.no_grad()`\n", "here: forces are `-dE/dx`, so the energy must keep its graph; we detach the\n", "tensors after the model call instead." ] }, { "cell_type": "code", "execution_count": 4, "id": "efaf09fc", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T06:17:23.302100Z", "iopub.status.busy": "2026-07-20T06:17:23.301960Z", "iopub.status.idle": "2026-07-20T06:17:24.531798Z", "shell.execute_reply": "2026-07-20T06:17:24.530819Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "energy RMSE: 456.0 meV = 10.516 kcal/mol\n", "force RMSE: 358.3 meV/A\n" ] }, { "data": { "image/png": "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lGPHjil9+/ZVOnfurAQHB9uvsX37dgVQvv32W4cYkpOTFTc3N+Wxxx67o8/nZiNTFy5cUADlpZdeynPu66+/VgBl8+bNN71+7ohZUFCQotVqlZCQEGXo0KHKyZMnCx1XVlaWotVqlREjRijjx49Xypcvr7i4uChVq1ZV3n77bSUnJ+cW7zrviNm0adMUtVqtTJkyxaHd999/r6hUKuXpp59WTp06paSlpSmbNm3K828il9lsVo4cOaL07t1bCQ0NVRITE+3nbjQy9eWXXyoGg0HJyspyiK958+bKgAEDlIMHDypJSUnKiy++qOh0OmXr1q1Kjx49lP379yvJycnKyy+/rADKgQMHHK47ZcoURa1WK9OmTVOuXLminD59WunXr5+i1+uVbdu23TIuIUTpcvjw4XxHzPbs2aMYDAale/fuysmTJ5WEhATlo48+UjQajTJx4kR7u+nTpyuA8sgjjyg///yzkpSUpHz33XeKoijKF198oahUKuX5559XTp8+raSmpirr169XBg4caH/+zJkzFZVKpbz22mtKZGSkkpCQYL+3Ll68WFEURTl//rxiMBiUcePGKdHR0UpmZqayZ88eZfjw4bfsF27FarUqFy5cUEaOHKl4eXkpO3bscDifO2KW2x+FhoYqw4cPV86cOZPnWn///bei0+mUd955R0lMTFSSk5OVjz/+WNFqtcq8efNuGUvdunWVNm3aKAMGDFAOHz6sJCUlKU8//bTi6uqqbNu2TenZs6f93v7cc88parVaOXbsmMM1CvJ5KoqivPfeewqgrFu3zuH5s2fPVgBl/vz5eeL78MMPFS8vL8VkMjkcX7FihQIo+/fvVxRFURYuXKgAeWITJZskZqLE6tu3rxIUFKSkpKQ4HP/1118dvvjnJgKff/65Q7t3331XAZTY2NhCX3PGjBkO7a5cuaK4uLgoY8eOdTgeHx+vuLm5OSRminJ1mlujRo0cjn3yyScKoGzZsqWgH0W+bpYA7d27VwGUqVOn5jk3b948BVAWLlx40+t/9tlnytdff62cO3dOSU1NVdasWaPUqVNH8fT0VA4dOlSouM6fP68AikajUVq2bKkcPnxYSUlJUb755htFq9Uqw4cPv+X7zk3MTCaT8thjjymurq7Kb7/95tAmJSVF8fDwUPr163fL610vISFBARymgNwoAeratWueRK9p06aK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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from torch.utils.data import DataLoader\n", "from xnn.common.data import collate\n", "\n", "model = trainer.model.eval(); device = trainer.device\n", "EV2KCAL = 23.060541945329334\n", "E_pred, E_ref, F_pred, F_ref = [], [], [], []\n", "for batch in DataLoader(test_ds, batch_size=64, collate_fn=collate):\n", " batch = batch.to(device)\n", " out = model(batch) # forces need autograd, no no_grad()\n", " E_pred.append(out[\"energy\"].detach().cpu().numpy())\n", " F_pred.append(out[\"forces\"].detach().cpu().numpy())\n", " E_ref.append(batch.energy.cpu().numpy())\n", " F_ref.append(batch.forces.cpu().numpy())\n", "E_pred, E_ref = np.concatenate(E_pred), np.concatenate(E_ref)\n", "F_pred, F_ref = np.concatenate(F_pred), np.concatenate(F_ref)\n", "e_rmse = np.sqrt(np.mean((E_pred - E_ref) ** 2))\n", "f_rmse = np.sqrt(np.mean((F_pred - F_ref) ** 2))\n", "print(f\"energy RMSE: {e_rmse*1e3:.1f} meV = {e_rmse*EV2KCAL:.3f} kcal/mol\")\n", "print(f\"force RMSE: {f_rmse*1e3:.1f} meV/A\")\n", "\n", "fig, (a1, a2) = plt.subplots(1, 2, figsize=(8.8, 4.2))\n", "a1.scatter(E_ref, E_pred, s=8, alpha=0.5)\n", "lim = [min(E_ref.min(), E_pred.min()), max(E_ref.max(), E_pred.max())]\n", "a1.plot(lim, lim, \"k--\", lw=1)\n", "a1.set_xlabel(\"DFT energy (eV)\"); a1.set_ylabel(\"ANI-2x energy (eV)\")\n", "a1.set_title(f\"energy {e_rmse*EV2KCAL:.3f} kcal/mol\")\n", "fl = [min(F_ref.min(), F_pred.min()), max(F_ref.max(), F_pred.max())]\n", "a2.scatter(F_ref.ravel(), F_pred.ravel(), s=3, alpha=0.3)\n", "a2.plot(fl, fl, \"k--\", lw=1)\n", "a2.set_xlabel(\"DFT force (eV/A)\"); a2.set_ylabel(\"ANI-2x force (eV/A)\")\n", "a2.set_title(f\"forces {f_rmse*1e3:.0f} meV/A\")\n", "fig.tight_layout(); fig.savefig(\"ani2x_correlation.png\", dpi=110); plt.show()" ] }, { "cell_type": "markdown", "id": "ba2a747f", "metadata": {}, "source": [ "## Summary\n", "\n", "`load_dataset(\"ani2x\", ...)` brings the ~9.6 M-conformation, seven-element\n", "ANI-2x training set (**energies and forces** for H/C/N/O/S/F/Cl) into the same\n", "one-line hub as every other `xnn` dataset. Paired with the **`ani-2x` preset**\n", "(`ANI.ani2x()`), this reproduces the ANI-2x model's training setup: the larger\n", "1008-length AEV, the wider per-element networks, and a force-aware loss.\n", "\n", "The full ANI family in the hub, side by side:\n", "\n", "| | elements | labels | preset |\n", "|---|---|---|---|\n", "| ANI-1 (`ani1`) | H C N O | energies | `ANI.ani1()` |\n", "| ANI-1x (`ani1x`) | H C N O | energies **+ forces** | `ANI.ani1x()` |\n", "| ANI-1ccx (`ani1ccx`) | H C N O | CCSD(T)*/CBS energies | `ANI.ani1ccx()` |\n", "| ANI-2x (`ani2x`) | **+ S F Cl** | energies **+ forces** | `ANI.ani2x()` |\n", "\n", "For the **pretrained** ANI-2x weights transplanted from torchani (rather than\n", "trained here), see `examples/fidelity_checks/ani_verification.ipynb` and the\n", "parity tests in `tests/test_ani.py`." ] } ], "metadata": { "kernelspec": { "display_name": "xnn (.venv)", "language": "python", "name": "xnn" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.12" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "27dd33e83acf43a4be6a0d0dccf14a54": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_4f3a150f515b4c96b2122df5d711e889", "placeholder": "​", "style": "IPY_MODEL_e5dc861ed1b4452a98f2c73031438634", "tabbable": null, "tooltip": null, "value": "ani2x: 100%" } }, "341cd4952974466daa5fd68c1e178aa9": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": null } }, "4f3a150f515b4c96b2122df5d711e889": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6844993cd04c4d97a356a3119260e35a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8980aac5e1c64924b1d31e221ab6728b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "8a8e989742614733af8c09fabe2f719d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "914b14b307ce4a18a7cc7a8c3b6a5a8e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_6844993cd04c4d97a356a3119260e35a", "max": 4.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_8980aac5e1c64924b1d31e221ab6728b", "tabbable": null, "tooltip": null, "value": 4.0 } }, "988b6e1bffae41b383e2487d90a61e5e": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9a62307d2bb34c59aad2dc5c93bfea27": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_988b6e1bffae41b383e2487d90a61e5e", "placeholder": "​", "style": "IPY_MODEL_8a8e989742614733af8c09fabe2f719d", "tabbable": null, "tooltip": null, "value": " 4/4 [00:01<00:00,  2.01 group/s]" } }, "a95cff5b894a4c4f8a25a97c9418a9ee": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_27dd33e83acf43a4be6a0d0dccf14a54", "IPY_MODEL_914b14b307ce4a18a7cc7a8c3b6a5a8e", "IPY_MODEL_9a62307d2bb34c59aad2dc5c93bfea27" ], "layout": "IPY_MODEL_341cd4952974466daa5fd68c1e178aa9", "tabbable": null, "tooltip": null } }, "e5dc861ed1b4452a98f2c73031438634": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }