Perform sanity checks on MOF structures
Project description
mofchecker
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 (using openbabel, if installed)
Basic analysis:
- Presence of open metal sites
- 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 openbabel and zeopp if you want to use the charge and porosity features, respectively.
conda install -c conda-forge zeopp-lsmo openbabel
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mofchecker-0.7.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91064b0a8ff7bae057ae99eae819d75b0dbca84f361d4cc9a945dee48ec6ef22 |
|
MD5 | 4dd2b8dfe7d60b33ec59b7ffa5871b6f |
|
BLAKE2b-256 | aab87a2a23773d43221d1658bf171bd56bc1e28034dfe41eb884975fee1c76d2 |