Loading ...
Sorry, an error occurred while loading the content.

Re: [nmrpipe] SOL and POLY for solvent suppression

Expand Messages
  • Frank Delaglio
    Greetings all, Here are some old notes about SOL and POLY -time ... POLY -time vs SOL As explained below, POLY -time approximates the time-domain solvent
    Message 1 of 2 , Dec 2, 2003
    • 0 Attachment
      Greetings all,

      Here are some old notes about SOL and POLY -time ...

      POLY -time vs SOL

      As explained below, "POLY -time" approximates the time-domain
      solvent signal by fitting it to a low-order polynomial, while
      "SOL" approximates the time-domain solvent signal by smoothing
      the FID so that only the low-frequency signals remain.

      In both cases, the assumption is that the solvent signal
      is at the center of the spectrum, so that it corresponds
      to a low frequency in the FID.

      If the solvent signal is not at the center, the data can be
      temporarily frequency-shifted so that it is, as described below.

      Since a low-order polynomial does not have many features,
      it is only suitable for fitting a "simple" solvent signal,
      i.e. a signal not much more complex than a one-cycle sine-wave.
      For this reason, POLY -time works best when the solvent line
      is narrow and very close to the center.

      The SOL function it more tolerant of complicated solvent signals,
      but at the cost of spectral distorsion, as described below.

      POLY -time:

      This function works by fitting the time-domain signal to
      a polynomial of low order; the idea is that this polynomial
      should approximate the solvent signal, since it is a low
      frequency. The fitted polynomial is then subtracted
      from the original data.

      In practice, it is too time-consuming to fit every point
      in each FID. So, instead, as a time-saver, each
      FID is divided into regions (nodes) of a given size, and
      the average of each region is calculated. Then, the polynomial
      is fitted to the averages instead of all the original data points.

      You can use default settings, which seem to be okay in most cases,
      with just the following:

      nmrPipe -fn POLY -time

      this is the same thing as using the following settings:

      nmrPipe -fn POLY -ord 4 -avg -nw 16 -fx1 NW+4 -nc SIZE/(2*NW+1)

      Here is the meaning of the parameters:

      SIZE is the number of complex points, like "-xT" value in
      conversion program.

      -ord O (Polynomial order)
      This is the order of the polynomial to fit and subtract.

      -avg Means fit region averages instead of data points.

      -nw NW (Node Width)
      Means each region will be +/- NW points (2NW+1) large.

      -fx1 M (First Point of Region to Fit)
      Means that the first M points of the FID will not be
      fit (in case they are distorted) although the final
      polynomial will be subtracted from every point in the FID.

      -nc NC (Node Count)
      Means that the FID will be divided into NC number
      of regions for fitting. Notice that the default
      value of this parameter is adjusted according to
      the current FID size, and also the selected node width;
      the default value provides just enough regions so that
      the averages don't overlap for the given node width.

      If you are trying to optimize a result, you should experiment
      with the -nw and -fx1 parameters. Larger -nw parameters should
      mean that you attenuate a narrower frequency band. Smaller -fx1
      parameters should mean better solvent modeling, and therefore
      less residual baseline distortion. Of course, adjusting the
      polynomial order is useful too; the higher the solvent frequency,
      the higher the required polynomial order.

      The parameters above are a little confusing at first for solvent
      subtraction, since they are also intended for use in the frequency
      domain for baseline correction.


      This is an implementation of Dominique Marion's solvent suppression
      by convolution in the time domain. Each FID is convolved with
      a low-pass filter such as a box-car (moving average). However,
      this convolution can't be computed accurately at the head or
      tail of the FID, so the results are extrapolated by polynomial
      fitting just at the head and tail. The extrapolated convolution
      should then represent the low frequencies (water band); it is
      subtracted from the original data.

      This function includes the framework for other kinds of
      solvent suppression, but they are not implemented;
      so, the "-mode" parameter for the solvent filter mode
      should not be changed.

      So, in practice, the only parameter which is worth adjusting
      is the filter length parameter "-fl". The larger this parameter
      is, the narrower the solvent band suppression will be.

      In both solvent suppression cases of SOL and POLY, the solvent
      signal needs to be in the center of the spectrum for the
      suppression to work properly. One way to do this "indirectly"
      is by first-order phase correction of the FID, which is
      equivalent to shifting the frequency domain. For convenience,
      we've added right-shift and left-shift arguments to the
      PS command for this sort of thing. So, for example,
      if the solvent peak is 9 points away from the center,
      you can use a scheme like this on the time domain data
      to temporarily shift the solvent, suppress it, then
      shift it back again:

      nmrPipe -in dqcosy.fid \
      | nmrPipe -fn PS -ls 9 \
      | nmrPipe -fn SOL \
      | nmrPipe -fn PS -rs 9 \
      | 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 255.6 -p1 78.0 -di -verb \


      Hope this info is useful ...

      Best Regards,

      big fd

      On Mon, 1 Dec 2003, dark_isnewcdt wrote:

      > This has been asked before but I think it's worth asking again in case
      > anyone has any new insight.
      > For solvent suppression, example scripts on the web seem to always
      > use "SOL" or "POLY -avg -nw 16 -fx1 NW+4 -nc (SIZE/(2*NW+1)" (more
      > commonly known as "POLY -time").
      > Does anyone have advice on optimising these parameters, or whether it
      > is worth time spent varying them?
      > Charlie
      > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    Your message has been successfully submitted and would be delivered to recipients shortly.