A simple gui based application to process and analyse TRACT data from NMR spectroscopy.
Project description
pyTRACTnmr
pyTRACTnmr is a graphical user interface (GUI) application designed for the processing and analysis of TRACT (TROSY for Rotational Correlation Times) experiments in NMR spectroscopy. It provides a streamlined workflow to go from raw Bruker data to calculated rotational correlation times ($\tau_c$) with robust error estimation. All calculations are based on TRACT revisited: an algebraic solution for determining overall rotational correlation times from cross-correlated relaxation rates DOI:10.1007/s10858-021-00379-5.
Note: Currently this only supports data collected with Bruker spectrometers using pulseprogram tractf3gpphwg.
Features
- Bruker Data Import: Directly load Bruker experiment directories.
- Interactive Processing:
- Phase correction.
- Apodization (Sine Bell, Exponential) and Zero Filling.
- Baseline correction with manual node picking.
- Relaxation Analysis:
- Automatic splitting of Pseudo-2D experiments into $\alpha$ (Anti-TROSY) and $\beta$ (TROSY) states.
- Exponential decay fitting to determine relaxation rates ($R_\alpha$, $R_\beta$).
- Calculation of $\tau_c$ with error estimation using bootstrapping.
- Sliding Window Analysis: Perform $\tau_c$ calculation across the spectral width to identify domain dynamics.
- Visualization: Interactive Matplotlib plots for spectra, decay fits, and sliding window results embedded in a Qt interface.
- Export: Save results to CSV and generate Python scripts for publication-quality plotting.
Installation
Prerequisites
- Python 3.14 or higher recommended (Though it is not tested it should run with earlier version of Python 3).
- uv (optional, but recommended for building).
Installation
Using uv
The fastest way to try pyTRACTnmr without installation is:
uvx pyTRACTnmr
To install:
uv tool install pyTRACTnmr
Using pip
pip install pyTRACTnmr
From Source
-
Clone the repository:
git clone https://github.com/debadutta-patra/pyTRACTnmr.git cd pyTRACTnmr
-
Install the package:
Using
uv(fastest):uv pip install .
Using standard
pip:pip install .
Usage
Launching the App
After installation, you can start the application from the terminal:
pytractnmr
Or run it as a python module:
python -m pyTRACTnmr.main
Analysis Workflow
- Load Data: Click "Load Bruker Directory" and select your experiment folder.
- Process:
- Use the Processing tab to adjust phase correction sliders.
- Drag the green selection box on the top spectrum plot to define the integration region (Start/End ppm).
- Select nodes for polynomial baseline correction using the Pick Nodes button.
- Fit:
- Switch to the Fitting tab.
- Input experimental parameters (Field Strength, CSA, etc.).
- Set the number of Bootstraps (e.g., 10000).
- Click "Calculate Tau_c".
- (Optional) Check the sliding window analysis to calculate $\tau_c$ across the spectral width.
- Export:
- Right-click the results table to Export Table to CSV.
- Click the export options in Fitting tab to generate a CSV file and python script for publication-quality plotting.
- A PDF report with all generated plots and processing parameters can be exported.
Dependencies
PySide6numpyscipymatplotlibnmrglue
License
This project is licensed under the GNU General Public License v3.0 License - see the LICENSE file for details.
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 pytractnmr-1.1.0.tar.gz.
File metadata
- Download URL: pytractnmr-1.1.0.tar.gz
- Upload date:
- Size: 73.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6751a5c7372259c2e48e64d8ce6f4f940d9114837c66b59543ab59ec4a923b91
|
|
| MD5 |
a8ca6a1b2f461b974d9ed3f3e24bdde7
|
|
| BLAKE2b-256 |
e611ef704922f08f4b02b1932ff01379a48225a7ccf4d9824db05259a4201f13
|
File details
Details for the file pytractnmr-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pytractnmr-1.1.0-py3-none-any.whl
- Upload date:
- Size: 50.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c39ede94ca4976e3d1fd8846b2f83313b5256e62d4163ebc35bbb1f5d1ab94a8
|
|
| MD5 |
179e356842130edc8ad663b23b38ae54
|
|
| BLAKE2b-256 |
bca56748cd5e2e8628a128ddb4db4eaf21c7e645c2382467f43e765c665b68aa
|