i like this post (click again to cancel)
2
i dont like this post (click again to cancel) remove favorite mark from this question (click again to restore mark)

I have a 2D complex time domain set stored in ASCII format. I want to be able to process it using nmrPipe. Unfortunately I am running into trouble once I try to use txt2pipe.tcl macro from the nmrPipe package. By convention it assumes that the data is in frequency domain and is real. The conversion into the time domain can be achieved by setting the headers correctly, however the 2D acqusition mode not as easily (Comlex/States/Rance-Kay etc. ). Here is the header I use before FT'ing:

sethdr test.fid -ndim 2 -aq2D States -xFT Time -xMODE Complex \
        -xT 1024 -xN 512 -yFT Time -yMODE Complex -yT 256 -xN 128

Also the way the data is stored is as the following (with 4 spacing in between parameters):

1 1 1 Re[1,1] ! N-type

2 1 1 Re[1,1]

3 1 1 Re[1,1]

...

512 1 1 Re[1,1]

513 1 1 Im[1,1]

...

1024 1 1 Im[1,1]

1 2 1 Re[1,1]* ! P-type

2 2 1 Re[1,1]*

3 2 1 Re[1,1]*

...

512 2 1 Re[1,1]*

513 2 1 Im[1,1]*

...

1024 2 1 Im[1,1]*

. . .

1 256 1 Re[1,1]*

2 256 1 Re[1,1]*

3 256 1 Re[1,1]*

...

512 256 1 Re[1,1]*

513 256 1 Im[1,1]*

...

1024 256 1 Im[1,1]*

I would appreciate it if anyone can point me out whether there is something wrong with the header or the way the data is stored, or even whether it is possible to do with nmrDraw or not.

Thanks, Hasan Celik

asked Nov 23 '09 at 08:45

hasancelik's gravatar image

hasancelik
48

updated Dec 10 '09 at 07:01

Evgeny%20Fadeev's gravatar image

Evgeny Fadeev
5771


One Answer:
i like this answer (click again to cancel)
3
i dont like this answer (click again to cancel) the author of the question has selected this answer as correct

There are many ways to do this.

As described, this data happens already to be in the data order that an NMRPipe hypercomplex FID is stored. So, a simple approach might be to convert the data directly to binary, and add an appropriate NMRPipe header.

According to the info above, the data input has four columns (0 1 2 3) with the actual FID intensities in column 3. And the text file should have 1024*256 = 262144 lines.

For example, if the input text file is "fid.txt":

getCols fid.txt col.txt 3

txt2bin.tcl < col.txt > col.bin

bin2pipe -noIn -noOut \
  -xN              1024  -yN               256  \
  -xT               512  -yT               128  \
  -xMODE        Complex  -yMODE        Complex  \
  -xSW        10000.000  -ySW        10000.000  \
  -xOBS         500.000  -yOBS         500.000  \
  -xCAR           4.700  -yCAR           4.700  \
  -xLAB              F2  -yLAB              F1  \
  -ndim               2  -aq2D          States  \
  -out hdr.dat -verb -ov

cat hdr.dat col.bin > test.fid
link

answered Dec 10 '09 at 00:34

delaglio's gravatar image

delaglio
1361

updated Dec 10 '09 at 07:00

Evgeny%20Fadeev's gravatar image

Evgeny Fadeev
5771

Thanks a lot for the help, Frank. It works as intended. - hasancelik (Dec 11 '09 at 07:06)

Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a good answer, for discussions, please use comments and please do remember to vote (login to vote)
toggle preview

powered by CNPROG