Chemical shift calibration with a reference signal.

calibrate(X, ppm, type = c("tsp", "glucose", "alanine"))

Arguments

X

num matrix, NMR data matrix with rows representing spectra and columns representing chemical shift position

ppm

num vector, matched to columns of X

type

str or num. Str: Either 'tsp' or 'glucose' for urine or blood-derived spectra, respectively (see Details). Num: ppm range of max height signal that will be used to reference to zero

Value

num matrix X, calibrated NMR data matrix.

Details

Spectral calibration to a selected chemical shift reference signal.

  • type='tsp'calibration to 0 ppm using the highest peak located in interval 0 +/- 0.20 ppm (Trimethylsilylpropanoic acid resonance)

  • type='glucose'calibration to 5.23 ppm using the glucose doublet located in interval 5.15 ppm to 5.30 ppm

  • type='alanine'calibration to 1.48 ppm using the alanine doublet located in interval 1.4 ppm to 1.53 ppm

  • type=ppm_rangeppm_range is numeric array, calibration to mean(ppm_range) using a maximum signal located in interval ppm_range

References

Dona, A.C., et al. (2014) Precision high-throughput proton NMR spectroscopy of human urine, serum, and plasma for large-scale metabolic phenotyping. Analytical Chemistry. 86.19. 9887-94.

Author

torben.kimhofer@murdoch.edu.au

Examples

data(covid_raw) matspec(X, ppm, shift=c(-0.1,0.1))
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
X_tsp=calibrate(X, ppm, type='tsp') matspec(X, ppm, shift=c(-0.1,0.1))
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
# calibrate with glucose (blood plasma) matspec(X, ppm, shift=c(5.15, 5.3))
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
X_tsp=calibrate(X, ppm, type='glucose') matspec(X, ppm, shift=c(5.15, 5.3))
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels
#> Warning: minimal value for n is 3, returning requested palette with 3 different levels