Analyzing tool for deep learning based chemical research.
Project description
CatFlow
Parts of the code to be open source.
Machine learning aided catalysis reaction free energy calculation and post-analysis workflow, thus, analyzer for catalysis.
As is known to all, cat is fluid and thus cat flows. 🐱
Former Miko-Analyzer and Miko-Tasker This repository is a temporary branch of original CatFlow. It would be merged into main repo after active refactor.
Analyzer
Installation
To install, clone the repository:
git clone https://github.com/chenggroup/catflow.git
and then install with pip
:
cd catflow
pip install .
Acknowledgement
This project is inspired by and built upon the following projects:
- ai2-kit: A toolkit featured artificial intelligence × ab initio for computational chemistry research.
- DP-GEN: A concurrent learning platform for the generation of reliable deep learning based potential energy models.
- ASE: Atomic Simulation Environment.
- DPDispatcher: Generate and submit HPC jobs.
- Metadynminer: Reading, analysis and visualization of metadynamics HILLS files produced by Plumed. As well as its Python implementation Metadynminer.py.
- stringmethod: Python implementation of the string method to compute the minimum energy path.
Tasker
Potential of Mean Force Calculation
A simple workflow designed for free energy calculation from Potential of Mean Force (PMF).
Usage
Commandline
First, prepare a yaml file for workflow settings in detial. For example, config.yaml
.
job_config:
work_path: "/some/place"
machine_name: "machine_name"
resources:
number_node: 1
cpu_per_node: 1
gpu_per_node: 1
queue_name: gpu
group_size: 1
module_list:
- ...
envs:
...
command: "cp2k.ssmp -i input.inp"
reaction_pair: [0, 1] # select indexes of atoms who would be constrained
steps: 10000000 # MD steps
timestep: 0.5 # unit: fs
restart_steps: 10000000 # extra steps run in each restart
dump_freq: 100 # dump frequency
cell: [24.0, 24.0, 24.0] # set box size for initial structure
type_map: # should be unified with DeePMD potential
O: 0
Pt: 1
model_path: "/place/of/your/graph.pb"
backward_files:
- ...
flow_config:
coordinates: ... # a list of coordinations to be constrained at
t_min: 300.0 # under limit of simulation temperature
cluster_component:
- Pt # select elements of cluster
lindemann_n_last_frames: 20000 # use last 20000 steps to judge convergence by calculate Lindemann index
init_artifact:
- coordinate: 1.4
structure_path: "/place/of/your/initial_structure.xyz"
- coordinate: 3.8
structure_path: "/place/of/your/initial_structure.cif"
job_type: "dp_pmf" # dp_pmf when using DeePMD
Then, just type command like this:
catflow tasker pmf config.yaml
And enjoy it!
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 catflow-0.5.1.tar.gz
.
File metadata
- Download URL: catflow-0.5.1.tar.gz
- Upload date:
- Size: 74.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.13 Linux/6.5.0-1017-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec5b98ab23b159fe47abc1890e674e050da1e52a39577e3b5fdec16a86f0ee51 |
|
MD5 | 8309f24a1ad1668ef3a403a7de4a719a |
|
BLAKE2b-256 | 11ef66feb872862a681f3cfaaa41dd9271494e00d97da8c180ed6dd30e74591c |
File details
Details for the file catflow-0.5.1-py3-none-any.whl
.
File metadata
- Download URL: catflow-0.5.1-py3-none-any.whl
- Upload date:
- Size: 94.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.13 Linux/6.5.0-1017-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fa40596a0ec7cc9189c00919ad4db79e9bcd2980431be021c504cd0b332c5bc |
|
MD5 | 23444dca759a59a6ca230940856a8c93 |
|
BLAKE2b-256 | 6a8dbe694e2995034ccb4a6768fd13dcd3fae7192ae49f3f4855a4c13c362efb |