Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 6.21 KB

Readme.md

File metadata and controls

83 lines (62 loc) · 6.21 KB

cpctools: SOAPify and SOAPify.HDF5er

PyPI - License PyPI PyPI - Python Version Code style: black Hatch project Documentation Status Coverage Status Powered by MDAnalysis

SOAPify is a python 3.8/3.9/3.10 library aimed at simplifying the analysis of Molecular Dynamics simulation using the Smooth Overlap of Atomic Position (SOAP) in the context that includes the time along the geometrical information of the frames of the simulation.

SOAPify uses h5py to store the trajectories, the SOAP fingerprints, and the analysis results in a binary format.

SOAPify also offers a suite for (simple) state analysis for your simulations.

How To Install

To install the stable version of SOAPify just type:

pip install cpctools

cpctools stands for Computational Physical Chemistry TOOLS, or, if you prefer, for Chemical Physics Computational TOOLS.

If you want to use dscribe or quippy for calculating the SOAP features you should install them separately, since they are quite heavy packages on their own, and usually you would use only one of these packages:

pip install "dscribe<=1.2.2,>1.2.0"
pip install "quippy-ase==0.9.10"

Installing the latest version

We always recommend to install your code in a dedicated environment:

python3 -m venv /path/to/new/venv --prompt SOAPify
source /path/to/new/venv/bin/activate
pip install --upgrade pip

Then to install SOAPify you can simply go to the repository directory and run the following:

cd /path/to/SOAPify/directory
pip install .

or if you do not want to download the repo, you can have pip install from source:

pip install 'cpctools @ git+https://github.com/GMPavanLab/SOAPify.git'

Or if you desire an older version you can install it from a tag:

pip install 'cpctools @ git+https://github.com/GMPavanLab/SOAPify.git@0.0.6'

We have a (very basic) documentation of the latest version available on the GitHub pages.

A more complete history of the documentation is available on read the docs. There you can consult the documentation for each available version of the package.

SOAPify

This package contains:

  • a toolbox to calculate the SOAP fingerprints of a system of atoms. The principal aim is to simplify the setup of the calculation. This toolbox depends on dscribe or quippy and 'unify' the output of the two codes.
  • a toolbox to calculate the distances between SOAP fingerprints
  • a simple analysis tool for trajectories of classified atoms

SOAPify.HDF5er

This package is a toolbox to create hdf5 files with h5py from the trajectory and topology files. The format we use do not align with h5md

Our format is thought to speed up the calculations without occupying too much RAM, thanks to the hdf5 dataset chunking capabilities.

  • The data within the files are organized into Group categories:
    • "Trajectories" contains subgroups that represent the various stored trajectories, each trajectory subgroup contains three datasets:
      • "Types" contains the types of atoms in the simulation
      • "Box" contains the history of the box dimensions
      • "Trajectory" contains the history of the particle positions
    • "SOAP" group contains the Dastasets of the calculated SOAP fingerprints, each SOAP Dataset contains attributes with the settings to reproduce the results.
    • "Classification" contain a group per trajectory, the format of the Dataset contained within is not fixed
  • The user can choose to use a single file per project or to store separately the results of the various steps of the analysis project (this is more recommended). SOAPify.HDF5er contains a tool for exporting the trajectories from the hdf5 file to extended xyz format, compatible with ovito