Hi, Forget about the bruker.read user function, I can see now that spectrum.read in its current form is fully sufficient. I also had an idea to make it even simpler for the user. The intensity columns do not need to be specified for this file format. Therefore we get the user to select the file, and then have them come up with spectrum IDs for each of the columns in the file. That's it.
For the backend, we would first do some sanity checks. For example we check and see if the user has input the correct number of spectrum IDs and, if not, raise a RelaxError to tell them the exact problem. Then all of the data can be read at once. Regards, Edward On 21 June 2013 21:24, Edward d'Auvergne <[email protected]> wrote: > Ok, I now got it! I know how we can bludgeon the spectrum.read user > function to handle this. It's a simple trick, and also very simple > for the user. What we do is let the user set the int_col argument to > the Z_Ax column for the spectrum ID they will use. Then the backend > takes this column and multiplies it with the fixed column 6 to obtain > the real intensity (if it's not fixed, then we can work it out from > the position of the 'VOL' label in the VARS row). For this, we just > need to add a paragraph to the user function documentation saying how > NMRPipe seriesTab files are handled. It would also then be worth > adding this to the relax user manual. Do you know LaTeX? > > As for reading everything in one go, have a look at the bruker.read > user function for inspiration > (http://www.nmr-relax.com/manual/bruker_read.html). We could create a > new user function for just this file format, maybe > spectrum.read_seriestab, which would read all of the data en masse. > > Regards, > > Edward > > > > On 21 June 2013 20:52, Troels Emtekær Linnet <[email protected]> wrote: >> If -list list_of_files.txt contains: >> ../0/test.ft2 >> ../1/test.ft2 >> ../2/test.ft2 >> ../3/test.ft2 >> >> Then this comes out. >> >> ---------------------- >> REMARK SeriesTab Input: ../../peaks.dat Output: allexp.ser >> REMARK Mode: Summation Dimensions: 2 >> REMARK Input Region: X +/- 0 X-ZF: 1 >> REMARK Analysis Region: X +/- 0 >> REMARK Input Region: Y +/- 0 Y-ZF: 1 >> REMARK Analysis Region: Y +/- 0 >> >> VARS INDEX X_AXIS Y_AXIS X_PPM Y_PPM VOL ASS Z_A0 Z_A1 Z_A2 Z_A3 >> FORMAT %5d %9.3f %9.3f %8.3f %8.3f %+e %s %7.4f %7.4f %7.4f %7.4f >> >> NULLVALUE -666 >> NULLSTRING * >> >> 1 254.059 150.545 8.525 116.014 +1.660865e+05 A2N-H 1.0000 >> 1.1887 1.1893 1.1876 >> 2 236.553 58.937 8.696 125.904 +8.106413e+05 A3N-H 1.0000 >> 1.1940 1.1935 1.1954 >> 3 193.454 86.021 9.117 122.980 +4.835453e+05 A4N-H 1.0000 >> 1.1958 1.1962 1.1941 >> 4 161.310 107.270 9.431 120.686 +2.538240e+05 A5N-H 1.0000 >> 1.1919 1.1934 1.1924 >> 5 165.097 30.288 9.394 128.997 +4.701862e+05 A6N-H 1.0000 >> 1.1965 1.1959 1.1970 >> 6 184.650 63.133 9.203 125.451 +4.951762e+05 A7N-H 1.0000 >> 1.1937 1.1929 1.1910 >> 7 229.694 53.861 8.763 126.452 +4.193051e+05 A8N-H 1.0000 >> 1.1936 1.1971 1.1939 >> 8 277.092 99.897 8.300 121.482 +5.726205e+05 A9N-H 1.0000 >> 1.1961 1.1976 1.1986 >> 9 243.719 183.928 8.626 112.410 +5.105667e+05 A10N-H 1.0000 >> 1.1966 1.1961 1.1966 >> >> You would have to tell that the intensity is Col[6] X Col[line_nr+8] >> >> >> >> Troels Emtekær Linnet >> >> >> 2013/6/21 Edward d'Auvergne <[email protected]> >>> >>> Hi, >>> >>> This might be too difficult to incorporate into the current >>> spectrum.read user function. I'm not 100% sure what you mean yet >>> though. Would you be able to illustrate with examples? Maybe this >>> could be considered after the single files can be successfully read. >>> >>> Regards, >>> >>> Edward >>> >>> >>> >>> On 21 June 2013 20:21, Troels Emtekær Linnet <[email protected]> wrote: >>> > SeriesTab can be used for single files, if the keyword >>> > >>> > -list list_of_files.txt >>> > only contains one file. >>> > >>> > Then the intensity will be read from column 6. >>> > This is FINE for the GUI. >>> > >>> > But, if you provide it a list of several files, they will be compared, >>> > to 5 >>> > digits. >>> > This is a nice feature, since you now have a matrix possibility. >>> > >>> > Say that you have a dispersion experiment and record 20 interleaved >>> > spectra. >>> > Then you change a parameter somewhere, and have 20 new files. And >>> > repeat. >>> > All this can be contained in one big file. >>> > >>> > So, you want to create a python file, which go through the list file, >>> > and >>> > takes Col[line_number +7] * Col[5] >>> > And then you have the name for the spectrum from the list file. >>> > >>> > Sooooo..... I would need this feature! >>> > >>> > >>> > >>> > >>> > Troels Emtekær Linnet >>> > >>> > >>> > 2013/6/21 Edward d'Auvergne <[email protected]> >>> >> >>> >> Hi, >>> >> >>> >> For this one I would prefer not to apply the patch. I think there are >>> >> already too many keyword arguments for the spectrum.read user function >>> >> and the GUI interface for it will be too crowded. And as I mentioned >>> >> at: >>> >> >>> >> http://thread.gmane.org/gmane.science.nmr.relax.devel/3963/focus=4066 >>> >> >>> >> we should be able to determine the scaling column from the *.ser file. >>> >> What do you think? >>> >> >>> >> Regards, >>> >> >>> >> Edward >>> >> >>> >> >>> >> >>> >> On 21 June 2013 20:04, Troels E. Linnet >>> >> <[email protected]> wrote: >>> >> > Follow-up Comment #26, sr #3043 (project relax): >>> >> > >>> >> > Intensity column keyword added for NMRPipe SeriesTab format. >>> >> > >>> >> > Progress sr #3043: (https://gna.org/support/index.php?3043) Support >>> >> > for >>> >> > NMRPipe seriesTab format *.ser >>> >> > >>> >> > Added the keyword "col_mult": >>> >> > """ The column which to multiply the peak intensity data (used by the >>> >> > SeriesTab intensity file format). """ >>> >> > If the file 'allplanes.list' contains several paths to .ft2 files, >>> >> > the >>> >> > call >>> >> > to: >>> >> > seriesTab -in peaks.dat -out allplanes.ser -list allplanes.list >>> >> > will give a result file where the the total intensity will be given >>> >> > by >>> >> > column: >>> >> > VOL x Z_A0 etc. >>> >> > >>> >> > The result file contain the VARS keyword: >>> >> > INDEX X_AXIS Y_AXIS X_PPM Y_PPM VOL ASS Z_A0 Z_A1 Z_A2 Z_A3 >>> >> > Where Z_A0 Z_A1 Z_A2 Z_A3 matches allplanes.list >>> >> > >>> >> > An 'allplanes.list' is easily created by: >>> >> >> ls -v -d -1 /.ft2 > allplanes.list >>> >> > >>> >> > >>> >> > (file #18152) >>> >> > _______________________________________________________ >>> >> > >>> >> > Additional Item Attachment: >>> >> > >>> >> > File name: trunk_SeriesTab4_2 Size:1 KB >>> >> > >>> >> > >>> >> > _______________________________________________________ >>> >> > >>> >> > Reply to this item at: >>> >> > >>> >> > <http://gna.org/support/?3043> >>> >> > >>> >> > _______________________________________________ >>> >> > Message sent via/by Gna! >>> >> > http://gna.org/ >>> >> > >>> >> > >>> >> > _______________________________________________ >>> >> > relax (http://www.nmr-relax.com) >>> >> > >>> >> > This is the relax-devel mailing list >>> >> > [email protected] >>> >> > >>> >> > To unsubscribe from this list, get a password >>> >> > reminder, or change your subscription options, >>> >> > visit the list information page at >>> >> > https://mail.gna.org/listinfo/relax-devel >>> > >>> > >> >> _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

