Skip to main content

Forked omsdetector to make it compliant with current python versions and dependencies

Project description

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)

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

omsdetector_forked-2024.11.13.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

omsdetector_forked-2024.11.13-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file omsdetector_forked-2024.11.13.tar.gz.

File metadata

  • Download URL: omsdetector_forked-2024.11.13.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.9 Darwin/22.1.0

File hashes

Hashes for omsdetector_forked-2024.11.13.tar.gz
Algorithm Hash digest
SHA256 3121a322e95c69cbe61ad692fbc673d3959376e727e571e5bb5ea2c9fcd3a6eb
MD5 fd792ea19e743fc30d0ac62fb4688f3c
BLAKE2b-256 ff2f7e123b528fdb0de294de6ff74000e1462d63f73b706c962fe654a8d6a682

See more details on using hashes here.

File details

Details for the file omsdetector_forked-2024.11.13-py3-none-any.whl.

File metadata

File hashes

Hashes for omsdetector_forked-2024.11.13-py3-none-any.whl
Algorithm Hash digest
SHA256 376b663df21eed3cc40fb3be1b24e6ae3024fcf43a0b9983f5ddfbb0e4942952
MD5 23586ce65f9c41940514db3185164179
BLAKE2b-256 7141529954b83e83f625ee6ecf4633c68c752bd9de4c31990fb4f9929eef2cca

See more details on using hashes here.

Supported by

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