A Python package enhancing VASP AIMD simulation
Project description
xdatbus 🚌
Xdatbus is a Python package designed specifically for Vienna Ab-initio Simulation Package (VASP) users conducting ab-initio molecular dynamics (AIMD) simulations, as well as biased MD simulations. The name of the package is derived from the MD trajectory file (XDATCAR) generated by VASP. The documentation for the package can be accessed here, and a collection of Jupyter Notebook tutorial is also available.
Installation
Make sure you have a Python interpreter, preferably version 3.10 or higher. Then, you can simply install xdatbus from
PyPI using pip:
pip install xdatbus
If you'd like to use the latest unreleased version on the main branch, you can install it directly from GitHub:
pip install git+https://github.com/jcwang587/xdatbus
The package is also available from conda-based installation. It is generally recommended you first create a separate environment, then you can install via the xdatbus channel on Anaconda cloud:
conda install --channel xdatbus xdatbus
If you plan to use PLUMED to analyze enhanced sampling AIMD results, you can also install the conda version of PLUMED together:
conda install -c xdatbus -c conda-forge xdatbus plumed
Get Started
This is a brief example demonstrating how to use the basic function of xdatbus to aggregate multiple xdatcar files into
a single file and unwrap the coordinates into an .xyz file.
As is often the case when you have submitted a continuous AIMD job, it is likely that you would have subfolders for each
submission. XDATCAR files can be first gathered in a separate directory by:
$ mkdir xdc_files && for i in {01..10}; do cp RUN$i/XDATCAR xdc_files/XDATCAR_$i; done
Then, try aggregating and unwrapping the coordinate data from the XDATCAR files:
import os
from xdatbus import xdc_aggregate, xdc_unwrap
xdc_dir = "./xdc_files"
xdb_dir = os.path.dirname(xdc_dir)
xdb_path = os.path.join(xdb_dir, "XDATBUS")
xyz_path = os.path.join(xdb_dir, "XDATBUS_unwrap.xyz")
xdc_aggregate(xdc_dir=xdc_dir, output_dir=xdb_dir)
xdc_unwrap(xdc_path=xdb_path, output_path=xyz_path)
There are also entry points included with the installation for the Command Line Interface (CLI) to perform similar tasks:
$ xdc_aggregate --xdc_dir ./xdc_files --output_dir ./
$ xdc_unwrap --xdc_path ./XDATBUS --output_path ./XDATBUS_unwrap.xyz
Visualization
This is testing functionality for visualizing the molecular dynamics trajectory with Blender. There is a strict Python version required for compatibility with Blender. Please check the compatible version of Python for bpy to ensure there are no conflicts in your environment.
pip install molecularnodes bpy
Major Changelog
0.3.8 Added functions for locating minima and running NEB in a 2D FES.
0.2.5 Enabled a command-line interface that runs through the rich package.
0.2.0 Added a function to generate extxyz data for training machine learning interatomic potentials.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xdatbus-0.3.8.tar.gz.
File metadata
- Download URL: xdatbus-0.3.8.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66cad0fe49f518091e4331d8d5a633615c6329d38fcebb559e85dd99fced22f8
|
|
| MD5 |
073271a4ad3eb284276ee63d20f22c7f
|
|
| BLAKE2b-256 |
0cb4e6ce1cd6896459a2afac606d8c2318662a44df3c7af49397c629675b6209
|
Provenance
The following attestation bundles were made for xdatbus-0.3.8.tar.gz:
Publisher:
pypi-publish.yml on jcwang587/xdatbus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xdatbus-0.3.8.tar.gz -
Subject digest:
66cad0fe49f518091e4331d8d5a633615c6329d38fcebb559e85dd99fced22f8 - Sigstore transparency entry: 185060653
- Sigstore integration time:
-
Permalink:
jcwang587/xdatbus@5e2ea844f753ba2b58d8e1b7c9280fdefe3f255e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jcwang587
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@5e2ea844f753ba2b58d8e1b7c9280fdefe3f255e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file xdatbus-0.3.8-py3-none-any.whl.
File metadata
- Download URL: xdatbus-0.3.8-py3-none-any.whl
- Upload date:
- Size: 32.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc69fc0fab66ac76e72bc03405ccb51b031d88eaea86a2609e0ec09812480aa6
|
|
| MD5 |
c3901d2f58222a855bd9b30fe7418bbc
|
|
| BLAKE2b-256 |
80b1b1ae18dbd172ef9de1ddc328c7ba3c80f6a5d61edc1871feb6f5636d29df
|
Provenance
The following attestation bundles were made for xdatbus-0.3.8-py3-none-any.whl:
Publisher:
pypi-publish.yml on jcwang587/xdatbus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xdatbus-0.3.8-py3-none-any.whl -
Subject digest:
cc69fc0fab66ac76e72bc03405ccb51b031d88eaea86a2609e0ec09812480aa6 - Sigstore transparency entry: 185060664
- Sigstore integration time:
-
Permalink:
jcwang587/xdatbus@5e2ea844f753ba2b58d8e1b7c9280fdefe3f255e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jcwang587
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@5e2ea844f753ba2b58d8e1b7c9280fdefe3f255e -
Trigger Event:
workflow_dispatch
-
Statement type: