Skip to content

datalab-org/datalab-app-plugin-insitu

Repository files navigation

datalab insitu NMR

A Python plugin for processing and visualizing in situ NMR data within datalab instances.

The project was originally developed in the Grey Group in the Department of Chemistry at the University of Cambridge.

Warning

This plugin is still under development and may struggle to process larger datasets within a single datalab request, in which case you may wish to run the plugin locally.

Features

  • Process both 1D and pseudo-2D NMR data from Bruker instruments
  • Integration with electrochemical data formats for combined analysis using navani
  • Interactive visualization using Bokeh
  • Flexible PPM range selection
  • Support for both local files and datalab API access, as well as running as a plugin directly on a datalab instance

Installation

The datalab-app-plugin-insitu package is currently a "core plugin" of datalab, so it will be installed on datalab instances by default.

Development installation

We recommend you use uv for managing virtual environments and Python versions.

Once you have uv installed, you can clone this repository and install the package in a fresh virtual environment with:

git clone [email protected]:datalab-org/datalab-app-plugin-insitu
cd datalab-app-plugin-insitu
uv sync --all-extras --dev

You can activate pre-commit in your local repository with uv run pre-commit install.

Configuration

For Datalab API Usage

When using the plugin with a datalab instance, you need to set up your API key:

  1. Create a .env file in your project root
  2. Add your Datalab API key:
   DATALAB_API_KEY=your_api_key_here

Usage

Full reference API documentation can be found on ReadTheDocs.

Data Structure Requirements

Your data should be organized as follows:

data_folder.zip/
├── <nmr_folder>/
│   ├── 1/
│   │   ├── acqus
│   │   └── pdata/
│   │       └── 1/
│   │           └── ascii-spec.txt
│   ├── 2/
│   │   └── ...
│   └── ...
└── <echem_folder>/  (optional)
    └── *.MPR

with the <nmr_folder> and <echem_folder> names specified at runtime.

License

This project is released under the conditions of the MIT license. Please see LICENSE for the full text of the license.

Contact

For questions and support, please open an issue on the GitHub repository or join the public datalab Slack workspace.