Skip to main content

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.

Metadata

Release files for amof 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for amof 1.1.0
File Size Uploaded
amof-1.1.0.tar.gz 740.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for amof 1.1.0
File Interpreter ABI Platform
amof-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 808.0 kB

Release files / amof-1.1.0.tar.gz

Download URL amof-1.1.0.tar.gz
Size 740.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b8256a35f4f8e81d98110898572d6878bbb00160ce9dfb52b416c6bced825852
BLAKE2b-256 checksum
How to use checksums
6209cff0a7c77e9c58de46c21bb52b00cfc21ab0ae3a34382f204b820b571450
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.23.0

Release files / amof-1.1.0-py3-none-any.whl

Download URL amof-1.1.0-py3-none-any.whl
Size 67.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c92a88d3e766293456b156b11789169f06ac12c6d34ac03c811686e7cfd9f6f
BLAKE2b-256 checksum
How to use checksums
867719fec4ca1c2bd8fdd2ca1a0119d04b3fd3186f503a3ae18170b6d5b5567e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.23.0

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page