Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rowland NMR Toolkit (RNMRTK) Overview

Similar presentations


Presentation on theme: "Rowland NMR Toolkit (RNMRTK) Overview"— Presentation transcript:

1 Rowland NMR Toolkit (RNMRTK) Overview
Originally developed as a platform for developing new NMR data processing methods Used primarily for the purposes of running MaxEnt Provides Rich set of apodization (window) functions DFT processing General processing tools (phasing, reversing, truncating, etc.) Robust, efficient Linear Prediction (LP) extrapolation MaxEnt reconstruction (deconvolution, uniform or nonuniform sampling) Efficient parallel processing exports to nmrPipe, XEASY, Felix; NMRViewJ reads RNMRTK format. Generates synthetic data, noise (testing/error analysis) Free for Academic use and included in NMRbox l1-norm real (LONER) has recently been added

2 RNMRTK – Suite of Programs
section – Manages the shared memory sections rnmrtk – The main processing program in the Toolkit Loading, apodization, DFT, phasing, saving, etc. flip – Forward linear prediction msa / msa2d / msa3d – Maximum entropy reconstruction in one, two, and three dimensions inject – Add synthetic peaks to time domain data select / zsample – Expands or compresses NUS data seepln / contour – graphical display for 1D and 2D data Many others …

3 RNMRTK – Shared memory section
With a suite of programs for performing tasks – How do you get data output from one command to the next command without needing to write out intermediate files? Pipes (nmrPipe strategy) Shared memory (RNMRTK strategy) A shared memory section is a chunk of persistent memory where NMR data can be stored and used by different programs. /dev/shm – A modern version of a shared memory implementation that gives the performance of shared memory, but without the overhead of managing traditional shared memory section RNMRTK program to manage (create / delete) shared memory sections section -c The size of the shared memory section is the product of the arguments multiplied by 4 (32 bit data) plus 512 extra bytes for a header. Shared memory sections must be large enough to store all the data – including processing section -d Deletes the shared memory section

4 RNMRTK – Shared memory The maximum size of shared memory sections is defined by kernel values shmmax and shmall. NMRbox takes care of these advanced settings. Example: Assume a data set size of 512 x 128 x 128 complex points “section -c ” Shared memory section is too small as data is complex “section -c ” Shared memory section just fits data, but cannot handled a ZF “section -c ” Shared memory section allows each dimension to be doubled NOTES: “section -d” Shared memory sections stay persistent until forcefully deleted or the computer rebooted “section -c 1024” Shared memory sections will delete exisiting shared memory sections when created No harm in having shared memory sections be too large

5 RNMRTK – rnmrtk rnmrtk Command for performing many of the traditional processing techniques Row (column) oriented. Many commands need to have the dimension set Can be run: one command at a time in interactive mode scripted

6 RNMRTK – Issuing commands
Arguments are entered as different classes: floats (defined as a number with a decimal) setpar SF integers (defined as a number without a decimal) zerofill 2048 string (defined as a character string without a period) sinebell square 70.0 filename (defined as a character string with a decimal point) loadvnmr ./fid load hsqc.sec The order of arguments entered is important, but only within a given class of argument sstdc COS sstdc COS 20 rnmrtk is case insensitive (except for filenames)

7 RNMRTK – Setting the dimension
DIM command sets the dimension for ROW oriented commands rnmrtk << EOF LOAD test.sec DIM t1 FFT EOF Some commands define the dimension as arguments msa2d t1 t2 ./parameter_file Sensitivity Enhancement The command sefix1 that is used to shuffle data collected with sensitivity enhancement. The dimension to shuffle is set in the command as an argument, but that dimension cannot be set beforehand with DIM rnmrtk << EOF rnmrtk << EOF DIM t2 DIM t3 SEFIX1 t2 SEFIX1 t2 EOF EOF LOAD command does not need dimension set FFT command must have dimension set

8 RNMRTK – Issuing commands
From the command line: bash% rnmrtk loadvnmr ./fid bash% rnmrtk setpar SF bash% * DIM command not persistent In interactive mode bash% rnmrtk rnmrtk% loadvnmr ./fid rnmrtk% DIM t2 rnmrtk% FFT rnmrtk% exit As a script bash% processing_script.com Typical script #! bin/bash section –c rnmrtk << EOF loadvnmr ./fid setpar PPM dim t2 zerofill 1024 fft 0.5 phase realpart EOF dim t1 zerofill 128 save test.sec Here doc Cannot have spaces at the beginning of lines

9 RNMRTK – DFT “cd GOTH/large-HNCO” “more rnmrtk.com” DIM t1
SINEBELL SQUARE SHIFT 70.0 USE 128 ZEROFILL 256 FFT 0.50 PHASE REALPART SEEPAR DIM t2 CONJ PHASE SAVE ft.sec PUTNMRPIPE ft_f3f1.ft3 f3 f1 DIM F2 XSECT SUM PUTNMRPIPE ft-f2_proj.ft2 LOAD ft.sec DIM F1 PUTNMRPIPE ft-f1_proj.ft2 EOF #! /bin/sh section -c rnmrtk << EOF LOADVNMR t1 t2 TR120 D23 ./fid SETPAR PPM SETPAR PPM SETPAR PPM SEEPAR EOF DIM t3 SEFIX1 t2 SSTDC BC 12.5 GM ZEROFILL 1024 FFT 0.50 PHASE SHRINK REALPART

