4D-NUS-nmrPipe-Processing

advertisement
The process in brief:
Data are recorded and separated in the fid.com as “phasesfirst” (X: direct dimension
(complex), Y: phases (2x2x2), Z: indirect dimension increments (F3, F2, F1), A: no
points)
After FT of the direct dimension, this one is sent to A, phases and increments remain as
X and Y.
The IST reconstruction is dependent on data arranged this way.
phf2pipe (phasesfirst to pipe format) shuffles reconstructed data in X (phases) and Y
(increments) to X (F3), Y (F2), and Z (F1), A remains the direct dimension.
Now F1-3 are Fourier transformed.
Values, file names, and locations should of course be changed to what corresponds to
your data.
We show two versions of data encoding, using interleaved acquisition in a single
experiment and acquisition as chunks of data for coping with magnet drift.
The pulse programs are provided as separate files.
NUS sampling lists:
Version 1, with a pulse program executable with xwinnmr, uses a linear vc list, which
can be generated with a pearl script from the 3-column NUS list that the Poisson-gap
sampling generator (obtainable at the Wagner lab homepage) provides. One has to
take into account that the first data point recorded before any delay incrementation,
and the first triple of numbers in the list then already represents the second data point
acquired. The schedule used by the IST routine (called sched3D in the routine below),
however, requires the first point to be
000
…
Version 2 (pulse program executable with Topspin 3.x) directly uses a NUS list as
generated by the sampling schedule generator (called nuslist in the routine below).
You should make sure that the order of columns equals the one that the Topspin
schedule generator would provide (recognizable from the maximal increments in each
column).
When using the schedule generator, make sure to request the number of points in each
dimension as the number of complex points (half the number of points you would put
into the eda window in Topspin/xwinnmr).
Version 1:
as recorded with xwinnmr and using interleaved acquisition of two regular scan and
one diagonal compensation scan:
1. Splitting the ser file with nmrPipe (fid.com):
#!/bin/csh
#rm -r fid
bruk2pipe -in ./108/ser \
-bad 0.0 -aswap -DMX -decim 720 -dspfvs 20 -grpdly 67.9895935058594 \
-xN
2304 -yN
24 -zN
718 -aN 0 \
-xT
1109 -yT
24 -zT
718 -aT 0 \
-xMODE
DQD -yMODE Real -zMODE
Real -aMODE Real \
-xSW 27777.778 -ySW 1848 -zSW 1848 -aSW 8756.567\
-xOBS 700.365 -yOBS 70.975 -zOBS 70.975 -aOBS 700.365\
-xCAR 4.986 -yCAR 118.841 -zCAR 118.841 -aCAR 4.985\
-xLAB
HNx -yLAB 15Ny -zLAB 15Nz -aLAB HNa \
-ndim
3 -aq2D
States
\
| nmrPipe -fn COADD -cList 1 1 -0.65 -axis Y -time \
#| nmrPipe -fn MAC -macro ./ranceY.M -noRd -noWr \
#| nmrPipe -fn MAC -macro ./ranceZphf.M -noRd -noWr \
| pipe2xyz -out ./Dfid/testS%03d.fid -verb -ov
echo S done
sleep 5
(2a, temporary. Fourier transformation of the direct dimension
(ft1phasing.com, for phasing of the direct dimension only, easier for a nondiagonal-compensated data set):
#!/bin/csh -f
#
# 3D States-Mode HN-Detected Processing.
rm -rf yzx
xyz2pipe -in ./fid/testS%03d.fid -x \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 -size 600 \
| nmrPipe -fn EM -lb 20 -c 1 -size 600
\
| nmrPipe -fn ZF -size 4048
\
| nmrPipe -fn FT -verb
\
| nmrPipe -fn PS -p0 -68.9 -p1 -46 -di
\
| nmrPipe -fn EXT -x1 1380 -xn 2600 -sw
\
#| nmrPipe -fn ZTP -verb
\
| pipe2xyz -ov -out yzx/testS%03d.ft1 -x
echo S done
sleep 5
2. Fourier transformation of the direct dimension (ft1.com):
#!/bin/csh -f
#
# 3D States-Mode HN-Detected Processing.
rm -rf yzx
xyz2pipe -in ./Dfid/testS%03d.fid -x \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 -size 600 \
| nmrPipe -fn EM -lb 20 -c 1
\
| nmrPipe -fn ZF -size 2048
\
| nmrPipe -fn FT -verb
\
| nmrPipe -fn PS -p0 -68.9 -p1 -48 -di
\
| nmrPipe -fn EXT -x1 690 -xn 1300 -sw
\
| nmrPipe -fn ZTP -verb
\
| pipe2xyz -ov -out Dyzx/testS%03d.ft1 -y
echo S done
sleep 5
3. Reconstruction of the indirect dimensions using the ISThms routine (which
you can download on the Wagner lab homepage), ist.csh :
#!/bin/csh -fxv
setenv FM_PROG ~shyberts/bin
set out_d = Drec
mkdir -p ${out_d}
# set I = $1
set I = 1
while ( $I <= 611 )
set II = ` echo $I | gawk '{printf("%03d", $1) }'`
set in = testS$II.ft1
set out = testS$II.phf
set tst = testS$II.tst
if ( -f ${out_d}/${tst} ) then
echo $in $out
else
touch ${out_d}/${tst}
echo -n "started $in at "
date
${FM_PROG}/ist_20110808_64b -ref 0 -dim 3 -user 1 -incr 1 -xN 19 -yN 19 -zN 88 verb 1 -vlist ./sched.3d -i_mult 0.98 -e_mult 0.98 -itr 200 < ./Dyzx/${in} >!
./${out_d}/${out}
echo -n "ended $in at "
date
endif
@ I += 1
end
(4a. Individual Fourier transformation of indirect dimension X for phasing
only (exemplary: ft2phasing.com, again: works better if you do this with
uncompensated data):
#!/bin/csh
xyz2pipe -in Drec/testS%03d.phf | ~shyberts/bin/phf2pipe_20110801_64b -user 1
\
| pipe2xyz -out Drec/testS%03d%03d.ft1 -ov
echo phf2pipe done
xyz2pipe -in Drec/testS%03d%03d.ft1 -x -verb \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn EM -lb 20
\
| nmrPipe -fn ZF -size 128
\
| nmrPipe -fn FT -auto
\
| nmrPipe -fn PS -p0 -26 -p1 0 -di
\
| pipe2xyz -x -ov -out Dft_1/convS%03d%03d.ft4
xyz2pipe -in Dft_1/convS%03d%03d.ft4 -a -verb \
| nmrPipe -fn TP
\
| pipe2xyz -x -ov -out Dft_1S/convS%04d%03d.ft4
sleep 5
)
(4b. Individual Fourier transformation of indirect dimensions for phasing only
(exemplary: ft4phasing.com):
#xyz2pipe -in Drec/testS%03d.phf | ~shyberts/bin/phf2pipe_20110801_64b -user
1\
#| pipe2xyz -out Drec/testS%03d%03d.ft1 -ov
xyz2pipe -in Drec/testS%03d%03d.ft1 -z -verb \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
#| nmrPipe -fn ZF -size 32
\
##| nmrPipe -fn FT -auto
\
#| nmrPipe -fn PS -p0 -26.0 -p1 0.0 -di
\
#| nmrPipe -fn TP -verb \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
##| nmrPipe -fn MULT -i -1.0 \
#| nmrPipe -fn ZF -size 32
\
##| nmrPipe -fn FT -auto
\
#| nmrPipe -fn PS -p0 -3.6 -p1 0.0 -di
\
#| nmrPipe -fn TP \
#| nmrPipe -fn ZTP -verb 2\
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn ZF -size 32
\
| nmrPipe -fn FT -neg -verb
\
| nmrPipe -fn PS -p0 167 -p1 30 -di
\
| nmrPipe -fn REV \
##| nmrPipe -fn ZTP \
| pipe2xyz -x -ov -out Dft_4/fourD%04d%03d.ft4
xyz2pipe -in Dft_4/fourD%04d%03d.ft4 -a -verb \
#| nmrPipe -fn TP
\
| pipe2xyz -x -ov -out Dft_4S/fourD%04d%03d.ft4
4. Fourier transformation of all indirect dimensions (ft234.com):
xyz2pipe -in Drec/testS%03d.phf | ~shyberts/bin/phf2pipe_20110801_64b -user 1
\
| pipe2xyz -out Drec/testS%03d%03d.ft1 -ov
echo phf2pipe done
xyz2pipe -in Drec/testS%03d%03d.ft1 -x -verb \
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn ZF -size 64
\
| nmrPipe -fn FT -auto
\
| nmrPipe -fn PS -p0 -2.0 -p1 0.0 -di
\
| nmrPipe -fn TP -verb \
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
#| nmrPipe -fn MULT -i -1.0 \
| nmrPipe -fn ZF -size 64
\
| nmrPipe -fn FT -auto
\
| nmrPipe -fn PS -p0 -3.6 -p1 0.0 -di
\
| nmrPipe -fn TP \
| nmrPipe -fn ZTP -verb 2\
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn ZF -size 64
\
| nmrPipe -fn FT -neg -verb
\
| nmrPipe -fn PS -p0 167 -p1 30 -di
\
| nmrPipe -fn REV \
| nmrPipe -fn ZTP \
| pipe2xyz -z -ov -out Dft_4/fourD%04d%03d.ft4
5. Saving the nmrPipe planes in a single file (safefile.com):
xyz2pipe -in Dft_4/fourD%04d%03d.ft4 -z -verb
> D_HNNH.ft4
\
This file should be transformed into ucsf format by pipe2ucsf (comes with Sparky)
for much better performance of CCPNmr.
Version 2:
as recorded with Topspin 3.2 and using five separate 4D data sets for coping with
magnetic field drift:
1. Splitting each ser file with nmrPipe (fid.com):
#!/bin/csh
#for approx. referencing purposes, water was at 4.735 ppm
bruk2pipe -in ./ser \
-bad 0.0 -aswap -DMX -decim 200 -dspfvs 20 -grpdly 68.003173828125 \
-xN
6144 -yN
8 -zN
1290 -aN
0 \
-xT
2994 -yT
8 -zT
1290 -aT
0 \
-xMODE
DQD -yMODE
Real -zMODE
Real -aMODE
Real \
-xSW
100000.000 -ySW
2857.143 -zSW
2857.143 -aSW 4616.805 \
-xOBS
1000.308 -yOBS
101.371 -zOBS
101.371 -aOBS
1000.308 \
-xCAR
7.775 -yCAR
117.729 -zCAR
117.729 -aCAR
7.775 \
-xLAB
1xx -yLAB
15Ny -zLAB
15Nz -aLAB
1H \
-ndim
3 -aq2D
States
\
| pipe2xyz -x -out ./fid/test%04d.fid -verb -ov -to 0
sleep 5
2. Adding the 4D data sets of regular scans (combine4d.com):
#!/bin/csh
#add 4 3d data sets
echo starting
addNMR -in1 31/fid/test%04d.fid -in2 33/fid/test%04d.fid -out
combinedfid/t1est%04d.fid -verb
echo next
addNMR -in1 37/fid/test%04d.fid -in2 combinedfid/t1est%04d.fid -out
combinedfid/t2est%04d.fid -verb
echo next
addNMR -in1 39/fid/test%04d.fid -in2 combinedfid/t2est%04d.fid -out
combinedfid/combined%04d.fid -verb
echo done final files in combinedfid
3. Subtracting the compensation scan data set (diagcomp0p6i.com):
#!/bin/csh
#add 2 3d data sets
echo starting
addNMR -in1 combinedfid/combined%04d.fid -in2 ref/test%04d.fid -out
diagcomp0p6i/test%04d.fid -verb -c1 1 -c2 0.6
echo done
(4a, temporary. Fourier transformation of the direct dimension
(ft1phasing.com, for phasing of the direct dimension only):
#!/bin/csh -f
#
# 3D States-Mode HN-Detected Processing.
rm -rf yzx
xyz2pipe -in ./diagcomp0p6/test%04d.fid -x \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 -size 600 \
| nmrPipe -fn EM -lb 50 -c 1
\
| nmrPipe -fn ZF -size 4096
\
| nmrPipe -fn FT -verb
\
| nmrPipe -fn PS -p0 -216 -p1 -65 -di
\
| nmrPipe -fn EXT -x1 1875 -xn 2165 -sw
\
#| nmrPipe -fn ZTP -verb
\
| pipe2xyz -ov -out Dyzx0p6/test%03d.ft1 -x
echo S done
sleep 5
)
4. Fourier transformation of the direct dimension (ft1.com):
#!/bin/csh -f
#
# 3D States-Mode HN-Detected Processing.
rm -rf yzx
xyz2pipe -in ./diagcomp0p6i/test%04d.fid -x \
#| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 -size 600 \
| nmrPipe -fn EM -lb 150 -c 1
\
| nmrPipe -fn ZF -size 4096
\
| nmrPipe -fn FT -verb
\
| nmrPipe -fn PS -p0 -216 -p1 -65 -di
\
| nmrPipe -fn EXT -x1 1875 -xn 2165 -sw
| nmrPipe -fn ZTP -verb
\
| pipe2xyz -ov -out Dyzx0p6i/test%03d.ft1 -y
\
echo S done
sleep 5
5. Reconstruction of the indirect dimensions using the ISThms routine (which
you can download on the Wagner lab homepage), ist.csh :
#!/bin/csh -fxv
setenv FM_PROG ~shyberts/bin
set out_d = Drec0p6i
mkdir -p ${out_d}
# set I = $1
set I = 1
while ( $I <= 291 )
set II = ` echo $I | gawk '{printf("%03d", $1) }'`
set in = test$II.ft1
set out = test$II.phf
set tst = test$II.tst
if ( -f ${out_d}/${tst} ) then
echo $in $out
else
touch ${out_d}/${tst}
echo -n "started $in at "
date
${FM_PROG}/ist_20110808_64b -ref 0 -dim 3 -user 1 -incr 1 -xN 16 -yN 16 -zN 24 verb 1 -vlist ./nuslist -i_mult 0.98 -e_mult 0.98 -itr 200 < ./Dyzx0p6i/${in} >!
./${out_d}/${out}
echo -n "ended $in at "
date
endif
@ I += 1
end
(6a. Individual Fourier transformation of indirect dimensions for phasing only
(ft2phasing.com, again: works better if you do this with uncompensated data,
here exemplary for F2):
#!/bin/csh
xyz2pipe -in Drec0p6i/test%03d.phf | ~shyberts/bin/phf2pipe_20110801_64b user 1 \
| pipe2xyz -out Drec0p6i/test%03d%03d.ft1 -ov
xyz2pipe -in Drec0p6i/test%03d%03d.ft1 -z \
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn ZF -size 32
\
| nmrPipe -fn FT -neg -verb
\
| nmrPipe -fn PS -p0 -0 -p1 0 -di
\
| nmrPipe -fn REV \
| nmrPipe -fn CS -ls 50% \
#| nmrPipe -fn EXT -xn -7 -sw -verb
\
| pipe2xyz -out Dft_30p6i/test%04d%03d.ft3 -x -ov
xyz2pipe -in Dft_30p6i/test%04d%03d.ft3 -a \
| pipe2xyz -out Dft_3S0p6i/test%04d%03d.ft4 -x -ov
sleep 5
7. Fourier transformation of all indirect dimensions (ft234.com):
xyz2pipe -in Drec0p6i/test%03d.phf | ~shyberts/bin/phf2pipe_20110801_64b user 1 \
| pipe2xyz -out Drec0p6i/test%03d%03d.ft1 -ov
echo phf2pipe done
xyz2pipe -in Drec0p6i/test%03d%03d.ft1 -x -verb \
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn EM -lb 50 -c 1
\
| nmrPipe -fn ZF -size 64
\
| nmrPipe -fn FT -auto
\
| nmrPipe -fn PS -p0 -0.0 -p1 0.0 -di
\
| nmrPipe -fn CS -ls 50% \
| nmrPipe -fn TP -verb \
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn EM -lb 50 -c 1
\
#| nmrPipe -fn MULT -i -1.0 \
| nmrPipe -fn ZF -size 64
\
| nmrPipe -fn FT -auto
\
| nmrPipe -fn PS -p0 -0 -p1 0.0 -di
\
| nmrPipe -fn CS -ls 50% \
| nmrPipe -fn TP \
| nmrPipe -fn ZTP -verb 2\
| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5 \
| nmrPipe -fn EM -lb 80 -c 1
\
| nmrPipe -fn ZF -size 64
\
| nmrPipe -fn FT -neg -verb
\
| nmrPipe -fn PS -p0 0 -p1 0 -di
\
| nmrPipe -fn CS -ls 50% \
#| nmrPipe -fn REV \
| nmrPipe -fn ZTP \
| pipe2xyz -z -ov -out Dft_40p6i/fourD%04d%03d.ft4
8. Saving the nmrPipe planes in a single file (safefile.com):
xyz2pipe -in Dft_40p6i/fourD%04d%03d.ft4 -z -verb
> D_HNNH0p6i.ft4
\
Download