240 likes | 540 Views
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. 15 N, 13 C HSQC and Homonuclear Spectra Single indirect dimension acquired non-uniformly
E N D
Processing NUS Data • Examples of 2D and 3D spectra • 4D to be appended soon. • Assumed knowledge: NMRPipe and NMRDraw • : Unix Environment
2D Processing1D 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 Conversionfid.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 Transformft1.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.
Let’s fill in the blanksist.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
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
Simplified 2D Reconstructionft12.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
3D Processing2D 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 Conversionfid.com • #!/bin/csh • bruk2pipe -in ./ser \ • -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 Transformft1xyz.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.
Phase, Transpose for Reconstructionft1.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, Reconstructist.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 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 FIDsphf2pipe.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
Final Processingft23.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