i like this post (click again to cancel)
i dont like this post (click again to cancel) remove favorite mark from this question (click again to restore mark)


I know that this problem has been discussed a number of times on the nmrPipe newsgroup and there are some helpful hints (especially here), but some details seem to be missing.

In the conversion script I have -yMode Complex and -aq2D States as produced directly via nmrDraw "convert Varian" menu. The pulse sequence is gNhsqc_IPAP.c, where IPAP='y','n' array='IPAP,phase'

The beginning of my processing script looks like this:

nmrPipe    -in test.fid \
| nmrPipe  -fn COADD -cList 1 -1.1 -axis Y \

everything else is the same as in standard hsqc processing and below is the picture that we get in nmrDraw. Sign of the 15N frequency is not discriminated. Any help will be appreciated!


our incorrectly processed ipap gNhsqc_IPAP.c

asked Dec 04 '09 at 11:45

Evgeny%20Fadeev's gravatar image

Evgeny Fadeev

updated Mar 03 '10 at 09:53

should I have had array='phase,IPAP' instead? If so is there a way to recover here using NMRPipe? Thanks! - Evgeny Fadeev (Dec 06 '09 at 10:21)

2 Answers:
i like this answer (click again to cancel)
i dont like this answer (click again to cancel)

This question might have been better posted in the NMRPipe group.

Normally, in NMRPipe, gradient enhanced Varian 2D data is converted with "-yMODE Rance-Kay". This actually runs an NMRPipe macro to perform gradient shuffling of pairs of adjacent 1D vectors during the conversion, but it is run "in background", and you don't see it explicitly:

| nmrPipe -fn MAC -macro $NMRTXT/var_ranceY.M -noRd -noWr \

In an interleaved version of the gradient-enhanced data, there are two possible formats. In the case array="phase,IPAP", the innermost acquisition loop is the Rance-Kay phase encoding. So, adjacent pairs of vectors are Rance-Kay pairs, and you can convert this data with "-yMODE Rance-Kay". Then, later processing steps can use COADD to select or combine channels.

However, when array='IPAP,phase' the IP/AP alternation is in the innermost acquisition loop. This means that manipulation with COADD must happen before gradient shuffling. In these cases, we convert with "-yMODE Complex", and then explicitly include gradient shuffling just afterwards, for example:

nmrPipe -in test.fid \
| nmrPipe -fn COADD -cList 1 -1 -time -axis Y \
| nmrPipe -fn MAC -macro $NMRTXT/var_ranceY.M -noRd -noWr \
| nmrPipe -fn SOL \
| nmrPipe -fn SP -off 0.5   ... etc ....
  -out dif.ft2

Also, one more tip:

When dealing with this kind of data, it can be handy to extract the IP and AP channels separately ("COADD -cList 1 0" and "COADD -cList 0 1") so that they can be inspected first to find the optimum coefficient for cancelation of IP and AP signals. Then, use the stand-alone program "addNMR" to combine the two channels to form scaled sum and difference, for example:

addNMR -in1 A.dat -in2 B.dat -c1 1.0 -c2 1.2 -out sum.dat -add
addNMR -in1 A.dat -in2 B.dat -c2 1.0 -c2 1.2 -out dif.dat -sub

answered Dec 10 '09 at 00:59

delaglio's gravatar image


updated Dec 10 '09 at 07:09

Evgeny%20Fadeev's gravatar image

Evgeny Fadeev

Thanks, Frank. This doesn't work for my dataset unfortunately. I suspected that when you do COADD on array=IPAP,phase data you will be adding wrong vectors, i.e. just real and imaginary of the same subset (IP or AP). Tried header manipulation with REAL then coadd then back to complex, but no avail. - Evgeny Fadeev (Dec 10 '09 at 07:25)

we did in the end sort this out similarly, but with using "| nmrPipe -fn COADD -cList 1 -1 -time" after "nmrpipe -fn TP". No idea why this makes a difference. Also gNhsqc_IPAP does not use Rance-Kay shuffling. - Evgeny Fadeev (Dec 11 '09 at 09:36)

also, macro var_ranceY.M doesn't seem to be applicable for this particular sequence. - Evgeny Fadeev (Mar 03 '10 at 09:58)

i like this answer (click again to cancel)
i dont like this answer (click again to cancel)

I found a post post from Frank Delaglio on the NMRPipe message board that answers the same question, but I think there was a confusion about ordering of the IP/AP loop with respect to the quadrature frequency discrimination loop.

This solution worked for the setup where array='IPAP,phase'. For the opposite setup, try Frank's post.

The usual 2D conversion script (but notice the -xMODE and -yMODE setup - both must be Complex) and the point count includes both IP and AP sub-experiments:


var2pipe -in ./fid -noaswap  \
  -xN              1280  -yN               400  \
  -xT               640  -yT               200  \
  -xMODE        Complex  -yMODE        Complex \
  -xSW        10002.501  -ySW         2800.000  \
  -xOBS         799.805  -yOBS          81.053  \
  -xCAR           4.754  -yCAR         118.618  \
  -xLAB              H1  -yLAB             N15  \
  -ndim               2  -aq2D          States \
  -out ./test.fid -verb -ov

sleep 5

To process the data you can use that same method that is normally used to process HSQC, but with one line inserted right after TP (transpose) command with the contents | nmrPipe -fn COADD -cList 1 0 -time \

... first obtain one subset:

nmrPipe -in test.fid \
... process X dimension, usual way no Rance-Kay for gNhsqc_IPAP ...
| nmrPipe -fn TP \
| nmrPipe -fn COADD -cList 1 0 -time \
-verb -ov -out A.ft2

... then change the COADD line and obtain the second subset, like so:

nmrPipe -in test.fid \
| nmrPipe -fn TP \
| nmrPipe -fn COADD -cList 0 1 -time \
-verb -ov -out B.ft2

Then calculate the final separated spectra.

addNMR -in1 A.ft2 -in2 B.ft2 -out A+B.ft2 -c1 1.0 -c2 1.25 -add
addNMR -in1 A.ft2 -in2 B.ft2 -out A-B.ft2 -c1 1.0 -c2 1.25 -sub

answered Dec 11 '09 at 16:52

rshapiro's gravatar image


updated Mar 03 '10 at 13:11

Evgeny%20Fadeev's gravatar image

Evgeny Fadeev

Oh, wow. Sorry it condensed the script like--I'm not sure how to get it to preserve the spaces after the \'s when I paste. - rshapiro (Dec 11 '09 at 17:00)

the editor button with ones and zeroes formats source code - Evgeny Fadeev (Dec 11 '09 at 17:20)

Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a good answer, for discussions, please use comments and please do remember to vote (login to vote)
toggle preview

powered by CNPROG