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 nonuniformly • We convert data from Bruker/Varian like normal • Processing starts by doing FT on directly acquired data first • Data is then transposed... ready for 2D Spectra Conversion fid.com • • • • • • • • • • • #!/bin/sh -f bruk2pipe -in ser -DMX -swap -decim 24 -dspfvs 12 \ -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 \ | nmrPipe -fn POLY -ord 0 -auto \ -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 FT -auto \ | nmrPipe -fn PS -p0 -90.0 -p1 0.0 -di -verb \ | nmrPipe -fn POLY -ord 0 -auto \ | nmrPipe -fn TP \ | 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 #!/bin/csh bruk2pipe -in ./ser \ -bad 0.0 -noaswap -DMX -decim 24 -dspfvs 12 -grpdly 0 -xN 2048 -yN 4 -zN -xT 1024 -yT 2 -zT -xMODE DQD -yMODE Real -zMODE -xSW 7002.801 -ySW 1824.818 -zSW -xOBS 500.132 -yOBS 50.684 -zOBS -xCAR 4.772 -yCAR 119.571 -zCAR -xLAB HN -yLAB 15N -zLAB -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? \ 818 409 Real 2777.778 125.780 176.054 13C \ \ \ \ \ \ \ \ • • • 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. • This is how the Pulse Program Acquires the data •E.g. 2 FIDs for Nitrogen (a complex point) • 2 FIDs for Carbon (a complex point) • Then there are 818 points acquired. -zN = 818 • • • We treat each FID is real for conversion • | nmrPipe -fn MAC -macro $NMRTXT/ranceY.M -noRd -noWr \ • Here the Y dimension (Nitrogen) is labeled as Rance-Kay (Echo-AntiEcho). 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. 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 #!/bin/csh -xv set F = $1 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 canfrom be replaced with -autoN which gets the limits of reconstruction 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.... • • • • 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 step are fully reconstructed from last 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 SP -off 0.5 -end 0.98 -pow 2 -c 0.5 \ | 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!