2, 3, and 4D Processing of NUS data. (incomplete.. needs

Download Report

Transcript 2, 3, and 4D Processing of NUS data. (incomplete.. needs

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!