Preprint available at: https://chemrxiv.org/doi/full/10.26434/chemrxiv.10001842/v1 This project formats, validates, serializes, and analyzes the given MOF synthesis data using data models. It was developed to demonstrate the usefulness of data models for realizing FAIR data and software management in chemical synthesis projects. The data models and codes can be reused by those who are interested in developing or using such a workflow.
- Two example datasets of MOF synthesis
- Formatting synthesis and characterization data into a well-defined and interoperable structure with the data models
- Rigorous data validation using JSON schema
- Data serialization into known formats, XDL and MPIF
- Phase mole fraction analysis of PXRD data using reference patterns
- Phase yield calculation based on mole fractions and yields using molar masses
- Decision tree modeling of the main products and convex hull analysis of phase yields with synthesis parameters
- Modular scripts based on the data model APIs
# Install uv
pip install uv
# Clone the repository
git clone https://github.com/FAIRChemistry/mof-synthesis-data-modeling.git
cd mof-synthesis-data-modeling
# Install dependencies in a virtual environment
uv pip install -e .macOS: brew install graphviz
Debian/Ubuntu: sudo apt install graphviz
Windows: https://graphviz.org/download/
uv run scripts/format_and_serialize_all.pycd scripts/mofsy2mpif
uv run npm install
uv run npm start
cd ../..uv run marimo edit- Workspace > scripts > pxrd_analysis.mo.py
- Run all slate cells (right bottom)
uv run scripts/generate_decision_trees.pyuv run marimo edit- Workspace > scripts > convex-hull.mo.py
- Run all slate cells (right bottom)
- Use
uv run ...as a substitution forpython .... - New packages can be added using
uv add ...instead ofpip install .... - Best results using the VSCode debugger are achieved by running
uv sync --all-packages. Then just runPython Debugger: Clear Cache and Reload Windowin the command palette.