amof

A python package to analyze Molecular Dynamics (MD) trajectories of amorphous Metal-Organic Frameworks (MOFs).

https://github.com/coudertlab/amof

Science Score: 57.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A python package to analyze Molecular Dynamics (MD) trajectories of amorphous Metal-Organic Frameworks (MOFs).

Basic Info
  • Host: GitHub
  • Owner: coudertlab
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 985 KB
Statistics
  • Stars: 11
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 2
Created over 3 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

aMOF

aMOF is a python package consisting in a collection of tools to analyze Molecular Dynamics (MD) trajectories of amorphous Metal-Organic Frameworks (MOFs).

Functionalities

General-purpose MD toolbox

This package brings together a number of analyses that can be performed on every MD trajectory (not necessarily MOFs), heavily using both other python packages and non-python codes. It can compute the following properties:

  • Radial Distribution Functions (RDF), based on ASAP
  • Bond-Angle Distributions
  • Coordination numbers
  • Mean Squared Displacement (MSD)
  • Elastic constants from cell properties, and mechanical properties from elastic constants by calling ELATE
  • Pore analysis by wrapping Zeo++, reusing code from pysimm
  • Ring statistics by wrapping the RINGS code

The backend for manipulating trajectories is ASE, which are ASE trajectory objects.

Building units identification of aMOFs

A module called coordination allows the identification of the different building blocks of amorphous MOFs with an ad hoc approach per MOF system.

This allows the computation of rings statistics of the metal-ligand network. Only Zn-based ZIFs are natively supported, although the code can be quickly adapted for similar structures.

This code is designed to be compatible with molsys, and can be used to generate input files in mfpx format.

The detailed algorithm for ZIF-4 is presented in the supporting information of the paper Challenges in Molecular Dynamics of Amorphous ZIFs using Reactive Force Fields.

Installation

Pre-requisites

To use the pore and ring modules, Zeo++ and the RINGS code need to be installed and accessible in the system path.

First download and follow the installation instructions on their respective websites (here for Zeo++ and here for RINGS).

Then for Zeo++, create the following variable on your system: export ZEOpp_EXEC=/path/to/zeo++-0.3/network

For RINGS, ensure that the rings binary is in your path: export PATH=$PATH:/path/to/rings/bin

Installation with pip

aMOF can be installed from PyPI: pip install amof or directly from source: git clone https://github.com/coudertlab/amof.git cd amof pip install .

Special care should be taken with Asap, which can only be installed if numpy is already installed and is thus not a default dependency. To solve this, either install asap independently (following their installation guide), or first install numpy then install amof with the rdf extra: pip install numpy pip install amof[rdf] By default, graphical dependencies (used in the plot module) are not installed. To install them use the graphics extra: pip install amof[graphics]

Installation with conda

Support for installing aMOF with conda is not included at the moment. However, conda can be used to first install all dependencies before installing amof with pip. conda install -c conda-forge ase=3.20.1 asap3 pandas numpy xarray=0.19.0 dask netCDF4 bottleneck ase asap3 joblib pymatgen hvplot atomman jupyter jupyterlab jupytext matplotlib networkx scipy plotly seaborn cairosvg pyarrow selenium

Documentation

A documentation is can easily be created with pdoc.

Simply run (with pdoc installed): pdoc --html --output-dir path\to\docs path\to\amof

Usage

Examples

Examples analyses can be found in the examples folder of this repository.

An example workflow combining MD runs and their subsequent analyses can be found on the amof-workflow repository.

Citation

If you use the python package in published results (paper, conference, etc.), please cite the first paper for which it was developed: Challenges in Molecular Dynamics of Amorphous ZIFs using Reactive Force Fields.

Owner

  • Name: Coudert lab
  • Login: coudertlab
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: aMOF
message: "If you use this software, please cite it as below (WARNING: temporary version awaiting article publication)."
type: software
authors:
  - given-names: Nicolas
    family-names: Castel
repository-code: "https://github.com/coudertlab/amof"
url: "https://github.com/coudertlab/amof"
license: MIT
version: 1.0.0
identifiers:
  - type: url
    value: "https://doi.org/10.1021/acs.jpcc.2c06305"
    description: The JPCC article.
preferred-citation:
  type: article
  authors:
    - given-names: Nicolas
      family-names: Castel
      affiliation: Chimie ParisTech - PSL & École des Ponts ParisTech 
      orcid: "https://orcid.org/0000-0002-0572-3940"
    - given-names: François-Xavier
      family-names: Coudert
      affiliation: Chimie ParisTech - PSL
      orcid: "https://orcid.org/0000-0001-5318-3910"
  title: "Challenges in Molecular Dynamics of Amorphous ZIFs using Reactive Force Fields"
  year: 2022
  doi: "10.1021/acs.jpcc.2c06305"

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
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
  • Daisy315 (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • CairoSVG ==2.5.2
  • asap3 ==3.12.8
  • ase ==3.20.1
  • atomman ==1.4.2
  • bokeh ==2.4.0
  • holoviews ==1.14.9
  • hvplot ==0.8.0
  • joblib ==1.1.0
  • matplotlib ==3.4.3
  • networkx ==2.6.3
  • numpy ==1.21.2
  • pandas ==1.3.3
  • pymatgen ==2022.0.14
  • requests ==2.26.0
  • scipy ==1.7.1
  • xarray ==0.19.0
pyproject.toml pypi
  • ase ~=3.20.1
  • atomman *
  • joblib *
  • matplotlib *
  • networkx *
  • numpy *
  • pandas *
  • pymatgen *
  • requests *
  • scipy *
  • xarray *