Overview of RNMRTK Software for NMR Data Processing

Slide Note
Embed
Share

Rowland NMR Toolkit (RNMRTK) is a comprehensive software platform primarily used for NMR data processing tasks such as running MaxEnt, apodization, DFT processing, linear prediction, and more. It offers a robust set of tools for various processing needs and supports efficient parallel processing. RNMRTK includes a suite of programs for managing shared memory sections and provides methods for efficient data output between commands without requiring intermediate files. The software is free for academic use and is compatible with popular NMR software tools.


Uploaded on Sep 21, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

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 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 section -c 1024 96 45 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 RNMRTK program to manage (create / delete) shared memory sections

  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 512 128 128 Shared memory section is too small as data is complex section -c 1024 256 256 Shared memory section just fits data, but cannot handled a ZF section -c 2048 512 512 Shared memory section allows each dimension to be doubled NOTES: section -d section -c 1024 Shared memory sections stay persistent until forcefully deleted or the computer rebooted 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 SF1 599.8763 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 16 20 156.25 COS sstdc 156.25 16 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 LOAD command does not need dimension set FFT command must have dimension set 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

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

  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 0.0 0.0 REALPART SEEPAR DIM t2 SINEBELL SQUARE SHIFT 70.0 USE 128 ZEROFILL 256 CONJ FFT 0.50 PHASE 90.0 0.0 REALPART SEEPAR SAVE ft.sec PUTNMRPIPE ft_f3f1.ft3 f3 f1 DIM F2 XSECT SUM PUTNMRPIPE ft-f2_proj.ft2 LOAD ft.sec DIM F1 XSECT SUM PUTNMRPIPE ft-f1_proj.ft2 EOF #! /bin/sh section -c 512 512 512 rnmrtk << EOF LOADVNMR t1 t2 TR120 D23 ./fid SETPAR PPM3 4.773 SETPAR PPM1 174.971 SETPAR PPM2 118.991 SEEPAR EOF rnmrtk << EOF DIM t3 SEFIX1 t2 SSTDC 16 20 0.00 BC 12.5 GM 20.00 20.00 ZEROFILL 1024 FFT 0.50 PHASE -58.0 0.0 SHRINK 256 200 REALPART SEEPAR

  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. 170 Values too high will cause weak features of the spectrum to be lost 110 Values too low will cause even minute details of the noise to be included (will try to force an exact match to the noise) 50 Clear non-linearities are observed in peak intensities and are dependent on the value of aim. 1 unapodized DFT

  12. How to choose def? Large values of DEF lead to reconstructions resembling the DFT 1000 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 100 DEF is less sensitive than AIM and can be altered by orders of magnitude 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 Constant LAMBDA parameter file Max loops, convergence may be quicker DEBUG 1 NLOOPS 400 DEF 0.1 AIM 2.5 SCALEFIRST 0.5 SCHED ./sample_schedule NUSE 256 128 NOUT 512 256 PHASE 0.0 0.0 90.0 0.0 LW 0.0 0.0 JVALUE 0.0 0.0 DEBUG 1 NLOOPS 400 DEF 0.1 LAMBDA 1.0 SCALEFIRST 0.5 SCHED ./sample_schedule NUSE 256 128 NOUT 512 256 PHASE 0.0 0.0 90.0 0.0 LW 0.0 0.0 JVALUE 0.0 0.0 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. Lets 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

Related