Peaklist preparation for eNOE pipeline

From CYANA Wiki
Revision as of 08:45, 8 April 2022 by Dima (talk | contribs) (→‎Transfer of assignments to the NMRpipe peaks)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

In this tutorial we will prepare the input data for the eNOE pipeline (assigned series of NOESY spectra with different mixing times) from manually / automatically generated assignments of a single NOESY spectrum.

In summary, our approach consists of following steps:

  1. NMRpipe peak peaking
  2. Transfer of manual or automatically generated assignments to the NMRpipe peaks
  3. Sequential assignment of NOESY spectra with different mixing times using NMRpipe

Software installation

This tutorial requires following software:

  1. CYANA
  2. Python3

Data preparation

Create the root project folder tutorial/

mkdir tutorial
cd tutorial
mkdir 01-Spectra
mkdir 02-PeakPeaking
mkdir 03-Assignment
mkdir 04-Series
mkdir 05-eNORA
mkdir 06-SingleState
mkdir 07-MultiState

Process all NOESY mixing times and save them in separate folders in 01-Spectra/ folder.

NMRpipe peak peaking

Peak the nitrogen region, aliphatic carbon region and aromatic carbon region of the NOESY with highest mixing time with NMRpipe. Optimize the number of the peaked peaks by adjusting the threshold such, that the total number of peaks is 2 to 5 times larger than the number of peaks in previously manually or automatically generated NOESY assignment (because NMRpipe also peaks water and a lot of "false positives" along the diagonal, peak even more for the aromatic peaks as they are highly diluted by backbone nitrogen peaks). Save the peaks as N15NOESY.tab, C13NOESY_@ALI.tab and C13NOESY_@ARO.tab in the 02-PeakPeaking/ folder.

Transfer of assignments to the NMRpipe peaks

Create a fresh python environment

python -m venv venv

Activate it

source venv/bin/activate

Install necessary packages

pip install numpy
pip install pandas
pip install tqdm
pip install argparse
pip install matplotlib

This step has to be done only once. When you are finished with python scripts you can deactivate it

deactivate

And next time you can activate it again

source venv/bin/activate

Copy the peaked peaks to the 03-Assignment/ folder. Copy the assigned NOESY peaklist to the same folder. Save the transfer script and execute it sequentially for the backbone, aliphatic and aromatic protons.

python convert.py /path/to/tutorial/03-Assignment/N15NOESY.tab /path/to/tutorial/03-Assignment/N15NOESY_@POS_@FLYA_asn.peaks N
python convert.py /path/to/tutorial/03-Assignment/C13NOESY_@ALI.tab /path/to/tutorial/03-Assignment/C13NOESY_@ALI_@FLYA_asn.peaks C_@ALI
python convert.py /path/to/tutorial/03-Assignment/C13NOESY_@ARO.tab /path/to/tutorial/03-Assignment/C13NOESY_@ARO@NEG_@FLYA_asn.peaks C_@ARO --w1_shift=HEAVY_ATOM_SPECTRAL_WIDTH_IN_PPM

Change the path/to/tutorial and HEAVY_ATOM_SPECTRAL_WIDTH_IN_PPM to the actual path and spectral width in heavy atom value.

This will create assigned NMRpipe tab files N15NOESY_asn.tab, C13NOESY_@ALI_asn.tab and C13NOESY_@ARO_asn.tab in the 03-Assignment/ folder.

For quality control check that histograms of CYANA vs Pipe overlap for all 3 dimensions (for example file N_W1_overlay.png shows overlap between CYANA and Pipe shift histograms in the first dimensions for the nitrogen region of the NOESY).

Sequential assignment of NOESY spectra with different mixing times using NMRpipe

Copy assigned NMRpipe tab files to the 04-Series/ folder.

Create the NMRpipe script series3D_N.com for sequential assignment of the nitrogen spectrum with following content:

#!/bin/csh
set DX       = 1 
set DY       = 3
set DZ       = 2
set specList = (path/to/tutorial/01-Spectra/X/ft/HCNHnoesyHdirH%03d.ft3 path/to/tutorial/01-Spectra/Y/ft/HCNHnoesyHdirH%03d.ft3 path/to/tutorial/01-Spectra/Z/ft/HCNHnoesyHdirH%03d.ft3)
set inName   = N15NOESY_asn.tab
echo -----------------------------------------------
echo Performing analysis by Fourier interpolation.
echo Updated peak table will be series.tab
echo
/bin/rm -f series.list
foreach i ($specList)
  echo $i >>  series.list
end
seriesTab -in $inName -list series.list -ndim 3 \
   -out series.tab -dx $DX -dy $DY -dz $DZ      \
   -xzf 64 -yzf 64 -zzf 64 -adx 0 -ady 0 -adz 0 -max -verb

Change the path to the spectra such that X, Y, Z are spectra ordered from highest to lowest mixing times. If necessary, add additional entries.

Run the series script

csh
prepare nmrPipe
./series3D_N.com

This will create the series.tab file. Rename it to the series_N.tab and remove 2 lines from the header:

NULLVALUE -666
NULLSTRING *

Repeat this step for the aliphatic and aromatic protons. Combine all 3 series in series_all.tab files by keeping only one header. This combined series file can be directly used for ENORA and multi-state structure calculations.