Skip to main content

Collect, manage, process, analyse & visualize surface hopping data

Project description

shnitsel-tools

SHNITSEL-TOOLS Logo

Surface Hopping Nested Instances Training Set for Excited-state Learning Tools


DOI

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

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:

  1. Open the shnitsel-tools.yml file for editing:
vi shnitsel-tools.yml
  1. Add the following line to the file:
prefix: /home/user/anaconda3/envs/shnitsel
  1. Create the environment with a custom path.
conda env create -f shnitsel-rdkit.yml

Further Information

Website

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shnitsel_tools-0.0.1.post1.tar.gz (66.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shnitsel_tools-0.0.1.post1-py3-none-any.whl (73.4 kB view details)

Uploaded Python 3

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

Hashes for shnitsel_tools-0.0.1.post1.tar.gz
Algorithm Hash digest
SHA256 16b29a5d6abc8bae8fe73519c6f6e3b678dfe1b4addc93679f87eef1fce86a68
MD5 95c836287510508ff8a9a3b844c4c421
BLAKE2b-256 9245925fb5cf6585bf095e320fafd96a37a261a22fc871e04d650bd61dc66734

See more details on using hashes here.

File details

Details for the file shnitsel_tools-0.0.1.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for shnitsel_tools-0.0.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 400488bde4a8a4ed1e25f4856ffd735722b808b56e2615e4fcfb8e5ffe3ec6f0
MD5 245be969fb6cedeb9fc27c295c360c59
BLAKE2b-256 9cd9a11bb71434713f3d0bec333045d2a15c743f22ea6dada6b53542c222ec99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page