Dataset Downloads

The complete chemical reaction network (CRN) explored in this work is available as a structured PostgreSQL dataset: compounds, potential-energy-surface minima, transition states, and elementary reactions with ML reaction paths and PBE0/def2-TZVPP refinement.

Reaction Atlas — full CRN
PostgreSQL 15 plain-SQL dump · gzip-compressed · ≈26 GB
Download from Zenodo →

The dataset is hosted on Zenodo (a persistent DOI is assigned on deposit).

Dataset at a glance

12,542
unique compounds
191
molecular formulas
33,659
PES minima
24,172
intra-PES TSs
47,987
elementary TSs
22,315
unique reactions

Compounds span C0–C4 backbones and charges from −3 to +2. For every reaction the dataset includes the full ML-predicted reaction path (TS, IRC trajectory, and connected reactant/product minima). For every reactive TS it includes PBE0/def2-TZVPP recomputed barriers, absolute energies of the TS and connected minima, and the Hessian. Where DFT indicates the ML-predicted TS is invalid, the corrected PBE0 TS, its energy difference, and the RMSD to the ML prediction are provided. PBE0 energies are additionally supplied with Grimme D3(BJ) and D4 dispersion corrections.

Restoring the database

The dump restores into a PostgreSQL 15 database. Create an empty database and stream the dump into it:

# 1. Create a database
createdb crn_atlas

# 2. Restore (gzipped plain-SQL dump)
gunzip -c reaction-atlas-*.sql.gz | psql -v ON_ERROR_STOP=1 -d crn_atlas

# The restored database is ≈26 GB including indexes — allow ample time and disk.

Decoding the binary columns

Geometry and Hessian columns are stored as PostgreSQL bytea holding serialized NumPy arrays. Single-array fields (positions, atomic numbers, Hessians) use numpy.save (.npy); trajectory fields use numpy.savez_compressed (.npz) with keys energies, positions (n_frames, n_atoms, 3), forces, and per-frame hessian_i.
import io, numpy as np

# Single array (e.g. minima.positions, reactions.ts_hessian_pbe0):
positions = np.load(io.BytesIO(row_bytes))          # -> (n_atoms, 3)

# Trajectory (e.g. reactions.reactant_trajectory):
npz = np.load(io.BytesIO(traj_bytes))
frames = npz["positions"]                            # -> (n_frames, n_atoms, 3)
energies = npz["energies"]

Schema reference

The public dataset contains the following tables. Operational tables used only during exploration (job queues, worker heartbeats, kinetics snapshots, UI annotations) are excluded. A few columns hold internal variants — alternative barrier references and manual-equilibrium overrides — that can be ignored for most analyses.

compounds

One row per unique chemical species (canonical SMILES). 12,542 rows.

ColumnTypeDescription
idint PKPrimary key.
smilestextCanonical SMILES (unique).
formulatextMolecular formula, e.g. C4H6O2.
chargeintNet molecular charge (−3 … +2).
n_atomsintNumber of atoms.
sorted_atomic_numbersbytea (.npy)Sorted atomic numbers of the compound.
is_seedboolWhether the compound was part of the initial seed set.
energy_pbe0floatPBE0/def2-TZVPP single-point energy at the lowest-energy minimum (reference energy). Nullable.
energy_pbe0_methodtextMethod/basis string, e.g. 'PBE0/def2-TZVPP'. Nullable.
energy_d3bjfloatGrimme D3(BJ) dispersion correction to the PBE0 energy (Hartree). Nullable.
energy_d4floatGrimme D4 dispersion correction to the PBE0 energy (Hartree). Nullable.

minima

PES minima (conformers). 33,659 rows, averaging 2.68 conformers per compound.

ColumnTypeDescription
idint PKPrimary key.
compound_idint FK→ compounds.id.
local_idintSequential conformer index within the compound (0, 1, 2 …).
positionsbytea (.npy)Cartesian coordinates, shape (n_atoms, 3).
energyfloatML potential energy of the minimum.
hessianbytea (.npy)Mass-independent Hessian, shape (3n, 3n). Nullable.
exploredboolWhether this minimum was expanded during exploration.
n_mergedintHow many raw minima were deduplicated into this one.
energy_pbe0floatPBE0/def2-TZVPP single-point energy (populated for the lowest-E minimum). Nullable.
energy_d3bjfloatD3(BJ) dispersion correction to the PBE0 energy. Nullable.
energy_d4floatD4 dispersion correction to the PBE0 energy. Nullable.

intra_transition_states

Intra-PES transition states connecting two conformers of the same compound. 24,172 rows.

