pwdata
当前手册页使用 pwdata >= 0.5.0
pwdata 是 MatPL 的数据预处理工具,包括如下功能:
-
atom.config(PWmat)
、POSCAR(VASP)
、lmp.init(Lammps)
、cp2k.init(CP2K)
之间的文件互转; -
对这些结构做阔胞、晶格缩放、晶格或原子位置微扰;
-
提取各种轨迹文件
MOVEMENT(PWmat)
、OUTCAR(VASP)
、lammps dump file(Lammps)
、cp2k md file(CP2K)
或常用训练数据pwmlff/npy
、extxyz
、deepmd/npy
、deepmd/raw
、meta OMAT24 开源数据集
之后转换为pwmlff/npy
或者extxyz
格式文件。 对于meta数据集,增加了cpu并行和查询操作,以快速从超过一亿结构的数据库中查找自己想要的结构。
支持的数据类型
Software | file | multi-Image | label | format |
---|---|---|---|---|
PWmat | MOVEMENT | True | True | 'pwmat/movement' |
PWmat | OUT.MLMD | False | True | 'pwmat/movement' |
PWmat | atom.config | False | False | 'pwmat/config' |
VASP | OUTCAR | True | True | 'vasp/outcar' |
VASP | poscar | False | False | 'vasp/poscar' |
LAMMPS | lmp.init | False | False | 'lammps/lmp' |
LAMMPS | dump | True | False | 'lammps/dump' |
CP2K | stdout, xyz, pdb | True | True | 'cp2k/md' |
CP2K | stdout | False | True | 'cp2k/scf' |
MatPL | *.npy | True | True | 'pwmlff/npy' |
DeepMD (read) | *.npy, *.raw | True | True | 'deepmd/npy', 'deepmd/raw' |
* (extended xyz) | *.xyz | True | True | 'extxyz' |
Meta (read) | *aselmdb | True | True | 'meta' |
安装方式
pip命令安装:
pip install pwdata
#安装pwdata,如果已安装,则升级到最新版本
pip install pwdata --upgrade
# 列出所有可安装版本
pip index versions pwdata
# 输出结果示例:
# pwdata (0.3.2)
# Available versions: 0.3.2, 0.3.1, 0.3.0, 0.2.16, 0.2.15
# INSTALLED: 0.3.2
# LATEST: 0.3.2
# 安装指定版本
pip install pwdata==n.m.o
pwdata 命令行调用方式
pwdata支持命令行操作以及源码接入两种方式。
一、命令行操作
命令列表:
pwdata 命令列表如下,您可以通过 '-h' 选项获取该命令列表的详细解释以及所有支持参数。这里 pwdata -h
用于输出所有可用命令,以及该命令的使用例子。
pwdata -h
pwdata convert_config or cvt_config -h
pwdata convert_configs or cvt_configs -h
pwdata scale_cell or scale -h
pwdata super_cell or super -h
pwdata perturb -h
pwdata count -h
下面对命令做详细说明
1. 结构互转 convert_config
该命令用于各种结构之间的互转,您可以使用 convert_config
或者它的缩写 cvt_config
参数如下所示
pwdata convert_config [-h] -i INPUT -f INPUT_FORMAT -o OUTPUT_FORMAT [-s SAVENAME] [-c] [-t ATOM_TYPES [ATOM_TYPES ...]]
-h
输出帮助信息,将列出命令的所有可用参数及其解释
-i
必选参数,输入文件的文件路径,支持绝对路径或者相对路径
-f
可选参数,输入文件的格式,如不指定将根据输入文件自动推测输入格式,支持的格式有 ['pwmat/config','vasp/poscar', 'lammps/lmp', 'cp2k/scf']
-o
必选参数,输出文件的格式,支持的格式有['pwmat/config','vasp/poscar', 'lammps/lmp']
-s
输出文件的名称,与 -o
配合使用。如果未指定,对于 pwmat/config
格式将使用 atom.config
作为文件名,对于 vasp/poscar
格式使用 POSCAR
,对于 lammps/lmp
格式使用 lammps.lmp
作为文件名
-c
是否使用分数坐标,如果指定了 -c
参数,在保存结 构时将使用笛卡尔坐标
,否则使用分数坐标
。注意,pwmat/config
只支持分数坐标,此时该参数将失效
-t
输入结构的原子类型,该参数用于当输入结构是 lammps/lmp
或 lammps/dump
格式时指定结构的原子类型,可以是元素名称或者原子编号,顺序需要与输入结构中保持一致。对于其他格式的输入文件,该参数失效
我们在源码的根目录下提供了 examples,您可以下载后使用这些测试例子:
# convert_config 案例:atom.config 转 poscar
# 执行完毕后将在examples/test_workdir目录下生成结构文件 cvtcnf_atom.POSCAR
pwdata cvt_config -i examples/pwmat_data/LiGePS_atom.config -s examples/test_workdir/cvtcnf_atom.POSCAR -o vasp/poscar
2. 训练数据提取 convert_configs
提取各种轨迹文件 MOVEMENT(PWmat)
、OUTCAR(VASP)
、lammps dump file(Lammps)
、cp2k md file(CP2K)
或常用训练数据 pwmlff/npy
、extxyz
、deepmd/npy
、deepmd/raw
、meta OMAT24 开源数据集
为 pwmlff/npy
或者 extxyz
格式文件。您可以使用 convert_configs
或者它的缩写 cvt_configs
.
参数如下所示
pwdata [-h] -i INPUT [INPUT ...] [-f INPUT_FORMAT] [-s SAVEPATH] [-o OUTPUT_FORMAT] [-r]
[-m MERGE] [-g GAP] [-q QUERY] [-n CPU_NUMS] [-t ATOM_TYPES [ATOM_TYPES ...]]