Collect, manage, process, analyse & visualize surface hopping data
Project description
About
shnitsel-tools is designed to to support the entire data lifecycle of surface hopping (SH) trajectory data upon simulation: data managment, storage, processing, visualization and interpretation.
The tool is compatible with surface hopping data generated using the software packages SHARC 3/4, Newton-X, and PyRAI2MD.
The package leverages Xarray to benefit from efficient multidimensional data handling, improved metadata management, and a structure that aligns naturally with the needs of quantum chemical datasets.
Usage
The package is organized into top-level functions for reading data,
accessor methods available on xr.Dataset and xr.DataArray objects, plotting routines found in the shnitsel.plot namespace,
and functions taking an RDKit Mol object as their principal argument under shnitsel.rd.
The adventurous may find something useful under shnitsel.core, though this should be considered internal and therefore subject to change.
Tutorials
For a quick start, see the tutorials directory, which contains Jupyter Notebooks showing the workflow for parsing, writing and loading SHNITSEL databases as well as how to postprocess and visualize the respective data.
Collection & storage
- parsing trajcetory and initial condition data obtained by SHARC
- parsing trajectory data produced with Newton-X
- convert ASE databases
Management
exploration of electronic properties
Postprocessing & visualization of data
Workflow walkthrough
Four notebooks demonstrate a workflow for the comparative analysis of homologous/isoelectronic molecules, from filtration via dimensional reduction and clustering to kinetics.
Tree
shnitsel
├── core
│ ├── ase.py
│ ├── datasheet
│ │ ├── colormaps.py
│ │ ├── common.py
│ │ ├── dip_trans_hist.py
│ │ ├── hist.py
│ │ ├── __init__.py
│ │ ├── nacs_hist.py
│ │ ├── oop.py
│ │ ├── per_state_hist.py
│ │ ├── structure.py
│ │ └── time.py
│ ├── filter_unphysical.py
│ ├── filtre.py
│ ├── indexes.py
│ ├── __init__.py
│ ├── parse
│ │ ├── common.py
│ │ ├── __init__.py
│ │ ├── nx.py
│ │ ├── pyrai2md.py
│ │ ├── sharc_icond.py
│ │ ├── sharc_traj.py
│ │ └── xyz.py
│ ├── plot
│ │ ├── __init__.py
│ │ ├── kde.py
│ │ ├── p3mhelpers.py
│ │ ├── pca_biplot.py
│ │ ├── polychrom.py
│ │ ├── select.py
│ │ └── spectra3d.py
│ ├── postprocess.py
│ ├── spectra.py
│ └── xrhelpers.py
├── __init__.py
├── plot
│ └── __init__.py
├── rd.py
└── xarray.py
Installation
You can create the environment with a custom path using one of the following methods:
Option 1: Using pip
The following should work as usual:pip install shnitsel-tools
Option 2: Using venvs with `uv`
If you would like to work on the source code, we recommend installing using the `uv` tool, available at https://docs.astral.sh/uv/. Run the following in the `shnitsel-tools` directory:uv venv # create an environment under ./.venv
. .venv/bin/activate # activate the new environment
uv pip install -e . # install shnitsel in editable mode
To install the optional development dependencies run
uv pip install -e '.[dev]'
Option 3: Using the `--prefix` Flag
You can create the environment and specify the desired path by using the conda env create command with the --prefix flag:
conda env create --prefix /home/user/anaconda3/envs/shnitsel -f shnitsel-tools.yml
Option 4: Adding the Path to the .yml File
Alternatively, you can manually add the desired path to the shnitsel-tools.yml file and create the environment directly:
- Open the shnitsel-tools.yml file for editing:
vi shnitsel-tools.yml
- Add the following line to the file:
prefix: /home/user/anaconda3/envs/shnitsel
- Create the environment with a custom path.
conda env create -f shnitsel-rdkit.yml
Further Information
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 shnitsel_tools-0.0.1.post1.tar.gz.
File metadata
- Download URL: shnitsel_tools-0.0.1.post1.tar.gz
- Upload date:
- Size: 66.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16b29a5d6abc8bae8fe73519c6f6e3b678dfe1b4addc93679f87eef1fce86a68
|
|
| MD5 |
95c836287510508ff8a9a3b844c4c421
|
|
| BLAKE2b-256 |
9245925fb5cf6585bf095e320fafd96a37a261a22fc871e04d650bd61dc66734
|
File details
Details for the file shnitsel_tools-0.0.1.post1-py3-none-any.whl.
File metadata
- Download URL: shnitsel_tools-0.0.1.post1-py3-none-any.whl
- Upload date:
- Size: 73.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
400488bde4a8a4ed1e25f4856ffd735722b808b56e2615e4fcfb8e5ffe3ec6f0
|
|
| MD5 |
245be969fb6cedeb9fc27c295c360c59
|
|
| BLAKE2b-256 |
9cd9a11bb71434713f3d0bec333045d2a15c743f22ea6dada6b53542c222ec99
|