Examples of 2D and 3D spectra Processing NUS Data Examples of 2D and 3D spectra 4D to be appended soon. Assumed knowledge: NMRPipe and NMRDraw : Unix Environment
2D Processing 1D Reconstruction 15N, 13C HSQC and Homonuclear Spectra Single indirect dimension acquired non- uniformly We convert data from Bruker/Varian like normal Processing starts by doing FT on directly acquired data first Data is then transposed... ready for reconstruction
2D Spectra Conversion fid.com bruk2pipe -in ser -DMX -swap -decim 24 -dspfvs 12 \ #!/bin/sh -f -xN 2048 -yN 80 \ -xT 1024 -yT 40 \ -xMODE DQD -yMODE Echo-AntiEcho \ -xSW 7002.801 -ySW 1824.568 \ -xOBS 500.130 -yOBS 50.678 \ -xCAR 4.697 -yCAR 118.000 \ -xLAB 1H -yLAB 15N \ -ndim 2 -aq2D States \ -out data.fid -ov -verb Nothing Special for 2D Spectra Conversion!
Direct Dimension Transform ft1.com nmrPipe -in data.fid \ | nmrPipe -fn SOL \ | nmrPipe -fn SP -off 0.3 -end 0.98 -pow 2 \ | nmrPipe -fn ZF -auto \ | nmrPipe -fn FT \ | nmrPipe -fn PS -p0 46 -p1 0.0 -di \ | nmrPipe -fn EXT -left -sw -verb \ | nmrPipe -fn TP \ -verb -ov -out test.ft1 Viewing this output in NMRPipe allows you to phase direct dimension.
Direct Dimension Processing Only
Let’s fill in the blanks ist.com #!/bin/csh istHMS -in $1 -out $2 -zero 1 -vlist sched.1d \ -xN 440 -over 0 -ref 0 -itr 400 -verb 1 If this script is called ist.com then you would run it as: ist.com test.ft1 test.ft2
Direct Dimension Processing Only
Let’s FT indirect dimension! ft2.com nmrPipe -in test.ft2 \ | nmrPipe -fn SP -off 0.3 -end 0.98 -pow 1 -size 512 -c 0.5 \ | nmrPipe -fn ZF -size 1024 \ | nmrPipe -fn FT \ | nmrPipe -fn PS -p0 90 -p1 0.0 -di \ | nmrPipe -fn POLY -ord 0 -auto \ | nmrPipe -fn TP \ -verb -ov -out test.ft3 pipe2ucsf test.ft3 HSQC.ucsf
2D Processing Done
Simplified 2D Reconstruction ft12.com nmrPipe -in data.fid \ | nmrPipe -fn SOL \ | nmrPipe -fn SP -off 0.5 -end 0.98 -size 512 -c 1.0 \ | nmrPipe -fn ZF -size 1024 \ | nmrPipe -fn FT -auto \ | nmrPipe -fn PS -p0 -120.0 -p1 0.0 -di \ | nmrPipe -fn EXT -left -sw -verb \ | nmrPipe -fn TP \ | istHMS -xN 512 -sched ./sched.1d -itr 400 \ | nmrPipe -fn SP -off 0.5 -end 0.98 -c 0.5 -size 512 \ | nmrPipe -fn ZF -auto \ | nmrPipe -fn PS -p0 -90.0 -p1 0.0 -di -verb \ | nmrPipe -fn POLY -ord 0 -auto \ -ov -out test.ft12
Looks great!
3D Processing 2D Reconstruction Triple Rez, 3D NOESY, HC(C)H, XX(CO)NH etc Two indirect dimensions acquired non-uniformly We convert data from Bruker/Varian differently and cautiously Processing starts by doing FT on directly acquired data first - just like 2D Data is then transposed... ready for reconstruction Reconstruction followed by FT in 2nd and 3rd dimension.
3D Spectra Conversion fid.com bruk2pipe -in ./ser \ #!/bin/csh -bad 0.0 -noaswap -DMX -decim 24 -dspfvs 12 -grpdly 0 \ -xN 2048 -yN 4 -zN 818 \ -xT 1024 -yT 2 -zT 409 \ -xMODE DQD -yMODE Real -zMODE Real \ -xSW 7002.801 -ySW 1824.818 -zSW 2777.778 \ -xOBS 500.132 -yOBS 50.684 -zOBS 125.780 \ -xCAR 4.772 -yCAR 119.571 -zCAR 176.054 \ -xLAB HN -yLAB 15N -zLAB 13C \ -ndim 3 -aq2D States \ | nmrPipe -fn MAC -macro $NMRTXT/ranceY.M -noRd -noWr \ | pipe2xyz -out ./fid/test%03d.fid -verb -ov -to 0 What is going on here?
What is going on here? Data no longer collected as a series of planes. Instead, treat data as string of points acquired according to the schedule. In 3D spectrum there are 4 FIDs per indirect point. -yN = 4 2 FIDs for each indirect dimension. E.g. 2 FIDs for Nitrogen (a complex point) 2 FIDs for Carbon (a complex point) This is how the Pulse Program Acquires the data Then there are 818 points acquired. -zN = 818 We treat each FID is real for conversion Each FID is put into a complex line of data by the reconstruction program Any dimension with non-complex acquisition (read Echo-AntiEcho) needs to be labeled as such. | nmrPipe -fn MAC -macro $NMRTXT/ranceY.M -noRd -noWr \ Here the Y dimension (Nitrogen) is labeled as Rance-Kay (Echo-AntiEcho).
Direct Dimension Transform ft1xyz.com xyz2pipe -in fid/test%03d.fid -x \ | nmrPipe -fn SOL \ | nmrPipe -fn SP -off 0.3 -end 0.98 -pow 2 -c 1.0 -size 512 \ | nmrPipe -fn ZF -size 512 \ | nmrPipe -fn FT -verb \ | nmrPipe -fn PS -p0 -34.4 -p1 0.0 -di \ | nmrPipe -fn EXT -x1 11.0ppm -xn 5.5ppm -sw \ | pipe2xyz -ov -out xyz/test%03d.ft1 -x Read in x dimension, write out to x dimension This allows phasing of direct dimension in NMRPipe.
Direct Dimension Processing Only
Phase, Transpose for Reconstruction ft1.com xyz2pipe -in fid/test%03d.fid -x \ | nmrPipe -fn SOL \ | nmrPipe -fn SP -off 0.3 -end 0.98 -pow 2 -c 1.0 -size 512 \ | nmrPipe -fn ZF -size 512 \ | nmrPipe -fn FT -verb \ | nmrPipe -fn PS -p0 -34.4 -p1 0.0 -di \ | nmrPipe -fn EXT -x1 11.0ppm -xn 5.5ppm -sw \ | pipe2xyz -ov -out xyz/test%03d.ft1 -z Read in x dimension, write out to z dimension This places indirect data in the x and y dimensions. This is necessary for istHMS reconstruction.
Fill in with Blanks, Reconstruct ist.csh set F = $1 #!/bin/csh -xv set in = $F:t set out = $F:t:r.phf set ft1 = $F:t:r.ft1 echo $in $out $ft1 istHMS -dim 2 -incr 1 -xN 64 -yN 128 -user 1 \ -itr 400 -verb 1 -ref 0 -vlist ./sched.2d \ < ./yzx/${in} >! ./yzx_ist/${out} -xN and -yN can be replaced with -autoN which gets the limits of reconstruction from the schedule file Each file in ‘yzx’ directory needs to be processed this way. Opportunity for parallelization of this process.
Cluster Submission E.g. foreach F (yzx/test*.ft1) qsub -cwd ./ist.csh $F end Many other methods. Consult your sys/cluster admin.
Multicore Laptop/Desktop Processing Use a perl program that will run multiple jobs for you at once, but never more than one job per possible thread. My Macbook pro: 4 cores, 8 threads. 8 processes at once. Not too shabby. parallel -j 100% 'csh ist.csh {} 2> /dev/null; echo {}' ::: yzx/test*.ft1 Running at 100% will make things toasty. You can run at 50% etc etc. This will take 15-30 minutes for typical spectra.... coffee time!
Reordering FIDs phf2pipe.com #!/bin/csh xyz2pipe -in yzx_ist/test%03d.phf \ | phf2pipe -user 1 -xproj xz.ft1 -yproj yz.ft1 \ | pipe2xyz -out rec/test%03d.ft1 FIDs are fully reconstructed from last step FIDs are now in conventional order (planes) xproj and yproj give the first plane in each indirect dimension - for phasing. Lets look at yz.ft1
Projection Phasing
Final Processing ft23.com #!/bin/csh -f xyz2pipe -in rec/test%03d.ft1 -x \ | nmrPipe -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5 \ | nmrPipe -fn ZF -size 64 \ | nmrPipe -fn FT -verb \ | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ | nmrPipe -fn REV -verb \ | nmrPipe -fn TP \ | nmrPipe -fn ZF -size 128 \ | nmrPipe -fn FT -alt -verb \ | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ | nmrPipe -fn ZTP \ > rec/data.pipe pipe2xyz -in rec/data.pipe -out rec/test%03d.ft3 -y pipe2ucsf rec/data.pipe GB1_NUS_HNCO.ucsf
Nice Spectrum!