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!
Metadata
Release files for catflow 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| catflow-0.5.1.tar.gz | 74.4 kB | Without provenance | Details for catflow-0.5.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| catflow-0.5.1-py3-none-any.whl | Python 3 | none | any | Details for catflow-0.5.1-py3-none-any.whl |
Total release size: 169.2 kB
Release files / catflow-0.5.1.tar.gz
| Download URL | catflow-0.5.1.tar.gz |
|---|---|
| Size | 74.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec5b98ab23b159fe47abc1890e674e050da1e52a39577e3b5fdec16a86f0ee51
|
|
BLAKE2b-256 checksum How to use checksums |
11ef66feb872862a681f3cfaaa41dd9271494e00d97da8c180ed6dd30e74591c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.10.13 Linux/6.5.0-1017-azure
|
Release files / catflow-0.5.1-py3-none-any.whl
| Download URL | catflow-0.5.1-py3-none-any.whl |
|---|---|
| Size | 94.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6fa40596a0ec7cc9189c00919ad4db79e9bcd2980431be021c504cd0b332c5bc
|
|
BLAKE2b-256 checksum How to use checksums |
6a8dbe694e2995034ccb4a6768fd13dcd3fae7192ae49f3f4855a4c13c362efb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.10.13 Linux/6.5.0-1017-azure
|
Security for catflow 0.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.