This repository contains tools for Metal-Organic Framework (MOF) generation using diffusion models and DFT analysis workflows.
This project uses Pixi for dependency management and environment setup.
curl -LsSf https://astral.sh/uv/install.sh | shpixi install # Install all dependenciespixi run check-cuda # Check PyTorch CUDA setup
pixi run check-tf # Check TensorFlow installationDiffusion model for generating Metal-Organic Framework structures.
Scripts:
cif_to_tfrecord.py- Convert CIF files to TFRecord formattrain.py- Train the diffusion modeldataset.py- Data loading and preprocessingmodel.py- DiT (Diffusion Transformer) architecturediffusion.py- DDIM sampling for generationvae.py- VAE component (placeholder)
Quick Start:
# Convert CIF files to TFRecord
pixi run python diffuse_materials/cif_to_tfrecord.py --cif_dir diffuse_materials/qmof_subset --output mof_data.tfrecord
# Train model
pixi run python diffuse_materials/train.py --dataset_dir="mof_data.tfrecord" --batch_size=2 --max_train_steps=1000See diffuse_materials/README.md for detailed usage.
Jupyter notebooks for analyzing DFT calculation results and workflow completion.
Notebooks:
get_e_form.ipynb- Calculate formation energies from DFT resultsparse_workflow_steps.ipynb- Analyze workflow completion statistics
Usage:
# Start Jupyter
pixi run jupyter lab
# Or run specific analysis
pixi run jupyter nbconvert --execute dft_analysis/get_e_form.ipynbAI agents for MOF generation and analysis workflows.
Agent 4 QForge:
agents/agent_4_qforge/- MOF Analysis & Optimization agent- Replaces
run_jobs.ipynbwith clean Python workflow - Combines zeo++ pore analysis and MACE force field relaxation
- Requires zeo++ software (set
ZEO_PATHenvironment variable)
Usage:
# Example MOF generation
pixi run python example_mof_generation.py
# QForge MOF analysis (requires zeo++ installation)
pixi run python agents/agent_4_qforge/example_usage.pySee agents/agent_4_qforge/README.md for detailed setup and configuration.
# MOF Generation
pixi run convert --cif_dir /path/to/cifs --output /path/to/output.tfrecord
pixi run train --dataset_dir="mof_data.tfrecord"
# MOF Agent Example
pixi run python example_mof_generation.pyCore ML/AI:
- PyTorch 2.5.1 (CUDA 12.1)
- TensorFlow 2.18.0
- CUDA support for RTX
Scientific Computing:
- NumPy, SciPy
- PyMatGen
- Matplotlib, Plotly
DFT Analysis:
- python-dotenv
- seaborn
- pymongo
- mp-api (Materials Project API)
Development:
- ember-ai
- Jupyter Lab
- Fire (CLI framework)
MOF Agents:
- openai (OpenAI API client)
Agent 4 QForge (MOF Analysis):
- jobflow (workflow management)
- atomate2[forcefields] (MACE force field)
- fireworks (quantum execution manager)
@misc{inizan2025agenticaidiscoverymetalorganic,
title={System of Agentic AI for the Discovery of Metal-Organic Frameworks},
author={Theo Jaffrelot Inizan and Sherry Yang and Aaron Kaplan and Yen-hsu Lin and Jian Yin and Saber Mirzaei and Mona Abdelgaid and Ali H. Alawadhi and KwangHwan Cho and Zhiling Zheng and Ekin Dogus Cubuk and Christian Borgs and Jennifer T. Chayes and Kristin A. Persson and Omar M. Yaghi},
year={2025},
eprint={2504.14110},
archivePrefix={arXiv},
primaryClass={cond-mat.mtrl-sci}
}