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     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.

Installation

shnitsel-tools is normally used interactively via Jupyter Notebook on a local machine. However, some users might find it convenient to convert trajectories to NetCDF on-cluster, as the NetCDF file will likely download faster than the raw text files. Either way the following should work as usual, ideally in a virtual (e.g. conda) environment:

pip install shnitsel-tools

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

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
│   ├── filtration.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

Development

We recommend installation using the uv tool, available at https://docs.astral.sh/uv/. Please clone this repo and run the following in the shnitsel-tools directory:

git clone 'https://github.com/SHNITSEL/shnitsel-tools.git'
cd shnitsel-tools
uv venv  # create an environment under ./.venv
source .venv/bin/activate  # activate the new environment
uv pip install -e .[dev]  # install shnitsel in editable mode

In the above, the option -e installs in editable mode, meaning that Python will see changes you make to the source, while [dev] installs the optional development dependencies.

If you would like to contribute your changes, please fork this repo, and make a pull request.

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.2.dev1.tar.gz (206.8 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.2.dev1-py3-none-any.whl (244.8 kB view details)

Uploaded Python 3

File details

Details for the file shnitsel_tools-0.0.2.dev1.tar.gz.

File metadata

  • Download URL: shnitsel_tools-0.0.2.dev1.tar.gz
  • Upload date:
  • Size: 206.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"openSUSE Leap","version":"15.5","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for shnitsel_tools-0.0.2.dev1.tar.gz
Algorithm Hash digest
SHA256 054f2262e3cb0cb2d7eda4350dafdd4e262677654255299b5fe3afedac6cda51
MD5 0be3958dc9a21a00e8171e65da12c1eb
BLAKE2b-256 a9930a6466c763c00f0b54df1d77b4a37abc0501504df08bd0461f5ed58d8b46

See more details on using hashes here.

File details

Details for the file shnitsel_tools-0.0.2.dev1-py3-none-any.whl.

File metadata

  • Download URL: shnitsel_tools-0.0.2.dev1-py3-none-any.whl
  • Upload date:
  • Size: 244.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"openSUSE Leap","version":"15.5","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for shnitsel_tools-0.0.2.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1547212af72beae6cf49c57fd2fb5e3711cbb14527a50c86e607a9381be25c0
MD5 1b8f12fdb23a7e8f177c75fe356616bc
BLAKE2b-256 d702a27b485048414afe7010219e5240f1fa1528412ba312ede0c33013b2f1ac

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