Relaxation rate analysis

Introduction

The CCPN project CcpnCourse2c contains three spectra used to calculate NMR relaxation rates, plus an assigned HSQC spectrum than can be used as a reference. The rates analysis spectra are represented as pseudo-three-dimensional data sets; where different 2D spectrum planes that correspond to various T1 and T2 delay times have been stacked a top one another to give a 3D spectrum. Within this type of data set the third dimension is not in PPM, it is delay time and corresponds to the "z" axis - i.e. orthogonal to the X-Y plane that is the screen. The procedure used to analyse the data is very similar to the analysis of chemical shift titrations; where we follow the position of peaks, rather than the intensities of peaks. However, to keep this tutorial simple we focus on only the relaxation analysis.

Relaxation Analysis

There are three experiment series loaded into this project; and each corresponds to a separate pseudo-3D experiment (although it would be possible to use a series of 2D spectra). There are two T2 series and one T1 series, the basic analysis of which involves plotting peak intensity verses delay time for each clear amide position, and then fitting the intensity curve with an exponential function to extract the T1 or T2 parameter; which is deduced from the rate of exponential decay..

Firstly look at the T1 rates experiment by selecting window1. Switch off the HQSC and put on the T1 experiment. Note at the bottom of this window is a different kind of scrollbar, made up of buttons. These buttons control which planes of the pseudo-3D experiment are visible on screen. With the left mouse button you can shift the visible planes through the series, and with the middle mouse button (try both left and right buttons together if you don't have a middle button) you can extend the number of visible planes. Try this and switch on all of the planes of the experiment.

To keep things simple we have picked all of the peaks for you, but note that if you do pick peaks here, you will be picking peak maxima in all planes that are visible. If you don't want pick in a specific plane, simply ensure that plane is switched off.

We could go on to assign all the peaks in the T1 series, however, if you toggle on the [HSQC:115] spectrum (use the [Spectra] option at the top of the window), you will see that this assigned HSQC aligns well with the T1 series. We will use this fact to spread the HSQC assignments to all of the planes of the T1 experiment when we do the relaxation analysis. Note that we could also have used the HSQC peaks to automatically pick the T1 series if we wished.

Before we do the relaxation analysis go to M: Experiments: NMR Series. Clicking on the "T1" row you will note that the time values for the series are already entered. This is because the spectrum was loaded from a parameter file (AZARA format in this instance) where the time points of the series are already specified. You could still change then here if you wished. Anyhow, in the top table note that the |Parameter Varied| is set to "delay time", but it can be changed as required. Before you close the popup make sure that |Unit| is set to seconds ('s'):

Now select M: Data Analysis: Follow Intensity Changes. You will note that an Experiment Series is already selected, by virtue of it having the "delay time" as the parameter type. However, it is probably not the correct one in this instance, so ensure the  "T1:delay time" option is selected.

Ensure that the Reference Peak List is set to "HSQC:115:2"  this is a peak list we have assignments for and has has any troublesome weak or overlapped positions removed. Set the Fitting Function to "A exp(-Bx)"; i.e. an exponential decay. Finally deselect "Pick new peaks?" (as we already have peaks this makes things a bit quicker) and then click [Group & Fit Peaks]. If some fits fail just click 'OK'.

You will see that the assignment has propagated across the whole series and that the selected function/graph has been fitted to the peaks. Selecting an assignment and clicking on [Show Fit Graph] and [Next Set] allows you to quickly investigate the quality of fit to the intensity for all peaks in each group:

Note that the time constant for each group is recorded in the |Time Constant| column. This is calculated from the inverse of the exponential decay rate; i.e. the "B" in "A exp(-Bx)". You may draw a graph for the T1 values or export the data as text, and you can choose to create a dedicated T1 list by pressing [Make T1 List] - make sure you do this for the next stage. This simply records the T1 values (as indicated by the |Time Constant| column) in a list of NMR measurements that are saved when your CCPN project is saved. Accordingly this data may be looked at at any time in the future (and even deleted) by selecting M: Data Analysis: Measurement Lists and selecting the T1 row then [Show Measurements].

T1 vs T2 Macro

Finally, we will look at loading an external module to analyse the relaxation data further. We will be using the "Macro" system in Analysis, which is a means of importing and running modules that manipulate the CCPN data using Python scripts. Here we will be loading in a Python script that plots the newly calculated T1 values against the T2 values so that we might have some idea about the relaxation properties of the molecule; in this instance we will get a visual clue about order parameters and molecular correlation time. For this exercise it is perhaps more important that you understand the idea of how Analysis can be expanded in this manner, rather than learn the specific details of this module (which is actually a work-in-progress). If you want to know more about programming for CCPN, see the examples at http://www.ccpn.ac.uk/v2-software/software/tutorials/python-api-course.

If you don't already have the Python script you can download it at relaxationAnalysis.py.

From within Analysis go to M: Macro: Organise Macros and in the resulting popup click [Add Macro] at the bottom right corner. You will then be presented with a file browser where you need to navigate to the location of the saved Python script "RelaxationAnalysis.py". When you finally click on the row of the Python file in the top file table you will notice that the lower table is filled in with all of the subroutines (functions) that are available within the Python module. Select the first function in the table called "relaxationAnalysisMacro" and then press [Load Macro] at the bottom. After a short pause the new module will be loaded and the selected function will appear at the bottom of the Macros table; so you may need to scroll down to see it. In the row for the new macro double-click in the |In main menu?| column so that it becomes a green "yes" (or purple if highlighted), and then close the popup.

The newly loaded Python script is now available from inside Analysis via the main menu, i.e. at M: Macro: relaxationAnalysisMacro. Select this option and see what it does (Note on some systems you may have to resize the popup to see the plot):