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?

mofchecker performs quick sanity checks on crystal structures of metal-organic frameworks (MOFs).

Sanity checks:

  • Presence of at least one metal, carbon and hydrogen atom
  • Overlapping atoms (distance between atoms above covalent radius of the smaller atom)
  • Overvalent carbons (coordination number above 4), nitrogens (heuristics), or hydrogens (CN > 1)
  • Missing hydrogen on common coordination geometries of C and N (heuristics)
  • Atoms with excessive EQeq partial charge

Basic analysis:

  • Presence of floating atoms or molecules
  • Hash of the atomic structure graph (useful to identify duplicates)

The sanity checks can be used to weed out really unreasonable structures (nothing too fancy). The code is a rewrite of similar tools in structure_comp.

Installation

Development version:

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

Latest stable release

pip install mofchecker

Note that you need to install zeopp if you want to use the porosity features.

conda install -c conda-forge zeopp-lsmo

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

Usage

Command line interface

mofchecker --help # list options
mofchecker structure1.cif structure2.cif  # prints JSON output
mofchecker -d has_metal -d has_atomic_overlaps *.cif  # compute only selected descriptors

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())

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.8.2.tar.gz (100.3 kB view details)

Uploaded Source

Built Distribution

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

mofchecker-0.8.2-py3-none-any.whl (99.3 kB view details)

Uploaded Python 3

File details

Details for the file mofchecker-0.8.2.tar.gz.

File metadata

  • Download URL: mofchecker-0.8.2.tar.gz
  • Upload date:
  • Size: 100.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.6

File hashes

Hashes for mofchecker-0.8.2.tar.gz
Algorithm Hash digest
SHA256 4b6bccab176b97d30db98520f3da4627310885d5c4763c336f268b4717c8601b
MD5 33a1c61ef1c763fe778646ce46ef9a7d
BLAKE2b-256 50ce0492d6e3b7d0e1c7a7a43480e694d4f55e41d19721c8ec4f513ec58db2ea

See more details on using hashes here.

File details

Details for the file mofchecker-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: mofchecker-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 99.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.6

File hashes

Hashes for mofchecker-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee7af0370f113be1c7d765ae629cbba09f8a82fc8be4d26ea37b1e398542a601
MD5 17018495fb4607632c3f27953bd8ab8d
BLAKE2b-256 f3d4a42d362dba7b57ea4c27439b1ee97ba6df7f73f13e4ff0814836066f8096

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