Frank Delaglio, Ph.D.

19804 Maycrest Way
Germantown MD 20876 USA

301 806-0867
delaglio@nmrscience.com



NMRPipe Processing Functions
JMOD: Exponentially Damped J-Modulation Profile.

Flag Argument Default Description
 -off off 0.0 Modulation Start*PI. (APOD Parameter Q1)
 -j jHz 0.0 J-Modulation, Hz. (APOD Parameter Q2)
 -lb lbHz 0.0 Line Broadening, Hz. (APOD Parameter Q3)
 -sin Sine Modulation. (Equivalent to -off 0.0)
 -cos Cosine Modulation. (Equivalent to -off 0.5)
 -size aSize TSIZE Number of Points in Apodize Window.
 -start aStart 1 Start Location for Applying Apodize Window.
 -c fScale 1 Scale Factor for First Point (C1 Parameter).
 -one Set window points outside apodize region to 1.
 -hdr Use Q1,Q2,Q3,C1 Values from Header as Defaults.
 -inv Invert Window.

JMOD is a window function which applies an exponentially damped sinusoid modulation to the given data. The purpose of the JMOD window is to approximate or reproduce a coupling-induced splitting. One use of this is to specify a deconvolution to be applied by a function such as MEM. The JMOD exponential term is specified as a Lorentzian line broadening in Hz (parameter lb). Likewise, the modulation frequency is expressed as a splitting in Hz (parameter jHz). There is an adjustable phase offset for the modulation (parameter off), making it possible to choose between cosine forms (in-phase modulation) and sine forms (anti-phase modulation).

In the following formula for JMOD, tSize is the number of time-domain points, which defines the length of the window function; JMOD[i] is the window function from i = 0 (first point) to i = tSize - 1 (last point); and sw is the sweep width in Hz.

          JMOD[i] =  exp( -e )*sin( PI*off + PI*(end - off)*i/(tSize-1) ) 
where
          e   = PI*i*lb/sw
          end = off + jHz*(tSize - 1)/sw

In addition to function-specific options, the JMOD window function provides the following features common to all NMRPipe window functions:

  • Optional scaling of the first point of each FID.
  • Automatic recording of window parameters and first point scaling in the data header during processing.
  • Automatic adjustment of the default size of the window function to match the valid time-domain size recorded in the header.
  • Optional extraction and use of window parameters recorded in the header, rather than from the command-line.
  • An inverse mode, which divides by the window function and first point scale rather than multiplying by them.
  • Options to adjust the size or starting point of the window function via command-line arguments.

JMOD OPTIONS

-off offset
(Q1) Specifies the offset of the sinusoid modulation in units of pi radians. Usual values are 0.0 (for a sine modulation) and 0.5 (for a cosine modulation.

-jHz jHz
(Q2) Specifies the modulation frequency to apply in terms of a corresponding line splitting in Hz.

-lb lbHz
(Q3) Specifies the exponential to apply in terms of a line width in Hz. The default value is 0.0, which means no exponential term will be applied, and the window will be an undamped sinusoid.

-cos
Sets Q1 to 0.5, to provide cosine modulation.

-sin
Sets Q1 to 0.0, to provide sine modulation, which is the default.

GENERIC WINDOW OPTIONS

-size aSize
Specifies the number of points in the window function. The default value is the valid time-domain size recorded in the data header.

-start aStart
Specifies the starting point of the window function. The default value is 1, which means the window function starts at the first point of the FID. This option is intended for creation of composite windows by application of different functions to different regions of the FID.

-c fScale
Specifies the scaling applied to the first point of the FID, which influences the zero-order offset in the corresponding spectrum. The default value is 1.0, which means no first point adjustment is applied. A value of 0.5 is usually appropriate in cases where no substantial first-order phase correction will be applied.

-one
This flag influences the values used "outside" the window function, in cases where the window size is smaller than the actual number of data points. By default, data values outside the window region are multiplied by zero when the window is applied. However if the -one flag is used, data values outside the window region will be multiplied by 1.0 when the window is applied. This flag is intended to assist creation of composite windows by application of different functions to different regions of the FID.

-hdr
When this flag is used, default window parameters (Q1, Q2, and Q3) will be extracted from the data header, along with the first point scaling. This requires that all of these parameters have already been recorded, for instance during previous processing or format conversion (see EXAMPLES below). Additional command-line can be used to override values restored from the header. The window parameters stored in the data header can be viewed using the showhdr program, for example:

          showhdr -verb test.ft2

-inv
When this flag is used, the inverse (1/window) of the selected window and first point scale will be applied. This option is intended for removing a previously-applied window in inverse processing schemes. This option should generally only be used on window functions which have no values close or equal to zero. In cases where the window does have a zero value, the inverse window is also given as zero.

EXAMPLES

The following script introduces a 90Hz splitting to the 15N dimension of a 2D HN/N spectrum:

      nmrPipe -in test.fid \
      | nmrPipe  -fn SOL                                    \
      | nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5    \
      | nmrPipe  -fn ZF -auto                               \
      | nmrPipe  -fn FT                                     \
      | nmrPipe  -fn PS -p0 194  -p1 0.0 -di                \
      | nmrPipe  -fn EXT -x1 10.5ppm -xn 6.5ppm -sw -verb   \
      | nmrPipe  -fn TP                                     \
      | nmrPipe  -fn JMOD -j 90 -cos                        \
      | nmrPipe  -fn SP -off 0.5 -end 0.95 -pow 1 -c 0.5    \
      | nmrPipe  -fn ZF -auto                               \
      | nmrPipe  -fn PS -p0 0 -p1 0 -di                     \
      | nmrPipe  -fn TP                                     \
      | nmrPipe  -fn POLY -auto                             \
         -verb -ov -out test.ft2

The following example includes Maximum Entropy Method (MEM) used to remove the simulated 90 Hz splitting which is applied in the first processing pipeline.

nmrPipe -in test.fid \
| nmrPipe  -fn SOL                                    \
| nmrPipe  -fn ZF -zf 2 -auto                         \
| nmrPipe  -fn FT                                     \
| nmrPipe  -fn PS -p0 194  -p1 0.0 -di                \
| nmrPipe  -fn EXT -x1 10.5ppm -xn 6.5ppm -sw -verb   \
| nmrPipe  -fn TP                                     \
| nmrPipe  -fn JMOD -j 90 -cos                        \
   -out jmod.ft1 -verb -ov

nmrPipe -in jmod.ft1                          \
| nmrPipe -fn ZF -zf 2                        \
| nmrPipe -fn FT -di                          \
| nmrPipe -fn TP                              \
| nmrPipe -fn MEM -ndim 2 -x0 0.0 -tScale 0.0 -sigma 60 -report 2 \
   -xconv EM   -xcQ1 10.0                      \
   -yconv JMOD -ycQ1  0.5 -ycQ2 90 -ycQ3 11.0  \
   -out mem.ft2 -ov

HEADER VALUES

JMOD and the other nmrPipe window functions use the recorded time-domain size (NDAPOD) to establish their default length.

When the -hdr flag is used, default window parameters are extracted from header values NDAPODCODE, NDAPODQ1, NDAPODQ2, NDAPODQ3, and NDC1.

The header values NDAPODCODE, NDAPODQ1, NDAPODQ2, NDAPODQ3, and NDC1 are updated according to the values applied during processing.