1

2D Co-ANAFOR manual

What is Co-ANAFOR?

Co-ANAFOR is a method for the reconstruction of multidimensional NMR data from undersampled data. In Co-ANAFOR, chemical shifts of the signals determined from another high resolution spectra (usually 2D HSQC or TROSY) are utilized for the reconstruction. Therefore, peak height ratios can be accurately determined even for the crowded data like 2D spectra of proteins. See the reference (Takumi Ueda, Chie Yoshiura, Masahiko Matsumoto, Yutaka Kofuku, Junya Okude, Keita Kondo, Yutaro Shiraishi, Ichio Shimada, J. Biomol. NMR (2015) 62, 31-41) for details of the theories and comparison with other methods.

Required programs

・Bruker Topspin®

・Python 2.X and Numpy, Scipy, and l1l2py packages

・NMR spectra analysis softwares (e.g. Sparky)

・Scripts for the reconstruction by Co-ANAFOR

2D spectra reconstruction:120730COANAFOR2D.py

3D spectra reconstruction (F2 axis only):140926COANAFOR3D.py

*Option:110720T2analysis.py (required only if experimentally determined transverse relaxation rates are utilized in the reconstruction of 2D spectra.)

1. Installation of required programs

1-1. Installation on Windows

1-1-1. Installation of Python

(1) Download a MSI Installer file (Windows x86 MSI installer) of the latest version of Python2.x from the following page.

http://www.python.org/download/releases/

