Supporting Information

June 10, 2026 ยท View on GitHub

This repository contains the Supporting Information code for:

Sanocki, M., & Zavadlav, J. (2025)
Generalization of Long-Range Machine Learning Potentials in Complex Chemical Spaces
Digital Discovery, vol. 5, RSC, 2026, pp. 2195โ€“2208, DOI: 10.1039/D5DD00570A


๐Ÿ“ฆ Repository Structure

The repository is organized into the following components:

Each submodule contains its own dependency requirements.


๐Ÿ“Š Datasets

The datasets used in this study are available at:


๐Ÿ‹๏ธ Training Overview

  • QMOF models: use predefined dataset splits (handled internally in scripts)
  • OMol25 / ODAC25 models: require split specification via command-line arguments

Split types include:

  • Cluster split
  • Maximum separation (maxsep)
  • Random split
  • Small/Large (SL) split

๐Ÿ”ฌ chemtrain

ODAC / OMol Training

Run chemtrain-based models as:

python SCRIPT.py GPU_ID --traj PATH_TO_TRAJ [split options]

Split Strategies

Cluster / Max Separation (external indices)

--train_indices path/to/train_indices.txt
--test_indices  path/to/test_indices.txt

Example

python allegro_efa_odac.py "1" \
  --traj path/to/dataset.traj \
  --train_indices path/to/train_indices.txt \
  --test_indices path/to/test_indices.txt

Random Split

python allegro_efa_odac.py "1" \
  --traj path/to/dataset.traj \
  --seed 3

Small/Large (SL) Split

python allegro_efa_odac.py "1" \
  --traj path/to/dataset.traj \
  --seed 3 \
  --sl True

QMOF Training

For QMOF, dataset splitting is handled inside each training script.

Standard Preprocessing

preprocess_mof_data(
    data_path,
    split_method="cluster",
    val_ratio=0.1,
    seed=3
)

Supported split_method values:

  • cluster
  • maxsep
  • None (fallback to random split)

Required Files for Cluster / MaxSep

train_refcodes_<split_method>.csv
test_refcodes_<split_method>.csv

Small/Large (SL) Preprocessing

preprocess_mof_data(
    data_path,
    train_cutoff=100
)

Running Models

python SCRIPT.py GPU_IDS

โš™๏ธ les

LES-based models are trained using the provided fit.sh script.

Training Entry Point

bash fit.sh

This script wraps:

run_train.py

and defines all model and training parameters.


๐Ÿ“‚ Dataset Format

Datasets must be provided as .extxyz files:

--train_file path/to/train.extxyz
--valid_file path/to/valid.extxyz
--test_file  path/to/test.extxyz

โš™๏ธ Configuration

All key parameters are defined directly in fit.sh, including:

  • Model architecture (MACELES)
  • Number of channels
  • Cutoff radius
  • Number of interactions
  • Optimization settings
  • EMA / SWA

๐Ÿ“ˆ Outputs

Each training run produces:

  • Standard LES/MACE logs
  • Model checkpoints
  • Outputs saved in the working directory