10 Maximum Entropy Reconstruction (MaxEnt)
MaxEnt can be performed in one dimension (msa), two dimensions (msa2d) and three dimensions (msa4d) – NOTE: # of dimension MaxEnt is acting on, not dimension of experiment. The acquisition dimension is often processed with a DFT and not with MaxEnt There are two modes for processing with MaxEnt Constant AIM Must define DEF and AIM Constant LAMBDA Must define DEF and LAMBDA When all the dimensions are NOT processed with MaxEnt, such as when the acquisition dimension is processed with a DFT, you MUST use Constant Lambda mode 2D Data sets Option 1: Process F2 with DFT, and F1 with msa (lambda mode) Option 2: Process F2-F1 planes with msa2d (aim mode) 3D Data sets Option 1: Process F3 with DFT and F1-F2 planes with msa2d (lambda mode) Option 2: Process F3-F2-F1 cube with msa3d (aim mode) 4D Data sets Option 1: Process F4 with DFT and F1-F2-F3 cubes with msa3d (lambda mode)

11 How to choose aim? AIM should be set to a value close to the RMS of the noise. Values too high will cause weak features of the spectrum to be lost Values too low will cause even minute details of the noise to be included (will try to force an exact match to the noise) Clear non-linearities are observed in peak intensities and are dependent on the value of aim. 170 110 50 1 unapodized DFT

12 How to choose def? Large values of DEF lead to reconstructions resembling the DFT Small values of DEF suppress noise but distort relative peak intensities Like aim, setting DEF to values near the RMS is generally the most appropriate DEF is less sensitive than AIM and can be altered by orders of magnitude 1000 100 1

13 DEF & AIM High DEF, Low AIM Very low DEF, Low AIM Low DEF and Low AIM

14 LAMBDA During a constant AIM calculation a value LAMBDA will be converged to. LAMBDA is the weight applied to the entropy function relative to the constraint of matching to the experimental data If processing 1D slices of a 2D; 2D planes of a 3D; or 3D cubes of a 4D, each calculation will converge to a different LAMBDA. LAMBDA will affect the non-linearity and cause a “scaling” of the data Let’s assume we are processing a 3D data set where the acquisition dimension is processed with a DFT and the 2D indirect planes are processed with MaxEnt In constant AIM mode each plane will have a slightly different LAMBDA value and hence a slight different in scaling and non-linearity. This will cause distortions in the 3D peak shapes To “fix” this issue MaxEnt can be run in constant LAMBDA mode To determine LAMBDA, it is typical to process the data initially in constant AIM mode and average the converged LAMBDA values.

15 RNMRTK – msa2d – 2 MODES Maximum Entropy Reconstruction in 2 dimensions Reads parameters from a file and dimensions are specified on invocation line Ex: msa2d t1 t2 msa2d.param Constant Aim parameter file DEBUG 1 NLOOPS 400 DEF 0.1 AIM 2.5 SCALEFIRST 0.5 SCHED ./sample_schedule NUSE NOUT PHASE LW JVALUE Constant LAMBDA parameter file DEBUG 1 NLOOPS 400 DEF 0.1 LAMBDA 1.0 SCALEFIRST 0.5 SCHED ./sample_schedule NUSE NOUT PHASE LW JVALUE Max loops, convergence may be quicker NUS Uniform Data will be extrapolated For 3D NUS datasets the acquisition dimension is typically processed with conventional FT and then the indirect dimensions are processed with msa2d

16 Let’s try a MaxEnt Reconstruction
“cd large-HNCO” “more msa2d_param” “wc -l schedule3.scd” There are 400 / 16,384 FIDs collected (2.4%) ./msa2d.com schedule3.scd test” “nmrDraw -in test_nudft_proj.ft2” “nmrDraw -in test_nudft.ft3” “nmrDraw -in test_msa2d_proj.ft2” “nmrDraw -in test_msa2d.ft3” You can compare the results to the DFT using 100% of the FIDs “nmrDraw -in ft-f1_proj.ft2” “nmrDraw -in ft-f2_proj.ft2” “nmrDraw -in ft_f3f1.ft3”

17 RNMRTK – msa2d Monitoring convergence Very important!
Ensure that the value of test is less than 0.1 unless fewer than NLOOPS required Without deconvolution convergence typically occurs is around 40 iterations if proper DEF, AIM, and LAMBDA values were use. High numbers of loops suggest msa2d is modeling noise With deconvolution the number of loops may be significantly higher. How to check values for Test and the maximum number of loops “tail msa2d.txt” “grep ^Test msa2d.txt | sort -n -k3” “grep Loop msa2d.txt | sort -n -k2”


Download ppt "Rowland NMR Toolkit (RNMRTK) Overview"

Similar presentations


Ads by Google