Skip to main content

Perform sanity checks on MOF structures

Project description

mofchecker

Python package codecov Documentation Status PyPI - Python Version

What does it do?

Perform quick sanity checks on your MOF:

  • Find open metal sites (OMS) in metal-organic frameworks (MOFs).
  • Find atomic overlaps.
  • Find overvalent (CN>4) carbons, nitrogens, or hydrogen.
  • Check if there is metal, carbon or hydrogen.
  • Check if there is floating atoms or molecules.
  • Check if there is missing hydrogen on common coordination geometries of C and N.
  • Check if there is unusually high EqEq charge on some atom (using openbabel).
  • Computes structure graph hashes (to potentially identify duplicates)

The idea is to have nothing to fancy but a fast tool that we can run to eliminate the really unreasonable structures. The code is basically a rewrite of the checking tools that we implemented in structure_comp.

Installation

Development version:

pip install git+https://github.com/kjappelbaum/mofchecker.git

Latest stable release

pip install mofchecker

A web app is currently being developed in another repository and deployed on MatCloud.

Usage

In Python

from mofchecker import MOFChecker
mofchecker = MOFChecker.from_cif(<path_to_cif>)
# or: MOFChecker(structure=my_pymatgen_structure)

# Test for OMS
mofchecker.has_oms

# Test for clashing atoms
mofchecker.has_overlapping_atoms

# Run basic checks on a list of cif paths (sample_structures)
results = []

for structure in sample_structures:
    mofchecker = MOFChecker.from_cif(structure)
    results.append(mofchecker.get_mof_descriptors())

CLI

For example, you can use

mofchecker <cif> --has-oms

You can get an overview over all options with

mofchecker --help

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

mofchecker-0.5.0.tar.gz (33.3 kB view hashes)

Uploaded Source

Built Distribution

mofchecker-0.5.0-py3-none-any.whl (18.0 kB view hashes)

Uploaded Python 3

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