Code and data
We release the codes and data behind our papers so that others can reproduce and extend them. Most repositories live on the group's GitHub organization; archived versions have DOIs on Zenodo or Figshare. If you use them, please cite the related publication. Scripts, input templates and tutorials that are not tied to a paper are listed under Other codes, scripts and tutorials.
Software
CheMLFlow
A configuration-driven, dataset-agnostic framework for developing, benchmarking and deploying machine-learning workflows on chemistry and materials data.
- Modular pipeline (get data, split, featurize, train, explain) with experiments declared in YAML and contracts enforced between steps.
- Models from random forests, SVMs, XGBoost and CatBoost to message-passing networks (Chemprop) and fine-tuned foundation models (CheMeleon).
- Rigorous evaluation: holdout, k-fold and nested protocols with random and scaffold splits, plus guards against silently dropped test rows.
- Design-of-experiments engine for large model and hyperparameter screens, on a laptop or a Slurm cluster, with resumable runs.
- Built-in interpretability (permutation importance, SHAP), standardized metrics and TDC leaderboard benchmarks.
Developers: B. Smith, S. Lopez-Moreno, E. Dolores-Cuenca, S. Kim, N. Abdulrahiman and J. L. Mendoza-Cortés
Related publication: CheMLFlow: An Open-Source Platform for Cheminformatics and Materials Informatics Applications
PHL: Projected Hessian Learning
Reference implementation of a stochastic curvature-supervision method that trains interatomic potentials on Hessian-vector products instead of full Hessians, giving second-order information at roughly the cost of training on forces.
- Projected curvature targets from Gaussian (Hutchinson-type) probing, avoiding the quadratic cost of explicit Hessians.
- End-to-end training notebook for energies, forces and Hessian-vector products, with Hessian-aware batching and Weights & Biases logging.
- Companion implementation for HIP-NN models in hippynn, showing that the approach transfers across architectures.
Developers: A. Rodriguez, with J. S. Smith, S. Matin, N. Lubbers and K. Barros
Related publication: Projected Hessian Learning: Fast Curvature Supervision for Accurate Machine-Learning Interatomic Potentials
MLFFwithHessians
Code for training machine-learned interatomic potentials with energies, forces and Hessians as joint targets.
- Curvature-aware loss functions with automatic differentiation of first and second derivatives of the potential-energy surface.
- Data loaders that read and batch Hessian matrix elements for frameworks that do not support them natively.
- A complete training notebook, paired with the OpenREACT-CHON-EFH dataset for reproducible benchmarks.
Developers: A. Rodriguez and J. S. Smith
Related publication: Does Hessian Data Improve the Performance of Machine Learning Potentials?
SALSA: Substitution Approximation evoLutionary Search and Ab initio
Combines evolutionary element substitution with first-principles calculations to discover earth-abundant semiconductors for photovoltaics and photocatalytic water splitting.
- Evolutionary element-substitution search coupled to ab initio electronic-structure calculations.
- Automated convex-hull stability screening that keeps only thermodynamically viable candidates.
Developers: M. Djokic, G. Martinez, A. Aduenko and J. L. Mendoza-Cortés
Related publication: Transforming Materials Discovery for Artificial Photosynthesis: High-Throughput Screening of Earth-Abundant Semiconductors
MACE: Mendoza Automated CRYSTAL Engine
An end-to-end automation framework for reproducible, large-scale periodic quantum-chemistry calculations on high-performance computers.
- From structure preparation and input generation to job submission, monitoring and post-processing.
- Restart and recovery, provenance tracking and standardized output for downstream analysis.
- High-throughput electronic-structure and property pipelines shared across projects.
Developers: The Mendoza group, including B. Lewis
CHINAMPAS
Research software implementing machine-learning models inspired by tropical algebra, with utilities for prototyping and benchmarking.
Developers: E. Dolores-Cuenca and collaborators
Related publication: Polychrony as Chinampas
Poset-Filters
Routines to construct, enumerate and analyze filters and ideals of posets, used for order-theoretic layers in neural networks and for combinatorics.
Developers: E. Dolores-Cuenca, S. Lopez-Moreno and collaborators
Related publication: Order Theory in the Context of Machine Learning
Topological materials property toolkit
Post-processing tools that extract topology- and symmetry-related descriptors from first-principles calculations and tight-binding models for automated screening. Available to collaborators on request.
Datasets and references
OpenREACT-CHON-EFH
Atomic configurations along reaction pathways (reactants, products, transition states, reaction paths and normal-mode samples) with consistent energy, force and Hessian labels, for training and benchmarking machine-learned potentials.
Related publications: Does Hessian Data Improve the Performance of Machine Learning Potentials?, Projected Hessian Learning: Fast Curvature Supervision for Accurate Machine-Learning Interatomic Potentials
Secondary building units: 279 examples
Drawings and connectivity of transition-metal carboxylate clusters used as secondary building units of metal-organic frameworks.
Related publication: Secondary building units, nets and bonding in the chemistry of metal-organic frameworks
Open textbooks
Machine Learning and Quantum Computing Guide for Humans
Tutorials and executable Jupyter notebooks on machine learning, AI and quantum computing for students outside computer science, from linear regression to neural networks, quantum algorithms and variational methods. Preserved in the GitHub Arctic Code Vault.
Related publication: Machine Learning and Quantum Computing Guide for Humans
Quantum Computing Live Book
An executable introduction to quantum computing written with students of the group.
Related publication: Quantum Computing Live Book
Other codes, scripts and tutorials
The tools and how-tos we use every day, kept on our group wiki and on GitHub. They are not tied to a paper and come without support, but anyone is welcome to use them.
Code tutorials on the group wiki
Written by group members for the codes and tools we use, with example inputs and job scripts for MSU's supercomputer. The wiki also holds our onboarding guide and the advice collected on the Resources page.
- Electronic structure: CRYSTAL (input templates for spin-polarized DFT, bands and densities of states, vibrations, IR and Raman spectra, transition states; also for CRYSTAL17), VASP, Quantum ESPRESSO, Wannier90, ORCA, Gaussian (transition states and reaction paths), Q-Chem, DIRAC (relativistic) and eDMFT with WIEN2k.
- Phonons: a complete Phonopy tutorial with CRYSTAL23, from setup to phonon bands.
- Force fields and molecular dynamics: LAMMPS, ReaxFF in ADF and Materials Studio (video tutorials).
- Structure prediction and symmetry: USPEX, a FINDSYM script that symmetrizes a whole folder of CIF files, and ToposPro.
- Figures: Blender for figures and journal covers, publication-quality plots in Jupyter and 3D-printed crystal structures.
- Computing and programming: Slurm good practice, Python, Modern Fortran, LaTeX, GitHub and MATLAB.
helpscripts
The scripts we use to set up, run and analyze CRYSTAL calculations.
- Conversion between CIF files and CRYSTAL inputs.
- Inputs for band structures, densities of states and transport properties, and scripts that plot bands and densities of states and extract band edges.
- Job submission and queue management on Slurm clusters, and libraries of double- and triple-zeta basis sets.
A quick guide to Python
From "Hello world" to loops and conditionals, input, error messages, numerical precision, strings, lists and dictionaries.