Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

xdatbus

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xdatbus

A Python package enhancing VASP AIMD simulation

  • 0.3.5
  • PyPI
  • Socket score

Maintainers
1

xdatbus

Build Release PyPI Downloads codecov Code style: black

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 concatenated MD trajectories generated by VASP, specifically the XDATCAR files. The documentation for the package can be accessed here, and a 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 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 {1..10}; do cp RUN$i/XDATCAR xdc_files/XDATCAR_$(printf %02d $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

Major Changelog

0.3.0 Enabled the functions for locating minima and running NEB in 2D FES.

0.2.5 Enabled CLI through the rich package.

0.2.0 Added a function to generate extxyz-formatted data for training machine learning interatomic potentials.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc