Skip to main content

A python machine learning module for for accelerating the discovery and synthesis of Metal organic frameworks

Project description

fairmofsyncondition

fairmofsyncondition is a Python module designed to predict the synthesis conditions for metal-organic frameworks (MOFs). This tool offers two main functionalities:

  1. Predict Synthesis Conditions from Crystal Structures Structure: Given a crystal structure of a MOF, the model will predict the optimal set of conditions required to synthesize the specified structure.
  2. Predict MOF Structures from Synthesis Conditions: If a set of reaction condition is provided, the model will predict the crystal structures of all possible MOF that can be formed under those conditions.

The model is trained on data extracted from the FAIR-MOF dataset, which is a comphrensive and carefully curated collection of MOF structures paired with their corresponding experimental synthesis conditions, building units and experimental synthetic conditions. This dataset serves as a robust foundation for accurate and reliable predictions.

Features

  • Bidirectional Prediction: Whether you have a MOF structure or reaction conditions, the module can provide the corresponding synthesis conditions or possible MOF structures, respectively.
  • FAIR-MOF Dataset: Utilizes a comprehensive curated dataset of MOFs with verified experimental conditions.
  • User-Friendly: Easy to install and use, with minimal setup required.

Installation

The module can be installed directly from GitHub. Follow the steps below to get started:

PyPi

Simply pip install.

'''bash pip install fairmofsyncondition '''

GitHub Installation

To install fairmofsyncondition from GitHub, execute the following commands in your terminal:

# Clone the repository
git clone https://github.com/bafgreat/fairmofsyncondition.git

# Navigate into the project directory
cd fairmofsyncondition

# Install the package
pip install --upgrade pip setuptools wheel
pip install .

PYPI Installation

To install fairmofsyncondition from PYPI, simply execute the following commands in your terminal:

pip install fairmofsyncondition

Useful tool

fairmofsyncondition_syncon is a command-line tool for predicting synthetic conditions of Metal–Organic Frameworks (MOFs) directly from CIF files. It extracts organic ligands, space group information, and computes the top-5 predicted metal salts.

Quickly run command on any cif file

  fairmofsyncondition_syncon my_mof.cif

Or run and provide and outfile

  fairmofsyncondition_syncon my_mof.cif -o my_mof_report.txt

iupac2cheminfor one of the most useful tool is to directly extract cheminonformatic identifiers such as inchikey and smile strings directly from iupac names or common names. This can be achieved using iupac2cheminfor CLI as follows:

  iupac2cheminfor 'water'

or

  iupac2cheminfor -n 'water' -o filename

The out will be written by default to cheminfor.csv if no output is provided and if porvided it will be written to the name parsed.

cheminfo2iupac

Another useful tool is directly convert a smile or and inchikey their iupac name. To achieve this simply run the following commandline tool

  cheminfo2iupac -n 'O' -o filename

struct2iupac In other cases one may one to directly extract the iupac name and cheminformatic identifier of a chemical structure. The quickest way to do this is by running the following commands.

  struct2iupac XOWJUR.xyz

pg_graph from cif file or folder

One can reliably create an lmdb dataset using the following code.

  pggraph_from_cifs -i ./CIFs/ -o mof_db.lmdb

Training

To quickly train the model on the command line, simply use the train_bde CLI command. It has several helpful options to facilated training.

train_bde -h

The above command will provide all neccesarry information to train a model.

We also provide a commandline to to run optuna for searching optimal command line arguments.

find_bde_parameters -h

Machine Learning Folder

The folder machine_learning/ contains the code and Jupyter notebooks to predict the metal salt of a given MOF using Graph Neural Networks (GNNs).

  • Each notebook (Ex1.ipynb, Ex2.ipynb, …, Ex10.ipynb) explores different combinations of input features such as:

    • Scherrer (grain size)
    • Microstrain (lattice distortion)
    • OMS (Open Metal Sites)
    • Atomic Number
  • The notebooks share the same structure:

    1. Load the Data – import and prepare the dataset
    2. Define the GNN Model – specify the architecture
    3. Train the Model – train and save weights in tmp/ (optional)
    4. Load and Evaluate the Model – load trained weights and test performance

Note: If you only want to test the model with pre-trained weights, you can simply skip step 3 (training).

Documentation

Full documentation can be found docs.

LICENSE

This project is licensed under the MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fairmofsyncondition-0.1.5.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fairmofsyncondition-0.1.5-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file fairmofsyncondition-0.1.5.tar.gz.

File metadata

  • Download URL: fairmofsyncondition-0.1.5.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.10 Darwin/24.3.0

File hashes

Hashes for fairmofsyncondition-0.1.5.tar.gz
Algorithm Hash digest
SHA256 fe712794c0b00a3cbcfae1594317be7a83e748c3ea4c485aad7ccdc8ebae0192
MD5 5e1ae2a74860c2e725bc3942d815d7f5
BLAKE2b-256 f9307918fdbc4757711acd49f5526d2d5d95a3f7a4088bca024e619de04ac16b

See more details on using hashes here.

File details

Details for the file fairmofsyncondition-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for fairmofsyncondition-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cea19a9511688c666a952e1471d81fdfa80af42e355734e82e8155722297aff2
MD5 b016bfc3635a80d5faeddd9b8ff25ffd
BLAKE2b-256 a6c3ea131275847ac0e43e6b3f7040f14cdf1b4b49d367ee40c41e74970e3ce0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page