mofchecker

Basic sanity checks for MOFs.

https://github.com/lamalab-org/mofchecker

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: acs.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary

Keywords

mofs oms sanity-checks
Last synced: 6 months ago · JSON representation

Repository

Basic sanity checks for MOFs.

Basic Info
Statistics
  • Stars: 30
  • Watchers: 2
  • Forks: 4
  • Open Issues: 33
  • Releases: 19
Topics
mofs oms sanity-checks
Created over 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

mofchecker

Tests PyPI PyPI - Python Version PyPI - License Documentation Status Code style: black

What does it do?

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

Try the live web app at https://github.com/kjappelbaum/webmofchecker !

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:

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

Latest stable release

bash pip install mofchecker

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

bash conda install -c conda-forge zeopp-lsmo

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

Getting Started

Command line interface

bash 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

```python from mofchecker import MOFChecker mofchecker = MOFChecker.fromcif(<pathto_cif>)

or: MOFChecker(structure=mypymatgenstructure)

Test for OMS

mofchecker.has_oms

Test for clashing atoms

mofchecker.hasatomicoverlaps

Run basic checks on a list of cif paths (sample_structures)

results = []

for structure in samplestructures: mofchecker = MOFChecker.fromcif(structure) results.append(mofchecker.getmofdescriptors()) ```

Contributing

Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See CONTRIBUTING.rst for more information on getting involved.

License

The code in this package is licensed under the MIT License.

Funding

The research was supported by the European Research Council (ERC) under the European Unions Horizon 2020 research and innovation programme (grant agreement 666983, MaGic), by the NCCR-MARVEL, funded by the Swiss National Science Foundation, and by the Swiss National Science Foundation (SNSF) under Grant 200021_172759.

Owner

  • Name: Laboratory for AI for Materials
  • Login: lamalab-org
  • Kind: organization

Research group led by Kevin Maik Jablonka

GitHub Events

Total
  • Watch event: 6
  • Issue comment event: 1
Last Year
  • Watch event: 6
  • Issue comment event: 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 83
  • Total pull requests: 111
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.98
  • Average comments per pull request: 0.76
  • Merged pull requests: 79
  • Bot issues: 0
  • Bot pull requests: 69
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kjappelbaum (71)
  • Andrew-S-Rosen (5)
  • ltalirz (5)
  • akulpillai (1)
  • danieleongari (1)
Pull Request Authors
  • dependabot[bot] (33)
  • kjappelbaum (26)
  • github-actions[bot] (20)
  • deepsource-autofix[bot] (16)
  • ltalirz (16)
Top Labels
Issue Labels
enhancement (13) bug (5) question (4) CI (1)
Pull Request Labels
dependencies (33) autorelease: tagged (15) autorelease: pending (5)

Dependencies

.github/workflows/python-package.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • s-weigand/setup-conda v1 composite
docs/environment.yml pypi
  • click *
  • pymatgen *
  • sphinx *
  • sphinx-autodoc-typehints *
  • sphinx-book-theme *
  • sphinx-copybutton *
pyproject.toml pypi
setup.py pypi