License: This is an open access protocol distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited
DISCLAIMER – FOR INFORMATIONAL PURPOSES ONLY; USE AT YOUR OWN RISK
The protocol content here is for informational purposes only and does not constitute legal, medical, clinical, or safety advice, or otherwise; content added to protocols.io is not peer reviewed and may not have undergone a formal approval of any kind. Information presented in this protocol should not substitute for independent professional judgment, advice, diagnosis, or treatment. Any action you take or refrain from taking using or relying upon the information presented here is strictly at your own risk. You agree that neither the Company nor any of the authors, contributors, administrators, or anyone else associated with protocols.io, can be held responsible for your use of the information contained in or linked to this protocol or any of our Sites/Apps and Services.
Abstract
This protocol describes how to batch process and SAND one-dimensional (1D) proton (1H) NMR data.
Open the File Manager and extract sand_demo1.tar to the home directory by right-clicking on sand_demo1.tar and selecting "Extract Here."
The contents can also be extracted using the terminal by executing the command below:
tar -xvf sand_demo1.tar
Navigate to the extracted sand_demo1 directory, then copy and paste each ".com" file into the directory that contains your unprocessed data.
The ".com" files can also be copied using the terminal:
cp ./*.com ~/destination_folder
Creating Metadata table
Create a copy of meta.tab and place it into the directory containing your unprocessed data.
Update meta.tab to match the data within your unprocessed directory. Specifically, change the "DIR_NAME" column (the second column of numbers) to match the directories of the spectra you wish to batch process. You should also change the "TITLE" column (the third column) to describe the spectra you are processing, ensuring that there are no spaces in the title name.
Modifying meta.tab by hand is cumbersome, but you can use the script below to automate the process.
metaTabCreate.sh
1. Place the metaTabCreate.sh script in the same directory as the meta.tab file you just moved.
2. Ensure the file is executable by right-clicking on metaTabCreate.sh, choosing "Properties", selecting
"Permissions," and checking "Allow this file to run as a program".
3. Using a terminal, navigate (cd) to the directory containing the files and enter the command
./metaTabCreate.sh
4. Provide a title for the dataset, ensuring you do not use spaces in the name.
Ensure that the rows in the meta.tab file contain metadata only for the files you intend to process. You should delete any rows corresponding to folders that do not contain data or should not be processed.
Perform Processing
Using a new terminal window, navigate (cd) into the directory containing the unprocessed data, ".com" files, and meta.tab.
Enter the command
./all.com
The data processing is complete once a graphical image of the spectra appears on the screen. The final processed data will be located in the newly created folder named interp.
To view the spectra at any time after processing, open a terminal, navigate to the directory containing the unprocessed and processed data, and enter the command
specView.tcl -in interp/*.ft1
Optimizing Processing
Sometimes, the automatic zero-order phasing does not phase the spectra perfectly. If this is the case, please follow the steps below.
Visualize the spectra to identify which spectra are not phased correctly. Then, reprocess the chosen spectra with 0.0 zero-order phasing and 0.0 first-order phasing by changing the "P0" values for those spectra in meta.tab from Auto to 0.0 and then reexecuting
./all.com
After processing is complete, open a new terminal, navigate to the interp folder, and enter the command
nmrDraw
Note that nmrDraw functions best when used with a three-button mouse. Further directions on spectral processing and use of NMRPipe can be found at: https://www.ibbr.umd.edu/nmrpipe/index.html
Select the spectrum you want to phase by first right-clicking on "File" and then left-clicking on "Select File".
Use the top sliding bar to scroll through the spectra, and double left-click on the specific spectrum you wish to phase.
Use the sliders to phase the spectra by left-clicking and dragging them.
After the phasing looks correct, the values shown in the red box below will be the values used to replace the zero-order and first-order phase values for that spectrum in the meta.tab file.
After you have changed the phasing values in the meta.tab file, reexecute
./all.com
SAND
Download the run_sand and copy_csv_sand.sh files from the FLAnalyzer GitHub repository.
Line 20: Change the ppm values to cover the full chemical shift range in which peaks appear
(e.g., change 10ppm and -0.5ppm to values that suit your analysis)
Completion: After editing the file, save and close it.
On NMRbox, a single user can access up to three Virtual Machines (VMs) simultaneously. To reduce the time needed for SANDing, you should use three VMs. Repeat steps 14 through 17 on the different VMs. In the interp folder for each VM, delete any files that should not be SANDed by that specific VM. For example, if you want to SAND 140 spectra, keep the spectra in the scratch folder as follows: 1-48 on the first VM, 49-96 on the second VM, and 97-140 on the third VM.
On each VM, open the terminal, navigate to the scratch directory, and execute
./run_sand
View SAND Results
In the local directory where the SAND results are saved, navigate to the folder of an individual SANDed spectrum. You can use the command below to assess the SAND results.
It is helpful to gather all the SAND tables into a single directory, and this is required for use with FLAnalyzer. Download the copy_csv_sand.sh file from the FLAnalyzer GitHub (Step 14) and ensure the permissions are set to allow the script to run as an executable.
Edit the copy_csv_sand.sh script as follows:
Line 4: Add the absolute path to the directory where the CSV files will be copied.
Line 7: Change this to the absolute path of the destination directory for the SAND output folders, as specified in Line 8 of the run_sand script (Step 17).
Execute the script by entering
./copy_csv_sand.sh
Protocol references
1. Delaglio, F. et al. NMRPipe: a multidimensional spectral processing system based on UNIX pipes. J. Biomol. NMR.6, 277-293 (1995).
2. Wu, Y. et al. SAND: Automated Time-Domain Modeling of NMR Spectra Applied to Metabolite Quantification. Anal Chem96, 1843-1851 (2024).
Acknowledgements
Thanks to Laura Morris for reviewing the protocol.