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.
- 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
The datalab-app-plugin-insitu
package is currently a "core plugin" of datalab, so it will be installed on datalab instances by default.
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
.
When using the plugin with a datalab instance, you need to set up your API key:
- Create a .env file in your project root
- Add your Datalab API key:
DATALAB_API_KEY=your_api_key_here
Full reference API documentation can be found on ReadTheDocs.
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.
This project is released under the conditions of the MIT license. Please see LICENSE for the full text of the license.
For questions and support, please open an issue on the GitHub repository or join the public datalab Slack workspace.