A python package to analyze Molecular Dynamics (MD) trajectories of amorphous Metal-Organic Frameworks (MOFs).
Project description
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.
Only ZIF-4 is supported in the current release.
This allows the computation of rings statistics of the metal-ligand network.
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.
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.
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
File details
Details for the file amof-1.1.0.tar.gz
.
File metadata
- Download URL: amof-1.1.0.tar.gz
- Upload date:
- Size: 740.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8256a35f4f8e81d98110898572d6878bbb00160ce9dfb52b416c6bced825852 |
|
MD5 | a54f45a6ab4d2c5c51468ecb41b4b6ab |
|
BLAKE2b-256 | 6209cff0a7c77e9c58de46c21bb52b00cfc21ab0ae3a34382f204b820b571450 |
File details
Details for the file amof-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: amof-1.1.0-py3-none-any.whl
- Upload date:
- Size: 67.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c92a88d3e766293456b156b11789169f06ac12c6d34ac03c811686e7cfd9f6f |
|
MD5 | d78c7339d2cb58817a87f3dbc324de27 |
|
BLAKE2b-256 | 867719fec4ca1c2bd8fdd2ca1a0119d04b3fd3186f503a3ae18170b6d5b5567e |