https://github.com/chazeon/dpgen-snakemake
A lightweight Snakemake-based workflow that implements the DP-GEN scheme.
https://github.com/chazeon/dpgen-snakemake
ab-initio deep-learning machine-learning-potential snakemake-workflow workflow
Last synced: 8 months ago
JSON representation
A lightweight Snakemake-based workflow that implements the DP-GEN scheme.
- Host: GitHub
- URL: https://github.com/chazeon/dpgen-snakemake
- Owner: chazeon
- Created: 2021-07-01T22:33:22.000Z (almost 5 years ago)
- Default Branch: v2
- Last Pushed: 2023-02-08T17:16:52.000Z (over 3 years ago)
- Last Synced: 2025-04-04T01:06:05.290Z (about 1 year ago)
- Topics: ab-initio, deep-learning, machine-learning-potential, snakemake-workflow, workflow
- Language: Python
- Homepage:
- Size: 13 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dpgen-snakemake
[](https://github.com/chazeon/dpgen-snakemake/actions/workflows/main.yml)
[](https://codecov.io/gh/chazeon/dpgen-snakemake)
A lightweight [Snakemake][1]-based workflow that implements the [DP-GEN][2] scheme.
[1]: https://snakemake.readthedocs.io/en/stable/
[2]: https://arxiv.org/abs/1910.12690
## Project structure
- [**`project`**](project): Actual project files.
- [**`workflows`**](project/workflows): Snakemake workflow files.
- [**`scripts`**](project/scripts): Scripts for transforming input / output.
- [**`templates`**](project/templates): Templates for generating files.
- [**`tests`**](project/tests): Tests for the Python scripts.
- [**`project_sidecar`**](project_sidecar): Project files on the CPU machine
- [**`envs`**](envs): conda environments for workflow orchestration and DeePMD-kit training / evaluation.
## Usage
### DP-GEN Iteration
In each iteration, specify the environment variable `DPGEN_ITER_ID` then execute one one of the following rules to generate the corresponding files.
| Machine | Name of the rule | Description |
| ------- | -------------------------- | ------------------------------------------------------------ |
| GPU | `dp_run_train_target` | Prepare files for the training step. |
| GPU | `dp_run_model_devi_target` | Collect the newly generated potential files, then prepare the input files for the LAMMPS model deviation step. |
| GPU | `dp_run_fp_target` | Prepare the structures for the VASP calculation and prepare a tarball for transfer. |
| CPU | `dp_run_fp_input` | Collect the tarball of structures from the GPU machine. |
| CPU | `dp_run_fp_target` | Collect the structures from the GPU machine, then prepare the input files for the VASP calculation. |
| CPU | `dp_run_fp_done_target` | Collect the VASP results and prepare for transfer. |
| GPU | `dp_run_fp_collect2` | Collect VASP results from the CPU machine, then prepare the training data for the next iteration. |