Skip to main content

Analyzing tool for deep learning based chemical research.

Project description

CatFlow

Parts of the code to be open source.

Python package codecov

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

catflow-0.5.1.tar.gz (74.4 kB view details)

Uploaded Source

Built Distribution

catflow-0.5.1-py3-none-any.whl (94.7 kB view details)

Uploaded Python 3

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

Hashes for catflow-0.5.1.tar.gz
Algorithm Hash digest
SHA256 ec5b98ab23b159fe47abc1890e674e050da1e52a39577e3b5fdec16a86f0ee51
MD5 8309f24a1ad1668ef3a403a7de4a719a
BLAKE2b-256 11ef66feb872862a681f3cfaaa41dd9271494e00d97da8c180ed6dd30e74591c

See more details on using hashes here.

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

Hashes for catflow-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6fa40596a0ec7cc9189c00919ad4db79e9bcd2980431be021c504cd0b332c5bc
MD5 23444dca759a59a6ca230940856a8c93
BLAKE2b-256 6a8dbe694e2995034ccb4a6768fd13dcd3fae7192ae49f3f4855a4c13c362efb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page