jinzhezenggroup/dpdata-cli
> A command-line utility for converting and manipulating over 50 atomic simulation data formats, including outputs from DFT and MD software (VASP, LAMMPS, Gaussian, QE, CP2K, ABACUS, etc.). USE WHEN you need to convert structural or trajectory files between different computational chemistry formats, or when parsing raw simulation outputs into structured training datasets (e.g., deepmd/raw, deepmd/npy, deepmd/hdf5) for DeePMD-kit.
npx skills add https://github.com/jinzhezenggroup/computational-chemistry-agent-skills --skill 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.
Run dpdata via uvx:
uvx dpdata <from_file> [options]
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
| Argument | Description |
| --------------------- | ----------------------------------------------------- |
| from_file | Read data from a file (positional) |
| --to_file, -O | Dump data to a file |
| --from_format, -i | Format of from_file (default: "auto") |
| --to_format, -o | Format of to_file |
| --no-labeled, -n | Labels aren't provided (default: False) |
| --multi, -m | System contains multiple directories (default: False) |
| --type-map, -t | Type map for atom types |
| --version | Show dpdata version and exit |
uvx dpdata OUTCAR -i vasp/outcar -O deepmd_data -o deepmd/raw
uvx dpdata dump.lammps -i lammps/dump -O POSCAR -o vasp/poscar
uvx dpdata OUTCAR -i vasp/outcar -O deepmd_data -o deepmd/raw -t C H O N
uvx dpdata data_dir -i vasp/outcar -O output_dir -o deepmd/comp --multi
uvx dpdata OUTCAR -i vasp/outcar -O deepmd_npy -o deepmd/npy
uvx dpdata OUTCAR -i vasp/outcar -O data.h5 -o deepmd/hdf5
Formats may be updated. For the complete and latest list, see:
| Format Name | Description |
| ---------------------------- | ---------------------------------- |
| deepmd/raw | DeePMD-kit raw text format |
| deepmd/comp / deepmd/npy | DeePMD-kit compressed numpy format |
| deepmd/npy/mixed | DeePMD-kit mixed type format |
| deepmd/hdf5 | DeePMD-kit HDF5 format |
| Format Name | Description |
| ----------------------------------------------------- | -------------------- |
| vasp/poscar / vasp/contcar / poscar / contcar | VASP structure files |
| vasp/outcar / outcar | VASP OUTCAR output |
| vasp/xml / xml | VASP XML output |
| vasp/string | VASP string format |
| Format Name | Description |
| ---------------------- | ---------------- |
| lammps/lmp / lmp | LAMMPS data file |
| lammps/dump / dump | LAMMPS dump file |
| Format Name | Description |
| -------------------------------------------------------- | --------------------- |
| stru / abacus/stru | ABACUS structure file |
| abacus/lcao/scf / abacus/pw/scf / abacus/scf | ABACUS SCF output |
| abacus/lcao/md / abacus/pw/md / abacus/md | ABACUS MD output |
| abacus/lcao/relax / abacus/pw/relax / abacus/relax | ABACUS relax output |
| Format Name | Description |
| ------------ | ---------------- |
| qe/cp/traj | QE CP trajectory |
| qe/pw/scf | QE PWscf output |
| Format Name | Description |
| ------------------ | ---------------- |
| cp2k/output | CP2K output |
| cp2k/aimd_output | CP2K AIMD output |
| Format Name | Description |
| --------------- | ----------------------------- |
| gaussian/log | Gaussian log file |
| gaussian/fchk | Gaussian formatted checkpoint |
| gaussian/md | Gaussian MD output |
| gaussian/gjf | Gaussian input file |
| Format Name | Description |
| ------------------------------------------------------------------- | --------------------- |
| xyz | XYZ format |
| mace/xyz / nequip/xyz / gpumd/xyz / extxyz / quip/gap/xyz | Extended XYZ variants |
| ase/structure | ASE structure format |
| ase/traj | ASE trajectory |
| pymatgen/structure | pymatgen structure |
| pymatgen/molecule | pymatgen molecule |
| gromacs/gro / gro | GROMACS gro file |
| siesta/output | SIESTA output |
| siesta/aimd_output | SIESTA AIMD output |
| pwmat/output / pwmat/mlmd / pwmat/movement | PWmat output |
| pwmat/final.config / pwmat/atom.config | PWmat config |
| orca/spout | ORCA output |
| psi4/out | PSI4 output |
| dftbplus | DFTB+ output |
| fhi_aims/output / fhi_aims/md | FHI-aims output |
| amber/md | AMBER MD |
| n2p2 | n2p2 format |
| mol_file / mol | MOL file |
| sdf_file / sdf | SDF file |
| openmx/md | OpenMX MD |
| sqm/out | SQM output |
| sqm/in | SQM input |
| list | List format |
| 3dmol | 3Dmol visualization |
-i auto (default) to let dpdata detect format automatically-t to specify atom type order for deepmd formats--multi for directories containing multiple systemsdeepmd/npy or deepmd/hdf5 for smaller file sizesTake jinzhezenggroup/dpdata-cli from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference uvx.
Without those the skill loads but fails at the first command.