PQN is currently the gold standard method used to normalise NMR spectra.

pqNorm(
  X,
  noi,
  use_ta = FALSE,
  uv_used = "mode",
  calc_region = c(0.5, 9.5),
  bin_width = 0.01
)

Arguments

X

The numerical matrix containing the NMR data you wish to normalise. This should be a preprocessed matrix with baseline correction, tsp calibration and non-quantitative region removal performed on it. The rows must contain information of one whole spectrum and the columns contain the specific chemical shift variables.

noi

Takes an array that is row matched to the X matrix you are normalising with the values equaling the maximum noise estimation for each spectra respectively.

use_ta

Requires a boolean TRUE or FALSE if total area normalisation should be performed on the spectra before PQN is.

uv_used

PQN utilises finding the median or the mode, which are both Univariate methods. Recognises either the string 'median' or 'mode' to instruct which method to use. Default = 'mode'

calc_region

The lower and upper bounds of the spectrum that will be used to calculate the dilution coeficient

bin_width

The width of the bin when the spectra are binned

Value

This function assigns the normalised X argument (as X_pqn) and the calculated dilution factors (as dilf_pqn) to the global environment.

Details

pqNorm() functions by calculating the median value for each column and divides each element of a spectrum by its corresponding median. The most frequently occurring quotient (result of division) is then called the dilution factor for that spectrum and all elements within that spectrum are divided by it, scaling the spectrum.

See also

The methods paper first describing PQN can be found here: https://doi.org/10.1021/ac051632c

Other Reference-Based: hmNorm(), q2Norm(), xfNorm()

Author

kylebario1@gmail.com

Examples

data(X, noi) pqNorm(X, noi)
#> Preparing Spectra and Reference... #> Selecting ppm and Removing Noise... Done. #> Binning... Done. #> Calculating Reference Spectrum... Done. #> Calculating Dilfs... Using the Mode... Done. #> Normalising X... Done. #>
cat(dilf_pqn)
#> 0.2383943 1.769644