We are generating DFT-ready SBU clusters for stable MOFs with catalytic potential.
From a fresh clone, use the pinned conda environment and install the package in editable mode:
git clone <repo-url>
cd CatMOF
conda env create -f devtools/conda-envs/catmof_env.yaml
conda activate catmof
pip install -e .Then copy config.example.yaml to config.yaml, set paths (e.g. zeo_network if using geometric featurization), and run with catmof run -c config.yaml.
CatMOF does not ship a manuscript CSV. You provide it and point config at it via paths.manuscript_data_csv. The CSV must have columns name (MOF refcode, matching stable MOF names), doi, and title.
-
Title-only (
text_mining_title_only: true): Provide the manuscript CSV with names, DOIs, and titles. Use the title fetcher to fill titles from a DOI list (same CSV format as the downloader):pip install catmof[text_mining_titles] python -m catmof.text_mining_tools.title_fetcher --doi-csv dois.csv --output-csv manuscript_data_w_titles.csv
If your DOI CSV includes a name column (e.g. from a CSD export), the output is ready for
manuscript_data_csv. -
Full-paper: Provide the same manuscript CSV and a directory of article HTML/XML files (
paths.text_mining_html_dir). CatMOF runs the internal pickler on your HTMLs and writes pickles under the text_mining directory (existing pickles are skipped by default). To download HTML/XML by DOI first:python -m catmof.text_mining_tools.downloader --doi-csv dois.csv --output-dir /path/to/html/corpus
Downloader CSV:
doicolumn required; optionalmodecolumn. For Elsevier DOIs you need an API key (obtain separately; use--elsevier-keyorCATMOF_ELSEVIER_API_KEY). ACS is skipped (violation of ACS policy). Wiley is supported.
If you set run_rfactor_check: true, you must provide a CSV with MOF refcodes and R-factors (paths.core_rfactors_csv). CatMOF does not ship this file. You can obtain R-factor data separately using the CCDC/CSD API (a CSD license is required). The CSV must have columns: name (MOF refcode), R-factor (numeric).
CatMOF does not ship Zeo++. For geometric featurization (pore diameter, surface area, pore volume, etc.) you must download and build Zeo++ yourself, then set zeo_network in your config to the path of the network binary. Use version 0.3 to match the code paths used in CatMOF.
- Download: Zeo++ — Download
Copyright (c) 2024, Husain Adamji
Project based on the Computational Molecular Science Python Cookiecutter version 1.1.