<p class="center-content">
<img src="https://raw.githubusercontent.com/jcwang587/xdatbus/main/docs/logo.png" alt=""/>
</p>
# xdatbus
[![Build](https://github.com/jcwang587/xdatbus/actions/workflows/build.yml/badge.svg)](https://github.com/jcwang587/xdatbus/actions/workflows/build.yml)
[![PyPI](https://img.shields.io/pypi/v/xdatbus?logo=pypi&logoColor=white&color=0073B7)](https://pypi.org/project/xdatbus/)
[![Conda](https://img.shields.io/conda/v/xdatbus/xdatbus?logo=anaconda&logoColor=white&label=conda&color=43B02A)](https://anaconda.org/xdatbus/xdatbus)
[![codecov](https://codecov.io/gh/jcwang587/xdatbus/branch/main/graph/badge.svg?token=V27VIJZDAE)](https://codecov.io/gh/jcwang587/xdatbus)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/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 XDATCAR, which represents the combined AIMD trajectories generated by VASP. Documentation for the package can be
accessed [here](https://xdatbus.readthedocs.io/en/latest/) and the Jupyter Notebook [tutorial](https://github.com/jcwang587/xdatbus/tree/main/examples) 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`:
```bash
pip install xdatbus
```
If you'd like to use the latest unreleased version on the main branch, you can install it directly from GitHub:
```bash
pip install -U 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:
```bash
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:
```bash
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:
```python
import os
from xdatbus import xdc_aggregate, xdc_unwrap
xdc_dir = "./xdatcar_dir"
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 (do not include the `$` when copying):
```bash
$ xdc_aggregate --xdc_dir ./xdatcar --output_dir ./
```
```bash
$ xdc_unwrap --xdc_path ./XDATBUS --output_path ./XDATBUS_unwrap.xyz
```
## Major Changelog
`0.2.5` Enabled CLI with enhanced interaction through the `rich` package.
`0.2.0` Implemented the preparation of training data in [extxyz](https://github.com/libAtoms/extxyz) format for machine
learning interatomic potentials.
Raw data
{
"_id": null,
"home_page": "https://xdatbus.readthedocs.io/en/latest/",
"name": "xdatbus",
"maintainer": "Jiacheng Wang",
"docs_url": null,
"requires_python": "<3.12,>=3.10",
"maintainer_email": null,
"keywords": "python, aimd, vasp, xdatcar",
"author": "Jiacheng Wang",
"author_email": "jiachengwang@umass.edu",
"download_url": "https://files.pythonhosted.org/packages/b4/d8/48ed3d0b6ba09e0554a5007bc863a4e896ceef15838dbdee751b13bec11c/xdatbus-0.2.10.tar.gz",
"platform": null,
"description": "<p class=\"center-content\"> \n <img src=\"https://raw.githubusercontent.com/jcwang587/xdatbus/main/docs/logo.png\" alt=\"\"/>\n</p>\n\n# xdatbus\n\n[![Build](https://github.com/jcwang587/xdatbus/actions/workflows/build.yml/badge.svg)](https://github.com/jcwang587/xdatbus/actions/workflows/build.yml)\n[![PyPI](https://img.shields.io/pypi/v/xdatbus?logo=pypi&logoColor=white&color=0073B7)](https://pypi.org/project/xdatbus/)\n[![Conda](https://img.shields.io/conda/v/xdatbus/xdatbus?logo=anaconda&logoColor=white&label=conda&color=43B02A)](https://anaconda.org/xdatbus/xdatbus)\n[![codecov](https://codecov.io/gh/jcwang587/xdatbus/branch/main/graph/badge.svg?token=V27VIJZDAE)](https://codecov.io/gh/jcwang587/xdatbus)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nXdatbus is a Python package designed specifically for Vienna Ab-initio Simulation Package (VASP) users conducting\nab-initio molecular dynamics (AIMD) simulations, as well as biased MD simulations. The name of the package is derived\nfrom XDATCAR, which represents the combined AIMD trajectories generated by VASP. Documentation for the package can be\naccessed [here](https://xdatbus.readthedocs.io/en/latest/) and the Jupyter Notebook [tutorial](https://github.com/jcwang587/xdatbus/tree/main/examples) is also available.\n\n## Installation\n\nMake sure you have a Python interpreter, preferably version 3.10 or higher. Then, you can simply install xdatbus from\nPyPI using `pip`:\n\n```bash\npip install xdatbus\n```\n\nIf you'd like to use the latest unreleased version on the main branch, you can install it directly from GitHub:\n\n```bash\npip install -U git+https://github.com/jcwang587/xdatbus\n```\n\nThe package is also available from conda-based installation. It is generally recommended you first create a separate\nenvironment, then you can install via the xdatbus channel on Anaconda cloud:\n\n```bash\nconda install --channel xdatbus xdatbus\n```\n\nIf you plan to use PLUMED to analyze enhanced sampling AIMD results, you can also install the conda version of PLUMED\ntogether:\n\n```bash\nconda install -c xdatbus -c conda-forge xdatbus plumed\n```\n\n## Get Started\n\nThis is a brief example demonstrating how to use the basic function of xdatbus to aggregate multiple xdatcar files into\na single file and unwrap the coordinates into an .xyz file:\n\n```python\nimport os\nfrom xdatbus import xdc_aggregate, xdc_unwrap\n\nxdc_dir = \"./xdatcar_dir\"\nxdb_dir = os.path.dirname(xdc_dir)\nxdb_path = os.path.join(xdb_dir, \"XDATBUS\")\nxyz_path = os.path.join(xdb_dir, \"XDATBUS_unwrap.xyz\")\n\nxdc_aggregate(xdc_dir=xdc_dir, output_dir=xdb_dir)\nxdc_unwrap(xdc_path=xdb_path, output_path=xyz_path)\n```\n\nThere are also entry points included with the installation for the Command Line Interface (CLI) to perform similar\ntasks (do not include the `$` when copying):\n\n```bash\n$ xdc_aggregate --xdc_dir ./xdatcar --output_dir ./\n```\n\n```bash\n$ xdc_unwrap --xdc_path ./XDATBUS --output_path ./XDATBUS_unwrap.xyz\n```\n\n## Major Changelog\n`0.2.5` Enabled CLI with enhanced interaction through the `rich` package.\n\n`0.2.0` Implemented the preparation of training data in [extxyz](https://github.com/libAtoms/extxyz) format for machine \nlearning interatomic potentials.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python package for post-analysis of VASP AIMD data",
"version": "0.2.10",
"project_urls": {
"Documentation": "https://xdatbus.readthedocs.io/en/latest/",
"Homepage": "https://xdatbus.readthedocs.io/en/latest/",
"Repository": "https://github.com/jcwang587/xdatbus/"
},
"split_keywords": [
"python",
" aimd",
" vasp",
" xdatcar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "274979dcaea725eda2207fdd670019bbbb7dc80d16ea9c11d682da3e87fff003",
"md5": "65b9c0f9a674a8e6ba966c19e2f51455",
"sha256": "12e9b141e0b9bdbf778d666fa48f176d3747f74cdc1303b7cb5ad7793ed2d16a"
},
"downloads": -1,
"filename": "xdatbus-0.2.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "65b9c0f9a674a8e6ba966c19e2f51455",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.10",
"size": 1129444,
"upload_time": "2024-05-02T18:35:43",
"upload_time_iso_8601": "2024-05-02T18:35:43.173105Z",
"url": "https://files.pythonhosted.org/packages/27/49/79dcaea725eda2207fdd670019bbbb7dc80d16ea9c11d682da3e87fff003/xdatbus-0.2.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4d848ed3d0b6ba09e0554a5007bc863a4e896ceef15838dbdee751b13bec11c",
"md5": "5c9774d91eb9df7267a0e43e0d4d12fc",
"sha256": "eb5afc245c1f83d01999c608efc02a6f2a14e028a979c879ccf48ea410bb8c76"
},
"downloads": -1,
"filename": "xdatbus-0.2.10.tar.gz",
"has_sig": false,
"md5_digest": "5c9774d91eb9df7267a0e43e0d4d12fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.10",
"size": 1094803,
"upload_time": "2024-05-02T18:35:45",
"upload_time_iso_8601": "2024-05-02T18:35:45.851465Z",
"url": "https://files.pythonhosted.org/packages/b4/d8/48ed3d0b6ba09e0554a5007bc863a4e896ceef15838dbdee751b13bec11c/xdatbus-0.2.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-02 18:35:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jcwang587",
"github_project": "xdatbus",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "xdatbus"
}