Skip to main content

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!

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)

Source distribution for catflow 0.5.1
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)

Table of built distributions (wheels) for catflow 0.5.1
File Interpreter ABI Platform Actions
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.

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