ColumnTypeDescription
idint PKPrimary key.
compound_idint FK→ compounds.id.
local_idintSequential index within the compound.
positionsbytea (.npy)TS Cartesian coordinates, shape (n_atoms, 3).
energyfloatML potential energy at the TS.
eigenvaluefloatImaginary-mode Hessian eigenvalue.
hessianbytea (.npy)Hessian at the TS, shape (3n, 3n). Nullable.
min_fwd_id / min_bwd_idint FK→ minima.id: the two conformers this TS connects.
barrier_fwd / barrier_bwdfloatML barrier heights to the forward / backward minimum.
rmsd_to_fwd_min / rmsd_to_bwd_minfloatRMSD from the TS to each connected minimum.
fwd_trajectory / bwd_trajectorybytea (.npz)Relaxation paths from the TS to each minimum. Nullable.

reactions

Elementary chemical reactions (47,987 reactive TSs → 22,315 unique reactions by reactant–product identity). Includes the full ML reaction path, PBE0 refinement, and D3(BJ)/D4 dispersion corrections.

ColumnTypeDescription
idint PKPrimary key.
ts_idbigintGlobal transition-state id (unique).
ts_conformer_positionsbytea (.npy)TS geometry of the reacting supersystem, shape (n_atoms, 3).
ts_conformer_atomic_numbersbytea (.npy)Atomic numbers for the TS supersystem.
ts_conformer_chargeintTotal charge of the reacting supersystem.
ts_energyfloatML potential energy at the TS.
barrier_forward / barrier_backwardfloatIn-box ML barriers (TS − trajectory endpoint).
barrier_forward_separated / …_backward_separatedfloatSeparated ML barriers (TS − sum of reference-conformer energies). Nullable.
reactant_trajectory / product_trajectorybytea (.npz)ML IRC trajectories to the reactant / product side. Nullable.
energy_R_pbe0 / energy_TS_pbe0 / energy_P_pbe0floatPBE0/def2-TZVPP absolute energies of reactant, TS, product. Nullable.
barrier_forward_pbe0 / barrier_backward_pbe0floatIn-box PBE0 barriers. Nullable.
barrier_forward_separated_pbe0 / …_backward…floatSeparated PBE0 barriers (primary for kinetics). Nullable.
energy_pbe0_methodtextPBE0 method/basis string. Nullable.
ts_hessian_pbe0bytea (.npy)PBE0 Hessian on the TS geometry, shape (3n, 3n). Nullable.
ts_hessian_mlbytea (.npy)ML Hessian on the TS geometry, shape (3n, 3n). Nullable.
ts_ml_invalidboolTrue when DFT shows the ML TS is not a true saddle (≠ exactly one imaginary mode).
ts_pbe0_corrected_positionsbytea (.npy)Corrected DFT TS geometry (PBE0 saddle-point opt). Populated only when ts_ml_invalid. Nullable.
ts_pbe0_corrected_energyfloatPBE0 energy of the corrected TS. Nullable.
ts_pbe0_corrected_defloatE(corrected) − E(ML at ML geometry). Nullable.
ts_pbe0_corrected_rmsdfloatKabsch-aligned RMSD of corrected TS vs ML TS. Nullable.
energy_R_d3bj / energy_TS_d3bj / energy_P_d3bjfloatD3(BJ) dispersion corrections to the reactant / TS / product PBE0 energies. Nullable.
energy_R_d4 / energy_TS_d4 / energy_P_d4floatD4 dispersion corrections to the reactant / TS / product PBE0 energies. Nullable.
ts_corrected_d3bj / ts_corrected_d4floatDispersion corrections on the corrected DFT TS. Nullable.
barrier_*_pbe0_d3bjfloatPBE0+D3(BJ) dispersion-corrected barriers (forward / backward, in-box and separated). Nullable.
barrier_*_pbe0_d4floatPBE0+D4 dispersion-corrected barriers (forward / backward, in-box and separated). Nullable.
disp_methodtextDispersion-correction method label. Nullable.

reaction_reactants

Reactant side of each reaction (compound + conformer).

ColumnTypeDescription
idint PKPrimary key.
reaction_idint FK→ reactions.id.
compound_idint FK→ compounds.id (a reactant species).
conformer_local_idintWhich conformer (minima.local_id) participates. Nullable.

reaction_products

Product side of each reaction (compound + conformer).

ColumnTypeDescription
idint PKPrimary key.
reaction_idint FK→ reactions.id.
compound_idint FK→ compounds.id (a product species).
conformer_local_idintWhich conformer participates.
energyfloatEnergy of the product conformer.

graph_edges

Materialized bipartite edges of the reaction network (compound ↔ reaction nodes) for the graph view. 129,969 rows.

ColumnTypeDescription
idint PKPrimary key.
source_node / target_nodetextNode identifiers (compound or reaction).
source_type / target_typetext'compound' or 'reaction'.
directiontextEdge direction / role. Nullable.
stoichiometryintStoichiometric coefficient.
energy_difffloatEnergy difference along the edge. Nullable.
reaction_idint FK→ reactions.id. Nullable.

License & citation

Please cite the accompanying paper when using this dataset; full citation details and the license are provided on the Zenodo record.