| Felix User Guide |


Felix also includes a number of built in data filters for common spectrometer data formats. These built in filters all convert data to the Felix new format. The following built in data filters are available:
All of the data filters require that the spectrometer data files be kept in their native form. For example, the X32 data filter for Bruker data expects to see the same file and directory structure that exists on the spectrometer. The Bruker "data file" will actually be a directory containing subdirectories with experimental and processed data files. When the spectrometer data is transferred to the Felix workstation, this entire directory structure must remain unchanged. One way to ensure that the directory structure remains unchanged is to first make a tar file of the desired data directories on the spectrometer. This tar file can then be transferred to the Felix workstation using ftp in binary mode. Note that it is important to transfer the data in binary mode to avoid corrupting the data. Once the data has been transferred you can untar the data to recreate the same directory structure as that which existed on the spectrometer.
.dat) can then be directly read by Felix.To invoke the data conversion routines, you select the File/Convert/Data command. This command brings up a pullright menu of the different spectrometer data formats that Felix can convert. Once you select the specific type of spectrometer data from the pullright, you are presented with a menu which asks you for information about the location and name of the input and output data files.
For the input data you specify the name of the Input File to convert. This Input File can be an individual file (as in the case of Bruker Aspect data) or a directory (as in the case of Bruker X32 or Varian data). When the data consists of a directory of information (such as with Bruker X32 data or Varian data) then the Input File will be a directory name containing the spectrometer data to be converted. You specify the location of the Input File by entering the relative or absolute path in the Data Prefix parameter. Be sure to include a trailing slash in the path designation. The Data Prefix is prepended to the Input File name to specify the exact location of the data. If the Input File is located in the current directory, then you can set Data Prefix to "./".
Output data requires that you specify both the Output File and the Data Prefix. The Output file will be the name of the new data format Felix file produced. This file is often given a
.dat extension to identify it as a Felix data file. As with the Input File, the Data Prefix specifies the location of the Output File to be written. Once again, be sure to include the trailing slash in the Data Prefix. Note that Bruker X32/DMX data has a directory structure in which multiple experiments and processed data sets can be stored under the same file name. In order to indicate which set of experimental and processed data you wish to convert, you need to specify a number for both the Experimental and Process data subdirectories. This number will be an integer which indicates the name of the Experimental and Process data subdirectories you wish to use for the conversion.
The last thing to specify when converting data is whether or not you wish to byte swap the input data. If the spectrometer computer and the workstation computer use different byte orderings then set the Byte Swap Input Data parameter to on. This would be the case if, for example, the data was collected on an X32 computer and then transferred to an SGI computer for analysis. If the spectrometer computer and the workstation computer have the same byte ordering then set the Byte Swap Input Data parameter to off. This would be the case, for example, between an SGI/DMX computer and an SGI workstation. If you are not sure how to set this parameter try both settings. The incorrect setting will produce an error message or an FID which looks like noise. The correct setting should produce a valid-looking FID. Once you have determined the correct setting, you can use it for all subsequent transfers between the same spectrometer/computer combination.
The procedure for converting data is the same for 1D, 2D and ND data. In each case, a single new format Felix data file is produced. In the case of 2D or ND data, the file produced contains multiple 1D data files.
You can check the data by reading it using the File/Open command. If you set the file Dimension parameter to 1D, then each time you read the data, Felix loads the first data file from the multi-dimensional data set. If you set the file Dimension parameter to ND, each time you read the data, Felix loads the subsequent data file in the multi-dimensional data set. For 2D and ND data, it is a good idea to check at least the first few data blocks to make sure the data has been converted properly.
.par) file corresponding to 2D processed data sets. Similarly, using a macro called sv3dpf, you create a parameter (.par) file corresponding to 3D processed data sets. Each of these macros is provided below, and both must be run by VNMR (that is, Varian processing software). Keep in mind that these two macros are located in the Felix gifts/VARIAN/matrix/ directory and must be transferred to the VNMR macro library directory before they can be run by VNMR.When you specify that you want to import a Varian spectrum and provide the filename for that spectrum, Felix automatically searches for a corresponding
.par file, and converts the data in that file into Felix matrix format. If Felix does not find a .par file with the same root name as the spectrum filename that you specified, the application displays a dialog box and prompts you to enter spectral parameters manually.If you are importing a 2D spectrum, you must rename the phase file to a name that corresponds to the root name of the
.par file. For example, if you use the sv2dpf macro to create a file called test.par, you must rename the phase file to test.
"sv2dpf - save 2d phasefile"
"usage: sv2dpf (basename)" " $# is the number of input arguments. It must be greater than zero. "
if ($# < 1) then
write ('error','usage:sv2d(filename)')
return
endif " If the file already exists, delete it. "
exists ($1,'file') : $e
if $e then
rm($1)
endif "Flush the phasefile completely from memory"
write ('line3', 'saving raw data to disk')
trace='f1' dcon flush
trace='f2' dcon flush " Create the text file with suffix .par containing parameters of the data"
$parfile=$1+'.par'
write ('line3', 'saving parameters to disk')
write ('reset', $parfile)
write ('file', $parfile, '%d %d %d',ni,np,0)
write ('file', $parfile, '%10.1f %10.1f %10.1f',sw1,sw,0)
if (tn=dn) then
$frq1=sfrq
else
$frq1=dfrq
endif
write ('file', $parfile, '%10.1f %10.1f %10.1f', $frq1, sfrq, 0) " We are finished writing the parameters"
write ('line3', 'Data written to %s and %s', $1, $parfile)
.par file corresponding to each plane by using the sv2dpf macro (described above). The sv3dpf macro is as follows:
"sv3dpf - save 3d phasefile"
" usage: sv3dpf(basefilename,orientation)"
" where basefilename is the basic filename; to that will be appended"
" '.orientation' to indicate the orientation and"
" '.xxx' to indicate the index"
" orientation is 'f1f2','f1f3', or 'f2f3'" if ($#<2) then write('error','improper arguments') return endif
if ($2='f1f2') or ($2='all') then "save f1f2 data"
$i=1
repeat
select('f1f2',$i)
trace='f1' dcon flush
trace='f2' dcon flush
format($i,0,0):n1 length(n1):$len
if ($len=2) then n1='0'+n1 endif
if ($len=1) then n1='00'+n1 endif
copy(curexp+'/datdir/phasefile',$1+'.f1f2.'+n1)
$i=$i+1
until $i>(fn/2)
endif if ($2='f1f3') or ($2='all') then "save f1f3 data"
$i=1
repeat
select('f1f3',$i)
trace='f1' dcon flush
trace='f3' dcon flush
format($i,0,0):n1 length(n1):$len
if ($len=2) then n1='0'+n1 endif
if ($len=1) then n1='00'+n1 endif
copy(curexp+'/datdir/phasefile',$1+'.f1f3.'+n1)
$i=$i+1
until $i>(fn2/2)
endif
if ($2='f2f3') or ($2='all') then "save f2f3 data"
$i=1
repeat
select('f2f3',$i)
trace='f2' dcon flush
trace='f3' dcon flush
format($i,0,0):n1 length(n1):$len
if ($len=2) then n1='0'+n1 endif
if ($len=1) then n1='00'+n1 endif
copy(curexp+'/datdir/phasefile',$1+'.f2f3.'+n1)
$i=$i+1
until $i>(fn1/2)
endif
.par) file. Keep in mind that the name of this file must correspond to the name of the spectrum that you want to import. The following table lists the contents of the .par file:
You need not have a fourth line in the
.par file to import a Varian spectrum. However, you can add this line if either flags to define spectral zooming or the range of PPM along the tier dimension for 3D data appears..par file is as follows. Keep in mind that the order of the values in the first three lines of the .par file varies depending on which set of planes is being read. That is1. For sv3d generated f1/f3 planes (where f2 is the tier dimension)
:
f3
f1
f2
1st line:
fn/2
fn1/2
fn2/2
2nd line:
sw
sw1
sw2
3rd line:
sfrq
(dfrq)
(dfrq2)
2. For sv3d generated f2/f3 planes (where f1 is the tier dimension)
:
f3
f2
f1
1st line:
fn/2
fn2/2
fn1/2
2nd line:
sw
sw2
sw1
3rd line:
sfrq
(dfrq2)
(dfrq)
3. For sv3d generated f1/f2 planes (where f3 is the tier dimension)
:
f2
f1
f3
1st line:
fn2/2
fn1/2
fn/2
2nd line:
sw2
sw1
sw
3rd line:
(dfrq2)
(dfrq)
sfrq
Notice that a space is used as a delimiter in all the examples. You should also be aware that because only a few pulse sequences use the second and third channel for the f1 and f2, respectively, the location of dfrq and dfrq2 will rarely be in the correct position. Therefore, you will need to add the correct spectrometer frequency. You can use the `axis' parameter in VNMR to determine the correct spectrometer frequency for all three axes.
Other conversion options
In addition to the above choices, there are a number of gift filters that are supplied with the software. These filters can be found in the $BIOSYM/gifts/felix directory. These programs are not supported by MSI. For more information about these programs, see the README files in the various directories and see also Appendix D, Data Transfer and Conversion.
In Felix there is a quick access menu which is connected to the right mouse button. This menu is intended to be the major customization point for the user. Certainly you may rewrite the whole user interface, but just changing this menu and macro will allow your favorite commands to be easily accessible. The necessary changes are described in the following. You need to copy the following file into your working directory to customize the macro connected right mouse button:
Task: Modifying the quick access menu
root.mot ... mouser NULL NULL NULL NULL NULL NULL mouser.motYou can change the last line from mouser.mot, to e.g.:
mymouser.motThen in your current working directory you can create a new file called
mymouser.mot. For the sake of example we create a right mouse macro with the first item to draw a 1D file and the second, third and fourth items to define the plotting parameters:

The Felix-Insight II interface capabilities encompass three general categories: starting Felix automatically from within the Insight II/NMRchitect program, sharing data between the two programs, and using the Insight II environment to display molecular structures. Each of these capabilities is discussed more fully below.
When both Felix and Insight II are running on your computer, each has a display window open on your screen. To switch from one program to the other, simply mouse click on a window's header to pop that window to the front.
At program start-up, both Felix and Insight II automatically attempt to establish a socket connection, which can be thought of as a channel for communication between the two programs. A limitation of this UNIX facility is that the connection is always made for the first instance of each program currently running on that computer. This means that if another user in your group is already running Felix on the same machine which you start up Insight II and Felix on, then Insight II will make the socket connection to the other user, because his Felix socket request was made before yours. To assure an appropriate connection between Felix and Insight II, first make sure no one else is running either program on your computer when you initiate your session. Once the socket connection is made, other users may run additional copies of the Felix and/or Insight II software without disrupting your connection.
The socket connection between the two programs works differently in some cases, depending on whether Felix has been started separately or from within Insight II/NMRchitect. The Insight II/NMRchitect program can only connect to Felix if Felix is started from within Insight II/NMRchitect. Felix, on the other hand, can connect to Insight II/NMRchitect whether Felix is started separately or from within Insight II, as long as the NMR_Refine module is currently running.
For the Felix and Insight II programs, there are three categories of data that must be shared between the two programs: cross peak data, molecular coordinate data, and NMR-based molecular refinement restraint data. Each of these data classes is stored and used differently by the two programs, yet all still need to be communicated back and forth as seamlessly as possible. Each of these data types and the manner of sharing them between Felix and Insight II is discussed more fully below.
After Felix has generated cross peak information, you can export this data to the Insight II program, for use by NMRchitect. Within Insight II, cross peak volume, assignment, and chemical shift information is stored within four separate ASCII files:
After you have read the Felix database into Insight II, the NMR_Refine module posts a Read_From_Felix icon in the upper left corner of the Insight II display. Clicking this icon performs subsequent Felix/Read_From_Felix commands. It uses the same entity, file, and project names that you previously specified. This icon is useful for passing cross peak data back and forth between the two programs, as it automatically performs both halves of the data transfer; first exporting Felix database files, then reading those files into NMRchitect, all in a single step (with no dialog boxes to fill in).
To create cross peak files with NMRchitect, select the Felix/ Write_To_Felix command from within the NMR_Refine module. To read these ASCII files into Felix, you next select the File/Import/Restraints command from the Felix display. This generates a dialog box that prompts you for file and directory names for the files to be read in, and for a matrix name and entity names for storing these peaks into the Felix database.
After you have written the Insight II database to Felix, the NMR_Refine module posts a Write_To_Felix icon in the upper left corner of the Insight II display. Clicking this icon performs subsequent Felix/Write_To_Felix commands. This command uses the same entity, file, and project names as previously specified. The icon is useful for passing cross peak data back and forth between the two programs, as it automatically performs both halves of the data transfer in a single step: exporting NMRchitect database files, and reading those files into Felix (with no dialog boxes to fill in).
.car or .mdf file is required) or in X-PLOR PDB format. Note that the molecule read into Felix has its atom names preserved as Insight II type names. Thus, when building the Felix database information from scratch, you should use the Insight II naming convention. This is especially true if the database assignment information is going to be used for direct comparison to molecular structures.For more information about Model, please see Chapter 9, Model Interface.
pks, .ppm and .asn files that correspond to IRMA generated data. The default values in the dialog box are set when data is passed from Insight II to Felix. Note that this procedure is exactly the same as that for reading in experimental cross peak information from the Insight II database. When importing Insight II files into Felix, you must specify a reference matrix. In addition, you must indicate which peak and volume entities to use for storing cross peak information within Felix. You can access and display the IRMA files by selecting the Model/Draw Theoretical command, and entering names of the cross peak and volume entities where the theoretical NOE data is stored.After loading the Felix database with the appropriate entities, that data must be scaled to match the experimental cross peaks for direct comparison - the program will prompt you for a scalar peak or you can use later the Model/Set Scale command. This prompts you for an unique assignment name or you are given a cursor to graphically select a cross peak footprint, which must be in both your experimental database and your back-calculated database.
For a more detailed description of the Model module, please see Chapter 9, Model Interface.
Felix reads and writes .
rstrnt files as part of the commands that import and export data between the two programs. Every time cross peak information is shared between Felix and Insight II, all restraint information is also shared.While Insight II uses an ASCII file to store restraints, Felix uses a set of database entities. When Felix imports restraints from Insight II, it creates entities to store them. If Felix is used to generate NMR-based restraints, these are also stored in database entities. When Felix exports restraints to Insight II, it writes all the restraint entities to a new .
rstrnt file, which is subsequently read into Insight II. Note that all restraint categories are preserved during this sharing of data between the two programs.You use the commands in the Measure/DISCOVER Restraints or Measure/X-PLOR Restraints in Felix to calculate NMR restraints, and to create entities of volumes (NOE-intensities), distances, and 3J dihedrals. If you then export the Felix database to Insight II, you are ready to do structure generation or refinement against those NMR restraints using NMRchitect.
As Felix is an NMR processing software package, it is understandable that its molecular display and analysis capabilities are rather primitive. For this reason, Felix is set up to perform all molecular display and analysis in the Insight II program, while keeping the NMR display and analysis within Felix.
The Model/Setup/Connect command can be used to toggle the Insight II window for molecule display. The Model commands work as described in Chapter 5, Model Interface, but all commands that display or analyze molecular coordinates are performed by Insight II, and appear in the Insight II window instead of the Felix window. This gives you seamless access to the more advanced molecule rendering features of Insight II, using Felix for NMR display and analysis and NMRchitect for NMR-based structure determination. Working together, these software tools provide more functionality than either program by itself.
Felix provides a comprehensive set of tools for processing, displaying, and analyzing NMR data. This section outlines ways to use the menu interface for processing and analyzing your one-dimensional (1D) NMR data. For information on converting your data files into a format that can be read by Felix, please see Task: Importing data, and Appendix D, Data Transfer and Conversion.
Task: Working with 1D data
Reading data files
Felix reads two distinct file formats of its own; you must tell the program what format your data is in for it to be interpreted correctly. The `old' Felix data format (the format that is read using the re command) is the format that most of the current public domain and commercial reformatting programs generate. While this data format works perfectly well on any given computer, data of this type cannot always be transferred between different types of computers due to byte order differences. The new format was designed to provide increased portability for Felix files (use the rn command to read these files). Files written in the new format can be transferred via ETHERNET without conversion.The built-in Felix data filters create all new-format files.
Sample task:
As an example of reading in a sample data file, copy the 1D data file sample.dat from the $BIOSYM/tutorial/felix directory to your current directory. Note that this file is only accessible on your system if you installed gifts and tutorial files during your Felix installation. Otherwise, you must either copy the files you need directly from the gifts and tutorials CD, or do a new installation, this time installing the gifts and tutorial files for Felix. Once you have copied the sample data file to your current Felix directory, try reading it into Felix using the File/Open command.
Saving data
In some instances, you might want to save the data to disk as a permanent record. For example, you can save a fully processed spectrum to a file so you can display it quickly without re-transformation. To do this, you select the File/Save As command. You must supply a file name: the data will be saved in Felix new format. If the file already exists, you are prompted to quit or overwrite the file.
Displaying 1D spectra
The most common way to manipulate displays is to access the View pulldown. View contains a series of commands designed to manipulate the display of 1D data. To redraw the current workspace, select the View/Plot command.
Changing 1D limits
The View/Limits/Set Limits command allows you to choose spectral limits in real time. When you select this menu item, a crosshair cursor appears. Move this cursor to the region you want to expand, push and hold down the left button on your mouse, drag out the region for expansion, and then release the mouse button.
Buffers are accessed with the Tools/Buffers command. For example, to store the current information to a buffer, select the Tools/Buffers/Store Work to Buffer command, and enter the buffer number in the dialog box. To visualize this information, you must change the stack depth to include the buffers that you want to visualize. The Tools/Buffers command contains many additional options that allows you to manipulate the contents of the buffers.
The Absolute Intensity parameter also affects the appearance of the stack display. This parameter is used to set the scale factor for all data in the window to the same value so that data intensities can be directly compared. When this parameter is set to No, all data in the stack is scaled to fill the available space. If this parameter is set to Yes, all data is scaled to the last spectrum drawn in the workspace. Enabling this switch is useful for displaying difference spectra, where the full spectrum and the difference can be compared on the same scale.
To reference a one-dimensional spectrum, select the Preference/Reference command, which prompts you for the referencing information using the REFERENCE 1D DATA dialog box. The Spectral Frequency and Spectral Width parameters must be set to the values of the spectrometer frequency in MHz, and the spectral width in Hz. You can enter the Reference Point value either by typing it into the dialog box or by clicking the Cursor button of the dialog box, causing Felix to display a vertical cursor, moving the cursor to the desired reference point on the plot, and clicking the left mouse button. At this time the REFERENCE 1D DATA dialog box reappears. Now enter the reference value in the appropriate parameter field--for axis units of Hertz, enter a reference value in the Reference Hertz field, for ppm units, enter a reference value in the Reference PPM field. When you are finished, click the OK button to close the dialog box and redisplay the data with the selected axis units.
A second application of linear prediction to NMR data is to extend an FID. This is useful for experiments in which the data collection ceased before the signals completely decayed; that is, the FID is truncated. In this case, the data values of the FID are used to estimate new data values that are appended to the end of the FID.
The Process/Transform/Linear Predict First command uses linear prediction to replace data values at the beginning of the FID. Selecting this command displays a dialog box. In the dialog box you indicate the Points to use in the predication (the points that are used to calculate the coefficients) the Number of Coefficients and the Number of Peaks. The Points to use parameter defines the number of points used to calculate the LP coefficients. The Number of Coefficients parameter specifies the number of LP coefficients that are calculated. The Number of Peaks parameter is left in for compatibility with existing macros, but is not used in the current LP implementation.
The length of time taken by an LP calculation is determined in large part by the number of data points that are used to determine the LP coefficients. In general the quality of the LP calculation also increases with the number of data points used in the calculation. It therefore necessary to carefully pick a value for the Points to use parameter that is large enough to produce accurate predicted data values but that does not unduly lengthen the time taken by the LP calculation. The value for the Number of Coefficients parameter is generally set to be one-quarter to one-third of the Points to use parameter.
The Process/Transform/Linear Predict Last command uses linear prediction to replace data values at the end of the FID, and can also be used to extend the FID. Conventional linear prediction works well when the data is being extended by a small fraction of the number of points. However, when the number of data points is being extended by a large fraction (e.g., doubling the number of points), the predicted data can contain signals with increasing amplitude due to the effect of noise on the predicted LP coefficients. The net effect can be an FID with increasing (as opposed to decreasing) amplitude as a function of time. To prevent this, Felix allows the option of using Root Reflection when predicting data. Root Reflection ensures that the calculated frequency components will decay as a function of time, and thus more accurately reflect the correct physical nature of an FID. Using Root Reflection increases the time needed to perform the LP calculation, but the predicted points are more representative of a true FID. Root Reflection is essentially required when predicting large numbers of data points, to avoid having noise components with increasing amplitude dominate the predicted FID at longer time values.
Felix allows great flexibility in how the LP calculation is performed. By default the Process/Transform/Linear Predict Last command is used for extending the data but it also allows you to specify exactly which points you would like to use in the LP calculation and which points you would like to predict. The method used to perform the LP calculation is specified by the user and the available choices are Forward, Backward, Forward-Backward and Mirror Image. The Forward method of linear prediction is what was used in previous versions of Felix. The Forward-Backward technique (Zhu and Bax 1992) is a new method which performs both a Forward and a Backward calculation on the data. The resulting LP coefficients are then averaged to produce a more accurate set of LP coefficients than either the Forward or Backward method could produce when used alone.
The Forward-Backward method is a very robust and generally applicable technique that does not require any prior knowledge of the FID. Mirror Image Linear Prediction is a method by which predicted data at negative time values are used in the calculation. This technique allows a larger number of LP coefficients to be calculated and hence is very useful for severely truncated data. Utilizing the Mirror Image technique the Number of Coefficients parameter can be increased to between one-half and two-thirds of the Points to use parameter. The Mirror Image technique requires prior knowledge of the phase of the data and non decaying signals. Because of these restrictions the Mirror Image technique is used primarily for severely truncated indirect dimensions of N-dimensional data sets when there is a need to calculate a larger number of LP coefficients than would be possible with the Forward-Backward method. The Mirror Image method includes options for data collected with no sampling delay and data collected with a one-half dwell time sampling delay.
Linear-Prediction-Based solvent reduction is accessed by choosing the Linear Prediction as the Method. In this command the LP algorithm is used to estimate and remove contributions from the most intense components in the spectrum. This command works well when the intensity of the solvent signal to be removed is much larger than the other signals that are present.
Convolution-Based solvent reduction is accessed by selecting the Time-Domain Convolution from the Method popup in the Process/Solvent Suppression command. In this command a convolution is done to first identity the lowest frequency components that are present and then these components are subtracted from the data. This command is very useful as long as the solvent signals to remove are present at the carrier frequency.
Polynomial-Based solvent reduction is accessed by selecting the Polynomial item from the Method popup in the Process/Solvent Suppression command. In this command a polynomial is fitted to the data and the resulting function is subtracted from the time domain data. This command works best when the solvent resonance is close to zero frequency.
Felix offers two methods to selecting window function parameters--you can enter the parameter values directly or you can adjust them interactively. The Process/Window Function command allows you to select a window function and adjust its parameters interactively while Felix displays plots of both the window function and the product of the FID and window function. Felix can also display the spectrum rather than the FID and window function product, while you adjust the window function parameters. This command is extremely useful in determining which window function is appropriate for your data.
You also can specify explicitly a window function and its parameters in this command. When you know exactly the window function that you want to use, including its parameters, this command lets you apply it quickly and precisely.
| wsize | (slider) adjusts the number of data points for the window function. |
| wshift | (slider) adjust the phase shift of the window function. |
| wsize | (slider) adjusts the number of data points for the window function. |
| wshift | (slider) adjusts the phase shift of the window function. |
| wsize | (slider) adjusts the number of data points for the window function. |
| wshift | (slider) adjusts the phase shift of the window function. |
| wskew | (slider) adjusts the skew of the window function. |
| wsize | (slider) adjusts the number of data points for the window function. |
| wshift | (slider) adjusts the phase shift of the window function. |
| wskew | (slider) adjusts the skew of the window function. |
| lbroad | (slider) adjusts the line broadening parameter for the exponential. |
Gaussian linebroadening
Gaussian linebroadening is another popular window that changes not only the line width, but also the line shape. Gauss/Lorentz multiplication modifies the value of the first point of the FID, and hence the value of the integral. Gauss/Lorentz is commonly used for resolution enhancement, and changes the line shape to be partly Gaussian. Gaussian lines have narrow tails, and yield a nicer-looking spectrum. This window is appropriate for cosmetic resolution enhancement, but the line widths and line shapes are no longer natural. Gaussian multiplication also alters the integral of spectral lines, and differentially reduces the integral of broad lines with respect to narrow lines. While a spectrum with Gaussian line shapes looks great, you must use caution if you attempt to integrate too, since the integral is affected by the line shape. For more detailed information, please refer to the gm command in the Felix Command Language Reference Guide.
| lbroad | (slider) adjusts the line broadening parameter for the exponential. |
| gbroad | (slider) adjusts the Gaussian parameter for the exponential. |
Kaiser
The Kaiser window is a function by Hamming (1989). This window is useful for apodizing data that are truncated. For more detailed information, please refer to the kw command in the Felix Command Language Reference Guide.
| wsize | (slider) adjusts the number of data points for the window function. |
| alpha | (slider) adjusts the alpha parameter of the Kaiser window. |
Trapezoidal
The Trapezoidal function multiplies the data in the workspace by a window that rises from zero at the first point up to one at <p1>, is equal to one from <p1> to <p2>, and falls to zero from <p2> to <p3>. For more detailed information, please refer to the tm command in the Felix Command Language Reference Guide.
| p1 | (slider) adjusts the first point of the trapezoid. |
| p2 | (slider) adjusts the second point of the trapezoid. |
| p3 | (slider) adjusts the third point of the trapezoid. |
Fourier transforms
The advantages of applying a pulse to the nuclear spins and collecting the resulting transient--advantages that range from improving the signal to noise ratio, to making possible forbidden detection of multiple quantum coherence--have made this NMR technique predominate. Thus the Fourier integral transform is central to modern NMR data processing because it transforms the transient from the time domain into the frequency domain, thereby yielding a spectrum.
Phasing
After Fourier transformation, a spectrum frequently appears to be out of phase--that is, the resonance lines appear to be a mixture of absorptive and dispersive shapes. This is due to a number of factors including finite pulse lengths, acquisition delays, and analog filter response. NMR spectra can be phase corrected after transformation by multiplying each data point value pair by a phase factor.
Correcting baseline distortions
An NMR spectrum can exhibit substantial baseline distortions that arise from non ideal experimental conditions. Such distortions can interfere with the analysis of the spectrum, for example peak picking and integral calculation, so they must be minimized. Fortunately, most baseline distortions can be minimized easily. This is accomplished by first identifying a set of points on the spectrum that are free of peaks. These points are called baseline points. Next a smoothly varying function is fitted to the set of baseline points; this function is expected to closely approximate the baseline distortion. Finally, at each point, the value of the smoothly varying function is subtracted from the data value in the work space, thereby removing the baseline distortion from the spectrum.
Baseline point entities and files
Felix uses an integrated database for storing spectral information, including the identities of selected baseline points. By default, the name of the baseline point entity is bas:baseline; however you can change this name. In fact, if you want to retain the baseline points stored in the current entity while you pick a new set of baseline points, you must change the entity name. To change the name of the current baseline point entity, select the Preference/Table command. If you want to change the name, enter the name of either a new or existing baseline point entity and click OK.
Spectral display for baseline correction
When baseline correcting spectra, it is often necessary to try several sets of baseline correction points and functions before a spectrum can be baseline corrected satisfactorily. This is especially true if it is difficult to define baseline points due to spectral crowding. For this reason, we highly recommend that you save your spectrum by selecting the File/Save As command prior to applying any baseline correction function.
Adding and deleting baseline points
In the Process/Baseline Correction command brings forth a menu of the available choices for adding and deleting baseline points. First you have to select the Baseline Points radio button. Then in order to define the baseline points, select either the Auto Pick Points or Auto Pick Points w/FLATT option from the popup. This generates a list of baseline points automatically. Display markers for each baseline point picked in the spectrum are shown at the bottom of the current spectrum.
Applying baseline correction functions
Once the baseline points are defined, you can choose one of two different baseline correction algorithms. The cubic spline algorithm, applied by selecting for Baseline Correction the Cubic Spline option in the Process/Baseline Correction command, generates a baseline that passes exactly through each baseline point. For this reason, a cubic spline may yield a kinked baseline if the defined baseline data points are close together and noisy.
Real-time baseline correction
The Felix real-time baseline correction feature lets you adjust the coefficients of a polynomial baseline function while displaying both the resulting baseline function and baseline corrected spectrum in superposition. You access the real-time baseline correction feature with selecting for the Baseline Correction the Real-Time Polynomial option in the Process/Baseline Correction command.
Automatic baseline flattening
Note that the baseline correction commands above all require the existence of a set of baseline points prior to execution of the command. In contrast, the following two baseline correction methods do not need pre-defined baseline points. Instead they generate their own determination of what constitutes the baseline.
Miscellaneous work tools
Felix contains a number of commands that affect frequency domain spectra in the workspace. While most of these commands are directly related to the transformation of multi-dimensional spectra, a number of them affect the processing of one-dimensional data. To access these tools, select the Tools pulldown.
Picking 1D peaks or resonances within Felix is performed using the commands within the Peaks pulldown.
Task: 1D peak picking and integration
1D peak entities and files
Felix uses an integrated database for storing spectral information, including the identities of picked peaks. By default, the name of the 1D peaks entity is pic:1d_picks; however, you can change this name. In fact, if you want to retain the 1D picked peaks stored in the current entity while you pick a different set of peaks, you must change the entity name. To change or view the name of the current 1D peaks entity, select the Preference/Pick Parameters command. A dialog box appears with the name of the current 1D peaks entity displayed in a the Peak Pick Table field. If you want to change the name, enter the name of either a new or existing 1D peaks entity and click OK.
Working with picked peaks
The first parameter you need to define before picking peaks is the threshold value. To do this, you select the Preference/Pick Parameters command, choose for the Threshold Value parameter Cursor and hit OK button. Move the cursor so that the horizontal half-crosshair is located at the level of the smallest peak you want to pick, and then click the left mouse button. The dialog box will come back with the newly set threshold. Accept it by hitting the OK button.
1D line fitting
Felix offers a powerful line fitting interface for deconvolution of complex spectra into individual peaks, which are described by an analytic function of intensity, linewidth, and frequency. These functions allow precise integration of peaks individually.
Integration
Peak integration of a spectrum gives information about the relative number of spin species. Accurate integration is an important part of 1D data analysis. The integration options are in the Measure/Integral/Volume command. At this point, remember that the spectrum's baseline must be flat in order for you to obtain an accurate integral. So, before you calculate integrals, be sure to perform baseline correction on your spectrum.
Segment entities and integral files
Felix uses an integrated database for storing spectral information, including the identities of selected integral segments. By default, the name of the integral segment entity is seg:segments; however, you can change this name. In fact, if you want to retain the integral segments stored in the current entity while you pick a new set of integral segments, you must change the entity name. To change the name of the current integral segment entity, select the Preference/Table command. If you want to change the name, select Integral Segments for the Table Type parameter and enter the name of either a new or existing integral segment entity and click OK.
Spectral dIsplay for integrals
When integrating spectra, it is often necessary to try several permutations of integral segments and normalization before a spectrum can be integrated satisfactorily. This is especially true if it is difficult to define segments or baseline points due to crowding. Toward this end, Felix provides the keypad navigation tools to quickly change displayed regions, as well as the Slope and Bias option in the Measure/Integral/Volume command, that you can use for manipulating integrals in real time.
Defining and deleting integral segments
Integral segments must be defined by the user. To define the segments, select the Add Segment option in the Measure/Integral/Volume command. Integral segments are added by dragging out a segment region using a click-drag-release of the mouse. As long as you select a valid region within your spectrum, you can add additional segments without reselecting the Measure/Integral/Volume command. To exit this mode, click outside of the spectrum.
Adjusting integral slope and bias
For some spectra, it is impossible to accurately define baseline points. By selecting the Slope and Bias option in the Measure/Integral/Volume command, you can adjust these parameters in real-time using sliders. Note that if the baseline is significantly distorted, even adjusting the slope and bias may not be able to generate correct integral shapes. By adjusting the slope and bias, you are able to dial an integral value to anything you want. Thus use these adjustments cautiously.
Integral normalization
Felix provides the ability to normalize the integral of any segment of the spectrum to an arbitrary value. There are four different normalization options available under the Measure/Scalar/Normalize command. After normalization, the volume element in the integral segment entity is updated to the normalized value.

General processing steps
Multi-dimensional data is processed and stored by the Felix program using matrix files. Matrix files are designed to allow easy access to and manipulation of the individual vectors that compose the data. In fact, virtually all N-dimensional processing is a repeated process of loading a vector out of the matrix into the workspace, processing that one vector, and then storing that vector back into the matrix. Therefore the next step in multi-dimensional processing is to build a matrix file which will be used to hold the N-dimensional data.
Processing the D1 dimension using macros
The following macro shows an example of how to process the D1 dimension of a 2D data set. This sample macro is appropriate for either States or TPPI data. Note that the line numbers are for reference only and are not included in the actual file.
1 c**simpled1.macLines 3-7:
2 ;
3 def datfil `my2dfile.dat'
4 def matrix `my2dfile.mat'
5 def d1zfil 2048
6 def d2zfil 2048
7 def numd1 512
8 ;
9 cmx
10 bld &matrix 2 &d1zfil &d2zfil 0 y
11 mat &matrix w
12 ;
13 def temph0 -63.7941
14 def temph1 -130.5324
15 ;
16 def datsiz &d1zfil
17 def datype 1
18 set 1
19 ss 2048 60
20 stb 1
21 ;
22 ; D1 processing
23 ;
24 ty D1(t2) Processing.
25 ty ---------------------
26 ;
27 cl
28 for row 1 &numd1
29 esc out
30 if &out ne 0 quit
31 rn &datfil
32 if &status ne 0 eof
33 def phase0 &temph0
34 def phase1 &temph1
35 def datype 1
36 bc 0.2
37 lpf 32 16 8 1
38 cnv 0 48
39 mwb 1
40 ft
41 ph
42 red
43 sto 0 &row
44 ty Row=&row $
45 next
46 eof:
47 if &status ne 0 then
48 def status 0
49 ty End-of-file on record &row
50 eif
51 ty D1(t2) transform completed.
52 ty --------------------------------
53 quit:
54 cmx
55 def status 0
56 ret
57 end
These lines define a series of symbols whose values determine how the data processing is to be performed. Note that it is not necessary to define these symbols separately in the beginning of the macro. You can choose to enter processing specific parameters on the individual command lines. However, grouping important symbol definitions in the beginning of a macro tends to remind the user which parameter values may need to changed for different processing sessions.
Lines 9-12:
The cmx command is used to close any open matrix files. Then the bld command is used to create an empty matrix file of the appropriate size. The zero in the bld command line indicates that the matrix to be created will be real. Most multidimensional data processing is done with real matrix files. The mat command is then given to open the matrix that was just created with write access.
Lines 13-14:
These two lines define a pair of symbols (temph0 and temph1) which are used to store the zero and first order phasing parameters. It is necessary to store the desired phasing parameters in temporary symbols because later when the input data files are read in the phase0 and phase1 symbols will be overwritten by the phasing values that have been stored in the input data file.
Lines 16-20:
This section of the macro illustrates how to set up an apodization function in buffer 1. Then later in the processing loop section of the macro each FID will be multiplied by the contents of buffer 1. This is a more efficient method of doing the apodization compared to recalculating the appropriate apodization function for each FID. The first couple lines define the datsiz symbol to be the appropriate number of complex data points and the datype symbol to one which indicates complex data. The set command then sets all the real values in the workspace to one. The appropriate apodization function is then performed and the result is stored in buffer 1.
Lines 24-25:
These lines print out a message to the textport that the D1 processing loop is about to begin.
Line 27:
The cl command is used to close any open data file. This ensures that a subsequent read command (re or rn) will read the first record of the data file.
Lines 28-45:
This section of the macro forms the main processing loop. This loop is executed once for each data file in the input data set.
Lines 29-30:
These two lines of code show how the esc command can be used to allow the user to interrupt a macro during execution. Note, that this checking will slow down the processing, therefore you may want to consider not to use it. Also, there is another possibility in Felix to stop a macro execution--hitting the <Ctrl> and \ keys together will stop macro execution. The esc command monitors keyboard input for the escape character. When the escape key is pressed the user defined symbol (in this case the out symbol) is set to one. An if statement then transfers control out of the loop when the out symbol is no longer equal to zero.
Lines 31-32:
These two lines read the next data set from the input data file and check the status of the read command. The re command is used to read old format data and the rn command is used to read new format data. If the read command is successful the status symbol is set to zero. If the read command is not successful because for example the user attempted to read more data sets than were present in the input data file then the status symbol will be set to a non-zero value. If the read is not successful then control transfers to outside the loop.
Lines 33-34:
These two lines make sure that the phase0 and phase1 symbols which are used by the subsequent phasing command (ph) are set correctly based on the saved phasing parameters (temph0 and temph1). This is necessary as stated above because when a read command is given (re or rn) the phase0 and phase1 symbol values will be overwritten with the phasing values that are stored in the input data file.
Line 35:
This line sets the datype symbol to one which represents complex data. This is required so that subsequent processing operations will operate properly.
Lines 36-41:
These are the main processing steps. The data is baseline corrected, first point is corrected, solvent is removed, apodized, ft'd and phased. You would customize this section of the macro to correctly process your data. Note that apodization is performed by multiplying by buffer 1. Buffer 1 contains the apodization function that was set up earlier in the macro.
Lines 42-44:
The data is then reduced so that only the real part of the FID is retained. This real data is then stored to the matrix. A type command (ty) is used to print out the current row so that the user can monitor the progress of the macro. It is important to note, that the actual output to the textport is a rather time consuming step, and the processing can be speed up by 10 - 20% if one chooses not to use it!
Lines 46-50:
If a read command should fail (such as by trying to read more input data sets than are present in the input data file) then control transfers to this section of the macro. A message is printed telling the user on which record the failed read occurred.
Lines 53-57:
If the macro finishes normally or the user exits the macro early then control transfers to this section. A cmx command is given to close the open matrix. The status symbol is set to zero indicating a normal exit and control is returned to the menu interface.
1 c**simpled2.macLines 2-3:
2 cmx
3 def matrix `my2dfile.mat'
4 mat &matrix w
5 ;
6 ty D2(t1) Processing.
7 ty ---------------------
8 ;
9 for col 1 &d1size
10 esc out
11 if &out ne 0 quit
12 loa &col 0
13 def datype 1
14 def datsiz 512
15 zf 1024
16 ss 256 90
17 ft
18 ph
19 red
20 sto &col 0
21 ty Col=&col $
22 nex
23 quit:
24 ty D2(t1) transform completed.
25 ty ------------------------------
26 cmx
27 ret
28 end
The cmx command is used to close any open matrix files. Then the mat command is used to open the appropriate matrix file for writing.
Lines 9-22:
This section forms the main processing loop. Since this macro operates on the D2 dimension a column must be processed for each D1 point value. Note that the for loop increments the symbol col from one to the value of the symbol d1size. When a matrix is opened the value of the symbols d1size, d2size etc. are set to the number of points in the corresponding dimension. Thus the symbol d1size is automatically set to the number of points in the D1 dimension and is therefore a logical choice to use for the maximum value of the for loop.
Lines 10-11:
These two lines of code show how the esc command can be used to allow the user to interrupt a macro during execution. Note, that this checking will slow down the processing, therefore you may want to consider not to use it. Also, there is another possibility in Felix to stop a macro execution--hitting the <Ctrl> and \ keys together will stop macro execution. The esc command monitors keyboard input for the escape character. When the escape key is pressed the user defined symbol (in this case the out symbol) is set to one. An if statement then transfers control out of the loop when the out symbol is no longer equal to zero.
Line 12:
The loa command is used to load the next column into the workspace for processing.
Lines 13-15:
Since this is States data the datype symbol is set to one indicating complex data. Now that the data is complex the data size (datsiz symbol) must be reduced by half because there are only half as many complex points compared to the number of points in the vector when it was first read in as real. If the data size is not reduced by half then the second half of the workspace will contain invalid data. The data size is then doubled by zero-filling so that the second half of the FID will contain zeros. The data size in complex points (datsiz) is now equal to the number of points in the D2 dimension of the matrix.
Lines 16-18:
The data is then apodized, ft'd and phased. Note that the apodization is over 256 complex points. This is due to the fact that the 512 FIDs collected in the D2 dimension correspond to 256 complex points in D2. Because this is States data a complex ft is performed.
Lines 19-21:
The data is then reduced so that only the real part of the FID is retained. The data size (datsiz parameter) remains unchanged and is equal to the number of points in the D2 dimension of the matrix. This real data is then stored to the matrix. A type command (ty) is used to print out the current column so that the user can monitor the progress of the macro. It is important to note, that the actual output to the textport is a rather time consuming step, and the processing can be speed up by 10 - 20% if one chooses not to use it!
Lines 23-28:
If the macro finishes normally or the user exits the macro early then control transfers to this section. A cmx command is given to close the open matrix. Control is returned to the menu interface.
The precoded 2D processing macros are accessed with the Macro/2D Data Processing command. This command brings forth first a file selection dialog box from where you can select the data type: Felix old and new data (.dat) file, Felix matrix file (
.mat), Bruker fid or ser file, Varian fid file or JEOL Alpha or Lambda file, and the file name. If Felix can access the data then it brings up a second dialog box with the header parameters--the acquisition parameters can be valid only if the appropriate files are present (for Varian the procpar file and for Bruker the acqus and the acqu2s file. For Bruker the program also attempts to read the pdata/1/procs and proc2s files.) In this dialog box you can update the header parameters if they show incorrect values. When you select D1 dimension for processing you are presented with a menu of choices which define how the D1 dimension is to be processed. For more information on each of the various processing options see Chapter 3, Processing, Visualization, and Analysis Interface (1D/2D/ND). When you select OK the macro first builds a real matrix of the size that you have specified with the Dimension 1 Size and Dimension 2 Size parameters. The macro then reads in each of FIDs from the given input file, processes the data according to the options you have selected and saves the processed vector to the matrix. The macro completes when each of the FIDs as specified by the D2 Parameters Data Size header parameter have been processed.
When the D1 macro has finished you will have a Felix matrix file (normally with a
.mat extension) with each of the D1(t2) vectors processed. At this point you can process the D2(t1) vectors by selecting again the Macro/2D Data Processing command and choosing the matrix from the previous processing. Then you are again presented with a menu of choices which in this case defines how the D2 dimension will be processed. When you click OK to begin processing the D2 dimension the macro will open the matrix you have selected, read in each of the D2 vectors into the workspace, process each vector according to the options you have selected, save the processed vector back to the matrix and then close the matrix. When the D2 processing macro completes you will have a Felix matrix file where all of the D1 and D2 vectors have been processed.
Checking/examining the data as it is processed
As part of the transformation process it is a good idea to check the data and verify that it is correct at each stage before proceeding to the next stage in the transformation process. The first check is to make sure that the raw data is correct or that the conversion from spectrometer format data to a Felix old or new format data file has been performed correctly. To do this you can use the File/Open command to examine the individual FIDs that make up the input data file. By changing the Dimension parameter between 1D and ND you can control whether the command always reads in the first FID in the series or that subsequent reads load in successive FIDs from the input data file. Once you have verified that the input data file is correct it is a good idea to experiment with processing the first FID in the series to determine the optimum processing parameters for the D1(t2) dimension. Only after you have determined a good set of starting parameters to use for the D1 dimension should you proceed to processing the entire D1 dimension using a matrix.
Throughout Felix, we will use the terms R1 and R2 for the relaxation rates, which are simply the inverse of the relaxation times T1 and T2.
Task: Analysis of relaxation data1. Selecting the Measure/Relaxation/View Timecourse via Cursor
command and then selecting a peak with the mouse.
or
2. Selecting the Measure/Relaxation/View Timecourse via Item
command and entering a peak number.
If the time series is already fitted to an appropriate exponential function, this function is also displayed and the relaxation rate reported in the text port.
Eq. 1
where R1 = -a2.
Eq. 2
where R2 = -a1 may be appropriate. In practice, it is often found that the more general Eq. 1 yields statistically better fits (Skelton et al. 1993). Felix tries both fits and retains the coefficients for the fit with the lower
2 value.
Heteronuclear NOE data is analyzed in a single step using the Measure/Relaxation/Fit R1/R2/NOE command. After obtaining the file names for the spectra obtained with and without 1H saturation, Felix again centers the peak boxes (see above) and then proceeds to determine peak heights or volumes as desired by the user. Next, two duplicate spectra are analyzed to derive the uncertainty of the measurement. The NOE is the ratio of the volumes obtained with and without 1H saturation.
The assignment work starts with defining a project. It is highly advisable to define only one project within one database file. The project then contains all the information needed in the course of the work, such as spectral definitions, last display parameters, and entities necessary to store the assignment information. 
Task: Working with assignment databases
There is a simple way to add new residue types into the database, if you work with non-standard amino acids or nucleic acids. You have to edit two files in $BIOSYM/data/felix/asglib, one of which contains the residue definition (atoms, median chemical shifts, standard deviation, and topology) and one which contains the alias names. 
Task: Adding modified residues to the Assign databasepd.rdb or rna.rdb. To add for example, an aminobutyric acid residue, you should first notice that the end of the pd.rdb file is:
!
!
! ROOM FOR MORE RESIDUE TYPES ...
!
1. Each line starting with exclamation mark is a comment. So first you add the formula as a comment:
!
! ABU
!
! H - N H
! | |
! H - Ca - Cb - Cg - H3
! | |
! O = C H
!
2. The next part of the file is the residue name:
RESIDU ABU X
3. Now you need to enter the atoms by first entering the keyword
RESATM, then the atom type, atom name (in Insight notation),
a number (this field is not active yet), a mean chemical shift, a
standard deviation, and finally, if there is more than one atom
(e.g., a pseudoatom) in that group, enter the number of atoms.
RESATM H HN 1 8.16 0.60
RESATM H HA 2 4.30 0.20
RESATM H HB1 3 3.30 0.20
RESATM H HB2 3 3.30 0.20
RESATM H HG* 4 1.10 0.10 3
RESATM N N 8 126.0 5.0
RESATM C CA 10 51.0 5.0
RESATM C C 9 150.0 50.0
RESATM O O 15 0.0 999.0
RESATM C CB 12 26.0 5.0
RESATM C CG 12 17.0 5.0
4. Next there is another comment line which contains the atoms used to help construct the neighbor matrix.
! HN HA HB1 HB2 HG* N CA C O CB CG
5. The next part of the file is the matrix, where each element shows how many bonds are between the constituent atoms (groups).
CONECT 0
CONECT 3 0
CONECT 4 3 0
CONECT 4 3 2 0
CONECT 5 4 3 3 0
CONECT 1 2 3 3 4 0
CONECT 2 1 2 2 3 1 0
CONECT 3 2 3 3 4 2 1 0
CONECT 4 3 4 4 5 3 2 1 0
CONECT 3 2 1 1 2 2 1 2 3 0
CONECT 4 3 2 2 1 3 2 3 4 1 0
6. Finally a keyword finishes the residue definition:
ENDRES
7. The other file to edit is the biosym.alias file. You have to
append a line to the file which contains the possible names of
that residue for all the charged/terminal forms:
ABU ABUN ABUC ABUn

After peaks are picked you may want to use a peak optimization step to better define the peak centers/widths/volumes. In order to use it you need to first measure the peak volumes. Sometimes the peak optimizer can merge close peaks, therefore it is advisable to do this step interactively and save the peak entity into a backup file within the database. By defining small regions where the optimizer should work and examining the results you can see if the peaks get misplaced too much or merged unnecessarily, then you can retrieve back the saved copy and skip optimization for those peaks.

1. In the dialog box you should leave the First Frame parameter as 1 and the Second Frame parameter as 2.
2. For the connection method you would push the D1-D2-
D3<=>D1-D2-D3 radio button, and then hit OK.
With this setup, if you zoom in to a region in the CBCANH spectrum (Frame 1), then the same plot limits are defined in the CBCA(CO)NH spectrum (Frame 2). Similarly, if you step onto another plane (for example, in the CBCA(CO)NH spectrum (Frame 2)), then a plane at the same 15N frequency is displayed from the CBCANH spectrum (Frame 1).
1. Assume you have a 2D 15N-1H HSQC spectrum with 15N as D2
and 1H as D1. Let's moreover assume that you have a 15N
TOCSY and 15N NOE spectra, where D1 is the amide 1H, D2 the
full 1H, and D3 is the 15N dimension. You want to look through
the amide peaks in the HSQC spectrum, and then see the corresponding
slices in the TOCSY and NOESY spectra. First you
would select from the Experiment table for the Frame 1 the
HSQC spectrum, and for Frame 2 and Frame 3 the TOCSY and
the NOE spectra, respectively.
2. In the first dialog box leave 1 for the First Frame and 2 for the
Second Frame parameters, respectively. This would connect
the HSQC spectrum with the TOCSY. Select the Custom option
and hit OK. In the next dialog box you would set:
First Frame 1
Second Frame 2
D1
D1
D2
Null
3. Set Define Jump on and for Jump Direction set:
First Frame 1
Second Frame 2
D2
D3
Null
Null
5. Now you would connect the HSQC spectrum with the NOE
spectrum through the first dialog box which should pop up
again. Leave the First Frame as 1 and the Second Frame as 2.
Select the Custom option and hit OK. In the next dialog box
you would set:
First Frame 1
Second Frame 3
D1
D1
D2
Null
6. Set Define Jump on and for Jump Direction set:
First Frame 1
Second Frame 3
D2
D3
Null
Null
The key step in sequential assignment is spin system detection. In Felix three different stages of spin systems are distinguished:
Task: Spin systems 1. The first type of spin system results from an automated spin
system detection. These are called prototype patterns or protos.
This system can be intra-residual or can contain spins from
neighboring residues, depending on the spectrum and method
by which they were collected.
At each stage the spin system can be visualized by spawning tile plots or strip plots; or by drawing lines along the frequencies. Visual interaction is an important element in assignment since the automated routines do not work with 100% reliability.
You can collect spin systems manually, that is, by picking on peaks in a spectrum and promoting the chemical shifts to the clipboard. Typically you would do this if there were unresolved or missed spin systems left after the automated spin system detection step. Then you would go through the spectrum (or spectra) and use the commands in Assign/Frequency Clipboard to collect the peak positions as frequencies in the clipboard. After each spin system is collected this way you then need to copy it to patterns and clear and start over with the next spin system. 
Task: Manual spin system collection
The automated prototype pattern detection routines work on one or several peak-picked spectra, depending on the method selected. There are a few adjustable parameters for which you should determine the optimal settings by trial-and-error. Therefore, in order to find as complete a set of spin systems as possible, several iterations are necessary. Guidelines for selecting prototype pattern parameters are given below.
Task: Automated spin system detection
Tolerances
One of the most important variables in the automated spin system detection and neighbor finding methods is the tolerance. You are required to have a spectrum specific tolerance entered for each experiment at the beginning. This number usually represents how well the peaks are lined in each dimension up for any given frequency, that is, how much the peak centers differ along a particular dimension arising from the same spin system. As a rule of thumb this number is roughly equivalent to the digital resolution in ppm (e.g., try first the ppm equivalent of one point, which then will use this number as a boundary--each peak whose center is within the target plus/minus the tolerance). This tolerance is used to automatically assign peaks to frequencies.
Two-dimensional systematic search method
The 2D systematic search method can be used on different combinations of COSY, TOCSY, and NOESY type spectra. Usually in the first iteration for a protein, the spin systems are collected starting from a H
-HN cross peak, then the full spectrum is searched for aligned peaks that define new frequencies. Therefore the seed region should be set to an H
-HN region either above the diagonal or below, depending mainly on resolution and on the presence of possible spurious peaks. The frequency collapse tolerance then defines whether the new frequencies (possibly resulting from different spectra) are unique. It is useful to try several settings for this number, but you can start by guessing how well the corresponding peaks in different spectra are aligned.
-H
region, and you must exclude spin systems having frequencies in the aromatic/amide region. Similarly, if you want to search for aromatic side chains, you must use the aromatic region as a seed and exclude the aliphatic region by filtering.Between iterations you can selectively delete prototype patterns which are clearly not right, thus releasing peaks, or you can delete all of them. Also, it is useful to note that after you assign or define several reliable patterns, then those patterns' frequencies can be copied back to prototype patterns, thus preventing you from re-detecting them in the following iterations.
The first method works on 15N - 1H HSQC-TOCSY or 15N-1H HMQC-TOCSY spectrums. For this method, the spectrum should contain pseudo-diagonal peaks--that is, HN-HN-N peaks--from which then the spin systems will be collected along the side-chain. If the pseudo-diagonal is not well-resolved or if there are missing peaks, you can use the 15N-1H HSQC spectrum to help. In that case the program tries to find new frequencies in the 3D from each peak in the 2D spectrum, and stores them as spin systems. Certainly, if the 15N-1H HSQC spectrum is not well-resolved, this will be less effective.
In the second spin system detection mode you can use double resonance experiments to extend already existing spin systems--usually these are results of a triple-resonance spin system detection run. In this case, the purpose of the detection is to expand spin systems containing only backbone frequencies to include side-chain information. Currently there is one method implemented in Felix which uses a 3D HCCH-TOCSY spectrum to achieve this. You can either expand spin systems in the prototype pattern stage or in the pattern stage.
in the HNCO and HNCA and HN(CO)CA spectra (HN,x-Nx-Cx-1, HN,x-Nx-C
,x-1 and HN,x-Nx-C
,x-1, respectively). Those will be the inter-spectral tolerances for the respective axis. After that you can run one of the spin system detection routines starting with, for example, a small amount less than these inter-spectral tolerances, and then telling the program to iterate and increase the tolerance at each iteration step. Depending on the spectral quality, you can automatically get 50-90% of the theoretical spin systems. Certainly these spin systems may not be perfect, therefore you need to inspect them before promotion and discard or alter any insufficient spin systems. Also, you can manually add missed spin systems to the list of prototype patterns. There is an advantage, since usually triple resonance experiments are measured as (at least) pairs, so if you add spin systems in this stage, you can manually add frequencies belonging to this residue as well as to the neighboring residue. As long as you let the program know what those frequencies are, then Assign will establish these connectivities in the promotion stage.
):
1. First you select the Assign/Collect Prototype Patterns/User Settable command and set the Number of steps to 1, since the seed peak selection is considered as zeroth step. Select the HN(CO)CA spectrum as the seed spectrum (Step # 0) and the HNCA spectrum as the first step.
2. Since you need to match the HN and N frequencies in the two
spectra for the corresponding peaks in the second dialog box
(Experiment hncoca in Step 0) you select the following for the
Match to parameters:
Match to
hnca
null
...
null
hncoca D1
D1
No
...
No
hncoca D2
D2
No
...
No
hncoca D3
No
No
...
No
This setup then makes it possible to collect spin systems automatically in the user-defined combination of spectra.
You can collect spin systems using the semiautomated method. In that case you use the cursor to select a peak in one spectrum; the program then tries to extend this trial spin system in the connected spectra as you defined. To illustrate the point let's assume you have a 2D 15N-1H HSQC spectrum with 15N as D2 and 1H as D1. Let's moreover assume that you have a 15N TOCSY, where D1 is the amide 1H, D2 the full 1H, and D3 the 15N dimension. You want to select an amide peak in the HSQC spectrum, and then let the program collect frequencies the corresponding slice of the 15N TOCSY spectrum. 
Task: Semiautomated spin system detection1. First you select the Assign/Collect Prototype Patterns/Semiautomated
Setup command and set the Number of frames/steps
to 2, putting the HSQC in Frame 1,and the HSQC-TOCSY in
Frame 2.
2. In the second dialog box you select the following for the Connect
to parameters:
Connect to
#2
#3
#4
Frame 1 D1
D1
No
No
Frame 1 D2
No
No
No
6. In the third dialog box you would set the Orientation parameter
D1-D2 to D3: 118 ppm. You would set the Connect to
parameters as follows:
Connect to
#1
#3
#4
Frame 2 D1
D1
No
No
Frame 2 D2
No
No
No
Frame 2 D3
No
No
No
This setup then would make it possible to zoom on a peak in HSQC, and on a strip in HSQC-TOCSY. Moreover, if you want the 15N position from HSQC transferred to 3D spectra, you need to press the < . > key and activate the hidden Jump command. This command then gives you a cursor, and placing the cursor over the required peak (or 15N position) and depressing it triggers a jump to a new slice. Finally, if you find a peak in the HSQC spectrum where you want a new spin system to be collected you need to activate the Assign/Collect Prototype Patterns/Semiautomated Collect command (for which the hot-key is: =) and click with the crosshair on that peak. If the program can then find connected peaks in the HSQC-TOCSY spectrum, it will then collect the spin system and show it in the prototype pattern table.
The majority of the automated methods in the Assign module collect spin systems containing backbone atoms. In order to automatically extend the spin systems to include atoms from the side chain you may want to run the routines in the Assign/Collect Prototype Patterns/Extend Prototype Patterns command. To illustrate this method let's assume that the spin systems were collected so that the prototype patterns contain the HN, N, C
Task: Spin system extension
, and C
shifts. Then you can use a 3D HCCH-TOCSY spectrum to automatically find the corresponding H
, H
frequencies. In the Extend Prototype Pattern Using HCCH-TOCSY command then you would select appropriate tolerances for the search along the 13C and 1H dimensions (taking into account how well the Ca and Cb resonances align between the spectra they were detected from (e.g., CBCANH) and this spectrum). You have to set how many times the extension will be attempted from each prototype pattern (Number of iterations) and how much to increase the tolerances each time (Tolerance factor). You also have to define the primary and secondary search dimensions for protons, as well as the carbon dimension. The primary proton dimension is where the heteronuclear transfer was done, and the secondary dimension is where the TOCSY was done.
,i-1 and H
,i-1 frequencies to spin systems containing HN and N frequencies using the HBHA(CO)NH spectrum (Extend Prototype Pattern Along One Axis).
As soon as reliable spin systems are detected, you can promote them to patterns. This can be done in two ways. 
Task: Spin system promotion
The next step in the assignment is to identify the spin systems--the patterns resulting from an automated or manual search. This can be done in Assign based on all atom chemical shifts contained in the database, by using either a simple scoring algorithm or by using a probability distribution of C
Task: Spin system identification
/C
chemical shifts (Grzesiek and Bax, 1993). This latter method gives better scores, since the proton chemical shifts are not so well dispersed for different residue types, but this method can only be used if labeled proteins are accessible.
This is the next step in the sequential assignment strategy. Usually this step uses the NOE effect as its basis, but in triple resonance spectra, this connectivity shows up in J peaks, therefore the J-peak-based method is more reliable. Nevertheless, because of the difficulties encountered during the labelling, and because a significant portion of the connectivities do not show up due to spectroscopic reasons, the NOE based methods are still important. In Assign there are several commands implemented to deal with the sequential connection of patterns. It is advisable to have a possibly full set of patterns when you start to find sequential connectivities. Also, it is important that the spectrum specific shifts are set correctly for the NOE spectrum which is to be used to find the sequentials. The root frequency for each pattern also should reflect the real (average) HN frequencies of the NOE spectrum for the homonuclear neighbor finding methods. 
Task: Establishing connectivities
's (of Tyr's or Phe's) which should be the root frequency for that particular pattern. If you find the correct connection (possibly visually inspecting by tiling) then you must merge the two patterns (you can use the Assign/Frequency Clipboard/Copy Pattern To Clipboard and then the Assign/Frequency Clipboard/Copy Clipboard To Pattern command). Lastly, you must delete the purely aromatic side chain pattern(s).
The Assign/Sequential/Systematic Search command can be used to match the sequence on a set of patterns which have at least residue type probabilities and sequential probabilities assigned. The algorithm is flexible, therefore several strategies can be followed. One approach is to generate all possible assignments for the entire molecule (Min length of assigned stretches = full sequence). In this case the assumption is that the best scores will result from the correct assignment, but the Min neighbor prob score variable should be set to 0, since there can be missing sequentials. This could mean that the number of possible assignments will be very large (Kleywegt et al 1993) but restricting the Max # of assignments to generate variable to a small number (100-1000) can give a usable result. 
Task: Sequential assignment


You can approach the automated assignment in different ways: you can use a linear chain as a model and only assign intra-residual and sequential peaks, as well as peaks having unique frequency assignments (that is, peaks which have only one possible assignment in each dimension), or you can use a homology or a low resolution starting model (for example, from X-Ray crystallography), and assign based on those distances. There is also a choice which allows you to do ambiguous assignments and then later use those assignments as overlap restraints in SA or rMD protocols.
After a set of assignments are generated and (and possibly manually verified), structures are generated based on those. You can refine your assignments based on the new model or based on hot-spots (where restraints are highly violated or the structure is bad).

If you use a 2D NOESY spectrum, you may want to control which peaks' volumes (Symmetry Selection) are converted to distance restraints. Use All converts all peaks (and then only restraints are generated for the first occurrence of the symmetric pair), Select Regions uses different sides of the diagonal in certain regions of the spectrum, and Use Weaker uses only the weaker peak of a symmetry-related pair.
Converting the calculated distance to a restraint can happen in many different ways (Method): Exact Distance, S-M-W Bins, VdW-Exact, Percentage. The most dangerous method is using the exact distance as a restraint (Exact Distance)--in that case the lower and upper bound becomes that calculated distance. The most popular method is to carry out a categorization into the strong, medium, and weak categories (S-M-W Bins), and to store the corresponding bounds in the restraint. The third method is to set the lower bound to the Van der Waals distance and the upper bound to the calculated distance (VdW-Exact). In the fourth method (Percentage) you specify a percentage by which the calculated distance will be decreased and increased to yield the lower and upper bounds.
There is always a danger in doing a totally automated conversion--there can be overlapped peaks where the measured volumes are not representing the real volumes. To avoid over-restraining when using such peaks, Felix can handle this type of peak differently, if you use the Partial Overlap option to check how much the area of integration is overlapped for each peak. You can then define a threshold (Area Threshold) by which the algorithm can skip to generate restraints from those overlapped peaks (Discard) or you can use different method to generate bounds from calculated distances, (e.g., Use as Qual, which generates only qualitative upper bound restraints).

Those hot-spots can be a result of misassignment or overlapped peaks. In the case of misassignment you use a list to reassign (or unassign) those peaks. You can use a simple ASCII file which just has the two (or three or four, depending on dimensionality) names in a row separated by a blank. You can also create a list from within Insight II using the following recipe:
1. First load the restraints on all the refined molecules in Insight II using the NMR_Refine/Restraints/Read molname* command.
The hot-spots can also be due to erroneous restraints. In this case, the NOE Distance Redefine option in the Measure/DISCOVER Restraints command can help to loosen, tighten, or delete certain restraints showing the highest violations (or the most number of violations within a family). To run this command you must
1. Load the restraints on all the refined molecules in Insight II
using the NMR_Refine/Restraints/Read <molname*> command.
For accuracy assessment of the molecular models or to assist in the assignment procedure, it is very useful to generate back-calculated NOESY spectra to compare to the real NOESY spectrum. To do this, you must have a NOESY spectrum or buildup assigned and know the correlation time of the overall tumbling. In the setup command (Model/Matrix Doubling) you are also required to enter the spectrometer frequency for protons which was used to generate the experimental spectrum. A reasonable distance cutoff will allow the program to calculate only the realistically measurable NOE's, which can be around 7 Å without slowing down the back-calculation too much. Also, since usually not all the NOE's can be measured due to poor sensitivity, you may want to impose a minimum intensity requirement (e.g., 0.005 stands for 0.5% NOE). After the calculation is done (Model/Matrix Doubling) you may want to plot the theoretical spectrum. In order to do that you must define how theoretical NOE's will be scaled in comparison to the experimental ones. You need to select an assigned peak in the experimental spectrum, for which the intensity will be the same in both spectra. 
Task: Back-calculating NOESY spectra