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:
-
chemtrain/โ Training and evaluation code based on chemtrain
โ Installation: https://github.com/tummfm/chemtrain -
les/โ Training and evaluation code based on LES and MACE
โ Installation: https://github.com/ChengUCB/les/tree/main -
Dataset_creation/โ Scripts for dataset construction and biased split generation
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:
clustermaxsepNone(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