Skip to main content

No project description provided

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 or nitrogens.
  • Check if there is metal, carbon or hydrogen.
  • Check if there is floating atoms or molecules.

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.

A basic CLI is in development.

OMS detection

If works similar to the OMS detector used for the CoRE-MOF database but it attempts to be a bit more lightweight and correct in some cases (like paddlewheels).

We use pymatgen to calculate the order-parameters proposed by Zimmermann and Jain. Note that we introduce some weighting factors.

Identifying OMS is important as our force-fields fail to describe them correctly.

Overlapping atoms

Overlapping atoms are detected based on the pairwise distance matrix and the covalent radii.

Why check for carbons?

I think it is a pretty fast check if there is something organic ... And we know that in both the CSD subset and the CoRE-MOF database there are several structures that do not contain carbon.

Floating molecule detection

This check basically analyzes if there are unconnected subgraphs.

Installation

Development version:

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

Usage

In Python

from mofchecker import MOFChecker
mofchecker = MOFChecker.from_cif(<path_to_cif>)

# 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.1.0.tar.gz (27.0 kB view hashes)

Uploaded Source

Built Distribution

mofchecker-0.1.0-py3-none-any.whl (12.6 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