Welcome to this repository, which is dedicated to providing or enhancing open-source code for automated peak picking in 4D and 3D NMR spectra. Our goal is to facilitate the analysis of complex NMR data through automation, making it easier and faster for researchers to interpret their results.
The core of this repository's code utilizes the ucsfdata command-line utility from NMRFAM Sparky to slice high-dimensional
NMR spectra and create two-dimensional planes for peak picking using the DEEP Picker algorithm
from Li et al., 2021 Nature Communications.
In addition to this approach, there is a version under development that leverages the
nmrglue Python library for slicing
instead of ucsfdata.
You must install the following software:
- NMRFAM Sparky. Make sure that the command line utility
ucsfdatais in your PATH. That's all you need from Sparky. - DEEP Picker algorithm. Compile it and make sure that the executable
deep_pickeris in your PATH
Currently, the code supports the following NMR experiments:
- 4D HCNH NOESY: The code performs quite reasonably with this type of spectra.
- CBCAcoNH: Although it selects many peaks, most are identified as noise.
For both cases you need to have also a [15N,1H]-HSQC or [15N,1H]-BEST-TROSY for referencing of peaks at the N and HN dimensions.
To try out the automated peak picking, you can download example spectra from the provided link. Follow the instructions below to run the scripts for each supported NMR experiment.
- Download the example spectra.
- Edit the file paths at the beginning of
EXEC_4D_HCNH_NOESY_picker.pyto match your system. - Execute the script to perform automated peak picking.
- For peak picking of CBCAcoNH spectra, edit the script
EXEC_CBCAcoNH_picker_slice_sel_nucleus.py. - This script slices at a selected nucleus dimension and calls DEEP picker under the hood to pick peaks on the 2D planes of the other two dimensions.
- By default, slicing occurs at the amide nitrogen dimension, but you can select any nucleus for slicing.
This repository is meant to be enhanced and updated periodically. Contributions are welcome, and all the codes within this repository are open-source, governed by the GPL version 3 license.
Your feedback, suggestions, and contributions will help us improve this tool and support more experiments in the future.