(*Do not install Python 3.x or 64-bit version of Python 2.X (X86-64), because they are basically not compatible with Numpy and Scipy packages at present (2014).

(2) Start the installation by double-clicking the icon. Accept all default install options. If Windows Installer is not started, start a command prompt, go to the directory where the file is located, and execute the following command:

msiexec /i python-2.7.2.msi

1-1-2. Setup the Python path

(1) Check the present version of the python by typing

python

in the command prompt.

(2) If the version does not match with the installed one or Python is not started, go to the “Control Panel”-“System”-“General”-“User Profiles”, and create the following user valuables:

Valuable: PATH

Value: C:¥Python27;C:\Python27\Scripts;C:\Python27\Lib\site-packages

(*Change the “Value” if it does not match with the installed files)

(3) If there are any Python valuables in the “system valuables”, remove them.

(4) Restart the PC and confirm that latest version of Python is started by just typing

python

in the command prompt.

See also:

http://www.katsbits.com/tutorials/blender/setting-up-windows-python-path-system-variable.php

1-1-3. Installation of numpy and scipy

(1) After the installation of Python, Download ”numpy-1.6.1rc3-win32-superpack-python2.7.exe” and “scipy-0.9.0rc5-win32-superpack-python2.7.exe” or their later versions from the following pages.

http://sourceforge.net/projects/numpy/files/

http://sourceforge.net/projects/scipy/files/

(2) Start the installation of Numpy by just double-clicking the icon.

(3) Start the installation of Scipy by just double-clicking the icon.

1-1-4. Installation of l1l2py

Download and install l1l2py from the following page.

http://slipguru.disi.unige.it/Software/L1L2Py/

1-2 Installation on Mac or Linux

The download and installation of Python, Numpy, Scipy, and l1l2py and the setup of the Python path can also be accomplished in Mac and Linux. The Installation of Numpy in Linux is complicated, because additional operations for installation of LAPACK and BLAS packages are required. See http://www.scipy.org/Installing_SciPy/Linux for details. In the case of Ubuntu, the installation can be accomplished by just typing “sudo apt-get install numpy scipy”.

2. NMR Measurement

2-1. Recording of the truncated data

Measure the 2D spectra as usual, with setting the data points in indirect dimension (F1 td) to ~1/3-1/4 of those after the reconstruction.

2-2 Recording of the Guide-FIDs

(1) Measure the 2D spectra with chemical shifts and linewidth identical to those of 2-1 (typically 1H-15N HSQC or TROSY) as usual, with setting the data points in indirect dimension (F1 td) to those after the extrapolation,

(2) Perform phase correction, window function manipulation, Fourier transform, and baseline correction of the guide-FIDs. Do not apply linear prediction, because it causes subtle but significant chemical shift change.

(3) Perform peak picking of the guide-FIDs by Topspin. Pick all resonances, but do not pick noises or artifacts.

3. (Optional) measurement of the T2 and preparation of the T2 list

*We recommend to skip this section, because this procedure empirically results in almost no improvement in the accuracy of the signal intensity ratios.

(1) Measure the spectra for the determination of T2 (e.g. hsqct2etf3gpsi for 1H-15N HSQC-type (non-TROSY) experiments), using a sample with F1 T2 identical to that of the target data. The spectra with different relaxation delays should be placed in the same directory with different experimental numbers.

(2) Copy the program “110720T2analysis.py” to the (filename)/(one of the experimental number) directory of the relaxation data files.

(3) copy the peaklist.xml file, which is located in the (filename)/(experimental number)/pdata/1 directory of the guide-FID files, into the pdata/1 directory of the data in (2).

(4) Open the 110720T2analysis.py file with some text editor and adjust the following parameters:

expno:

Input the experimental numbers as a Python list. The first value of the list must correspond to the data with shorted relaxation delay.

Delay:

Input the relaxation delay values as a Python list with the same order as the expno (unit: second).

Limit:

Filter for the selection of the data with sufficient S/N ratio. The data will be discarded if the signal intensity ratios between the data and those in the shortest relaxation time are less than this value. We recommend to set this value to 0.15~0.2.

(5) Run the 110720T2analysis.py script on a PC equipped with Python and Numpy, Scipy, and l1l2py packages with the following command:

python 110720T2analysis.py

If the program runs successfully, “T2list.list”, in which relaxation rates of the signals are written in the following format, is generated in the same directory.

(F1Chemical shift) (F2 chemical shift) (relaxation rate (s))

(F1 Chemical shift) (F2 chemical shift) (relaxation rate (s))

*The relaxation rates of the signals in which intensity decay is too rapid to determine the relaxation rates or the determined relaxation rates are negative are set to 10,000 /s, which means that almost no data would be extrapolated for these signals.

*We can open and edit the T2list.list with Excel and save as text(tab delimited) format.

4. Reconstruction of the spectra

(1) Copy the peaklist.xml file in the (guide-FID filename)/(experimental number)/pdata/1 directory, which was created with the operation in 2-2, to the (target data filename)/(experimental number)/pdata/1 directory, which was created with the operation in 2-1.

*If relaxation rates determined in section 3 are utilized, use peaklist.xml file utilized in the section 3.

(2) (Optional) If relaxation rates determined in section 3 are utilized, copy the T2list.list file, which was created with the operation in section 3, to the (target data filename)/(experimental number) directory.

(3) Copy the 120730COANAFOR2D.py file to the (target data filename)/(experimental number) directory.

(4) Open the 120730COANAFOR2D.py file with a text editor (vi, gedit, etc.) and edit the following parameters:

window, SSB, LB, GB

Set the parameters for F1 window function in the same manner as in Topspin.

(*Do not remove the quotation marks in the window parameter.)

numext:

Set the ratio of the number of data points in F1 dimension before and after the reconstruction. Decimal is acceptable. We usually recommend to set to 3 or 4.

lambda1

Set the Coefficient of the Tikhonov regularization. We recommend to set to 0.01-0.1.

Increase this value if artifacts like Supplementary Fig. S1 in the original paper are observed in the spectra after the reconstruction.

decim:

We recommend not to change this value. (The intensity values are divided by this value to avoid the data overflow.)

UniformLWF1

Set to ”True” unless experimentally determined F1 T2 values are used.

(Set to “False” if they are used.)

DefaultLWF1, LWF1

If this value is set to “True”, F1 T2 values of the extrapolated data are automatically set to 1/t1max.

If this value is set to “False”, F1 T2 values of the extrapolated data are manually set to pi*LWF1.

(These values are ignored if UniformLWF1 is False.)

Set manually if the acquisition time after the extrapolation is markedly different from T2.

listfile

We recommend not to change this value.

(fine name and directory of the relaxation rate list file.)

UniformLWF2, LWF2

These parameters are not used, but do not remove them.

siglim

Set the difference of the chemical shifts between the center and edge of signals in F2 dimension (ppm). We usually recommend to set to 0.03, and decrease and increase if the spectra are crowded and sparse, respectively.

(5) Open the target data with topspin and set the edp parameters of the target data as follows:

*Window function and linear prediction in F1 dimension are set to OFF.

*F2 window function parameters are set as usnal.

*F1 SI is set to smaller than the number of data points after the extrapolation. (We recommend to set to the same value as F1 td.)

*We can cut the right half of the spectra by setting F2 STSI = F2 SI * 0.5.

Then, execute xfb, abs, and xht1 commands on Topspin.

(6) Run the 120730COANAFOR2D.py script on a PC equipped with Python and Numpy, Scipy, and l1l2py packages, with the following command:

python 120730COANAFOR2D.py

If the program runs successfully, ”writing as binary 2rr...”, “writing as binary 2ri...” are displayed in the terminal.

* If ”… int too large..” error occurs, try increasing the “decim” value in the 120730COANAFOR2D.py program.

(7) In Topspin, open another spectra and return to the target spectra. Then, the spectrum after the extrapolation is displayed.

(8) Transfer the data to Sparky or other analyzing software as usual. Return to (4) if you want to perform extrapolation again. (The extrapolated 2rr and 2ri data, which are created by the 120730COANAFOR2D.py script, are overwritten if xfb is performed to the target data again.)


5. Reconstruction of 3D spectra

The script “120730CoANAFOR3D.py” can be utilized to reconstruct the F2 axis of 3D spectra, like HNCA, HN(CO)CA, HNCACB, 15N-edited NOESY, with using 2D HSQC or TROSY spectra as their Guide-FIDs.

Differences between the reconstruction of 2D and 3D spectra are mainly as follows:

・In the operation 4-(1), copy the peaklist.xml file to the (target data filename)/(experimental number) directory, instead of (target data filename)/(experimental number)/pdata/1.

・Utilization of experimentally determined transverse relaxation rates are not supported.(Section 3 must be skipped.)

・Use tht2, instead of xht2, for the Hilbert transform.

・In the case of constant time evolution in F2 dimension, the setting parameter “Constant” in the script “120730CoANAFOR3D.py” is set to “True”. (Transverse relaxation rates are set to zero.)

・Large lambda1 value (~0.1) may be preferable, due to the limited number of the data points.

・The calculation may stop with error due to the lack of memory. In such cases, reduce the SI (particularly in F3 dimension) or use processors with large memories (or modify the program).