
CoRE MOF Tools is the Python interface accompanying the CoRE MOF database. It provides database lookup and structure download, CIF curation and validation, geometric and chemical descriptors, and pretrained property models.
The package combines pure-Python functions with optional external software. Run the installation check before starting:
coremof doctor
# or: python -m CoREMOF doctor
Installation
Python 3.9–3.11 is supported. A clean conda environment is recommended because several scientific dependencies contain compiled extensions.
conda create -n coremof python=3.11
conda activate coremof
pip install CoREMOF-tools
coremof doctor
To reproduce the repository environment, use:
conda env create -f env.yaml
conda activate coremof_tools
Some features require additional software:
| Feature |
Additional requirement |
| Zeo++ pore geometry |
conda install -c conda-forge zeopp-lsmo |
| CSD structure download and MOSAEC |
Licensed CSD software and CSD Python API |
| MOFChecker |
pip install git+https://github.com/Au-4/mofchecker_2.0.git@main |
| MOFid v1/v2 |
MOFid installation and Open Babel |
| Crystal topology |
Julia/CrystalNets through juliacall; the first call may install Julia packages |
| Heat-capacity prediction |
Full repository checkout containing the ~1.3 GB ensemble model directory |
Quick start
Query a CoRE MOF record
from CoREMOF.structure import information
record = information("CR-ASR", "2020[Cu][sql]2[ASR]1")
print(record)
Valid datasets are CR-ASR, CR-FSR, CR-Ion, and NCR. Invalid dataset or entry names now raise an error with valid choices or close matches.
Calculate pore geometry with Zeo++
from CoREMOF.calculation import Zeopp
diameters = Zeopp.PoreDiameter("my_mof.cif")
print(diameters["LCD"], diameters["PLD"], diameters["unit"])
surface_area = Zeopp.SurfaceArea(
"my_mof.cif",
chan_radius=1.86,
probe_radius=1.86,
num_samples=10_000,
)
print(surface_area["ASA"])
Zeo++ calls use unique temporary files and are safe for paths containing spaces and for concurrent workflows. Set COREMOF_NETWORK_EXECUTABLE if the executable is not named network.
Precheck and standardize a CIF
from CoREMOF.curate import preprocess
job = preprocess("my_mof.cif", output_folder="result_curation")
print(job.result_check)
The curation classes write CIF/JSON/CSV outputs to the requested output directory. They do not return the processed CIF in memory.
Predict properties
from CoREMOF.prediction import pacman, stability
charge_result = pacman("my_mof.cif", output_folder="result_pacman")
stability_result = stability("my_mof.cif")
stability() additionally calls Zeo++ and RAC descriptors. Check all requirements with coremof doctor before running it.
Feature map
| Task |
Module |
Main entry point |
| Database lookup |
CoREMOF.structure |
information() |
| SI/CSD structure download |
CoREMOF.structure |
download_from_SI, download_from_CSD() |
| Zeo++ geometry |
CoREMOF.calculation.Zeopp |
PoreDiameter(), SurfaceArea(), PoreVolume() |
| Basic descriptors |
CoREMOF.calculation.mof_features |
SpaceGroup(), Mass(), Volume(), n_atom() |
| Topology, OMS, RACs |
CoREMOF.calculation.mof_features |
topology(), get_oms_file(), RACs() |
| CIF curation |
CoREMOF.curate |
preprocess, clean, clean_pacman |
| Structural validation |
CoREMOF.curate |
mof_check, run_MOSAEC(), run_mofclassifier() |
| Property models |
CoREMOF.prediction |
pacman(), cp(), stability() |
| MOF identifiers |
CoREMOF.get_mofid |
run_v1(), run_v2() |
Full guides and API documentation are available on Read the Docs. Executable notebooks and CIF examples are in examples/.
Citation
If you use the database or toolkit, cite:
Zhao G., Brabson L., Chheda S., Huang J., Kim H., Liu K., et al. “CoRE MOF DB: a curated experimental metal–organic framework database with machine-learned properties for integrated material-process screening.” Matter 8 (2025), 102140. https://doi.org/10.1016/j.matt.2025.102140
Also cite the underlying method used in your workflow (for example Zeo++, PACMAN-charge, MOFClassifier, MOFChecker, MOSAEC, CrystalNets, or the relevant stability model). A method-by-method list is provided in the documentation.
Support and development
- Report reproducible bugs through GitHub Issues.
- Include
coremof doctor output, Python version, operating system, a minimal code example, and—when shareable—the failing CIF.
- Developed by Guobin Zhao at MTAP, Pusan National University.
评论