Skip to main content

A Python program to analyze collections of Metal Organic Frameworks (MOFs) for open metal sites.

Author: Emmanuel Haldoupis emmhald@gmail.com

March 12th 2018

Description

Given a set of CIF files this program can read the files, analyze the structures and detect all the unique open metal sites present in each structure.

The first step is to create a collection containing all the desired CIF files. We can do this by pointing to a folder containing the CIF files.

from omsdetector-forked import MofCollection
mof_coll = MofCollection.from_folder(collection_folder="path to cif folder",
                                     analysis_folder="path to analysis folder")

Where collection_folder is the folder where the CIF files are located and analysis_folder is the folder where the results will be saved.

The analysis is run using the following command on the mof_coll object:

mof_coll.analyse_mofs()

Specifying a value for num_batches instructs the analysis to run in parallel in the specified number of batches, each as a separate process.

Once the results have finished they can be summarized using the following methods:

mof_coll.summarize_results()
mof_coll.summarize_tfactors()

The summarize_results() method generates a table that summarizes the number of open metal sites found for each metal type. The summarize_tfactors() method generates histograms (and stores them) for the distribution of the t-factors, which indicate the degree of deviation from a closed coordination sphere for tetra, penta, and hexa-coordinated coordination spheres.

Finaly, a collection can be filtered to create a sub-collection using the following filters:

  • "density": [min, max] (range of values)
  • "oms_density": [min, max] (range of values)
  • "uc_volume": [min, max] (range of values)
  • "metal_species": ["Cu", "Zn", ...] (list of metal species)
  • "non_metal_species": ["C", "N", ...] (list of non metal species)
  • "cif_okay": True (boolean value)
  • "has_oms": True (boolean value)
  • "mof_name": [mof_name1, mof_name2] (string values)

For example:

co_oms = mof_coll.filter_collection(using_filter={"metal_species":["Co"], "has_oms":True})

See the example jupyter notebook for more details.

Requirments

  • python >=3.9
  • pymatgen >=2023.2.28
  • pandas 1.3.5
  • numpy 1.21.6
  • matplotlib 2.1.1

Reference

Chung, Yongchul; Haldoupis, Emmanuel; Bucior, Benjamin; Haranczyk, Maciej ; Zhang, Hongda; Vogiatzis, Konstantinos; Milisavljevic, Marija; Ling, Sanliang; Camp, Jeffrey; Slater, Ben; Siepmann, J.; Sholl, David; Snurr, Randall Computation-Ready, Experimental Metal-Organic Framework Database 2018: Additional Structures, Open Metal Sites, and Crystal Reconstruction (submited to Chemistry of Materials)

Metadata

Release files for omsdetector_forked 2026.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omsdetector_forked 2026.1.6
File Size Uploaded
omsdetector_forked-2026.1.6.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for omsdetector_forked 2026.1.6
File Interpreter ABI Platform
omsdetector_forked-2026.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 42.7 kB

Release files / omsdetector_forked-2026.1.6.tar.gz

Download URL omsdetector_forked-2026.1.6.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
13c0f219717825037ba743bc5b0152760d87695dbb86817bb7e5d1df377ad97d
BLAKE2b-256 checksum
How to use checksums
1d985a09ff22e71aea713f6122460902099b57c77e52079a4cdba1460b718f74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.9.9 Darwin/24.3.0

Release files / omsdetector_forked-2026.1.6-py3-none-any.whl

Download URL omsdetector_forked-2026.1.6-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
492848332793f7e5fd0ca16a359a5b953d419de8f19dc60a1a2c089f9c24ef63
BLAKE2b-256 checksum
How to use checksums
65ab4cd244b7d286964ece57b8e245dc0da059aada1c3627549c3b22a55c6cd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.9.9 Darwin/24.3.0

Release history Release notifications | RSS feed

This release

2026.1.6 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page