Computational Chemistry Agent Skills

dpdata-cli

tools
Convert and manipulate atomic simulation data formats using dpdata CLI. Use when converting between DFT/MD output formats or preparing DeePMD-kit training data. Supports 50+ formats including deepmd, xyz or extxyz, ABACUS, VASP, LAMMPS, CP2K, etc.
v1.0 Requires uvx (uv) for running dpdata repository source

Installation

Install folder: dpdata-cli · Repo path: tools/dpdata-cli
Copy/paste this message to your OpenClaw agent.
Please install the OpenClaw skill "dpdata-cli" on the OpenClaw host.

Steps:
- Download: https://skills.jinzhezeng.group/skill-zips/dpdata-cli.zip
- Unzip it to get dpdata-cli/
- Run: npx -y skills add ./dpdata-cli -a openclaw -y
- Start a NEW OpenClaw session so the skill is loaded

Then verify:
openclaw skills list --eligible
openclaw skills info dpdata-cli
Prerequisites: Requires uvx (uv) for running dpdata

dpdata CLI

dpdata is a tool for manipulating multiple atomic simulation data formats. This skill enables format conversion between various DFT/MD software outputs via command line.

Quick Start

Run dpdata via uvx:

uvx dpdata <from_file> [options]

Command Line Usage

dpdata: Manipulating multiple atomic simulation data formats
usage: dpdata [-h] [--to_file TO_FILE] [--from_format FROM_FORMAT]
              [--to_format TO_FORMAT] [--no-labeled] [--multi]
              [--type-map TYPE_MAP [TYPE_MAP ...]] [--version]
              from_file

Arguments

ArgumentDescription
from_fileRead data from a file (positional)
--to_file, -ODump data to a file
--from_format, -iFormat of from_file (default: “auto”)
--to_format, -oFormat of to_file
--no-labeled, -nLabels aren’t provided (default: False)
--multi, -mSystem contains multiple directories (default: False)
--type-map, -tType map for atom types
--versionShow dpdata version and exit

Common Examples

Convert VASP OUTCAR to deepmd format

uvx dpdata OUTCAR -i vasp/outcar -O deepmd_data -o deepmd/raw

Convert LAMMPS dump to VASP POSCAR

uvx dpdata dump.lammps -i lammps/dump -O POSCAR -o vasp/poscar

Convert with type map

uvx dpdata OUTCAR -i vasp/outcar -O deepmd_data -o deepmd/raw -t C H O N

Convert multiple systems

uvx dpdata data_dir -i vasp/outcar -O output_dir -o deepmd/comp --multi

Convert to deepmd/npy (compressed format)

uvx dpdata OUTCAR -i vasp/outcar -O deepmd_npy -o deepmd/npy

Convert to deepmd/hdf5

uvx dpdata OUTCAR -i vasp/outcar -O data.h5 -o deepmd/hdf5

Supported Formats

Formats may be updated. For the complete and latest list, see:

DeePMD-kit Formats

Format NameDescription
deepmd/rawDeePMD-kit raw text format
deepmd/comp / deepmd/npyDeePMD-kit compressed numpy format
deepmd/npy/mixedDeePMD-kit mixed type format
deepmd/hdf5DeePMD-kit HDF5 format

VASP Formats

Format NameDescription
vasp/poscar / vasp/contcar / poscar / contcarVASP structure files
vasp/outcar / outcarVASP OUTCAR output
vasp/xml / xmlVASP XML output
vasp/stringVASP string format

LAMMPS Formats

Format NameDescription
lammps/lmp / lmpLAMMPS data file
lammps/dump / dumpLAMMPS dump file

ABACUS Formats

Format NameDescription
stru / abacus/struABACUS structure file
abacus/lcao/scf / abacus/pw/scf / abacus/scfABACUS SCF output
abacus/lcao/md / abacus/pw/md / abacus/mdABACUS MD output
abacus/lcao/relax / abacus/pw/relax / abacus/relaxABACUS relax output

Quantum ESPRESSO Formats

Format NameDescription
qe/cp/trajQE CP trajectory
qe/pw/scfQE PWscf output

CP2K Formats

Format NameDescription
cp2k/outputCP2K output
cp2k/aimd_outputCP2K AIMD output

Gaussian Formats

Format NameDescription
gaussian/logGaussian log file
gaussian/fchkGaussian formatted checkpoint
gaussian/mdGaussian MD output
gaussian/gjfGaussian input file

Other Formats

Format NameDescription
xyzXYZ format
mace/xyz / nequip/xyz / gpumd/xyz / extxyz / quip/gap/xyzExtended XYZ variants
ase/structureASE structure format
ase/trajASE trajectory
pymatgen/structurepymatgen structure
pymatgen/moleculepymatgen molecule
gromacs/gro / groGROMACS gro file
siesta/outputSIESTA output
siesta/aimd_outputSIESTA AIMD output
pwmat/output / pwmat/mlmd / pwmat/movementPWmat output
pwmat/final.config / pwmat/atom.configPWmat config
orca/spoutORCA output
psi4/outPSI4 output
dftbplusDFTB+ output
fhi_aims/output / fhi_aims/mdFHI-aims output
amber/mdAMBER MD
n2p2n2p2 format
mol_file / molMOL file
sdf_file / sdfSDF file
openmx/mdOpenMX MD
sqm/outSQM output
sqm/inSQM input
listList format
3dmol3Dmol visualization

Extended XYZ (extxyz) Format Details

The following format names are all equivalent and invoke the same reader/writer:

  • extxyz — general-purpose extended XYZ
  • quip/gap/xyz / quip/gap/xyz_file — QUIP/GAP framework datasets
  • mace/xyz — MACE model training data
  • nequip/xyz — NequIP model training data
  • gpumd/xyz — GPUMD simulation data

Important: Plain xyz is a different, simpler format that stores atom species and coordinates but does not provide per-frame properties such as energies, forces, cell information, or periodic boundary conditions. Do not confuse xyz with extxyz.

CLI Examples for extxyz

# Multi-frame extxyz trajectory → deepmd/npy (--multi preserves all frames)
uvx dpdata data.xyz -i extxyz -O deepmd_data -o deepmd/npy --multi

# Heterogeneous extxyz (mixed compositions) → deepmd/npy/mixed
uvx dpdata data.xyz -i extxyz -O deepmd_data -o deepmd/npy/mixed --multi

# Convert extxyz to VASP POSCAR (single-frame input only)
uvx dpdata data.xyz -i extxyz -O POSCAR -o vasp/poscar

# Convert a single-frame extxyz with explicit type map
uvx dpdata data.xyz -i extxyz -O deepmd_data -o deepmd/npy -t H C N O

Tips for extxyz

  1. Use -i extxyz explicitly when working with .xyz files that contain extended XYZ data. Using -i xyz retains only atom species and coordinates, omitting per-frame properties such as energies, forces, and cell information.
  2. Use --multi for any multi-frame extxyz file. Without --multi, the CLI constructs a LabeledSystem that keeps only the first frame. This applies to all multi-frame trajectories, not just heterogeneous (mixed-composition) files. dpdata groups frames by chemical formula internally.
  3. All alias names behave identically-i mace/xyz, -i nequip/xyz, -i gpumd/xyz, -i quip/gap/xyz, -i quip/gap/xyz_file, and -i extxyz produce the same result.

Tips

  1. Auto-detection: Use -i auto (default) to let dpdata detect format automatically
  2. Type mapping: Use -t to specify atom type order for deepmd formats
  3. Multi-system: Use --multi for directories containing multiple systems
  4. Compressed output: Use deepmd/npy or deepmd/hdf5 for smaller file sizes

References