Chromatogram deconvolution
Wavelets (XCMS)
This method uses wavelets to detect peaks within a chromatogram. A series of wavelets of different scales
is convolved with the chromatogram. Local maxima in the convolution results determine the locations of possible
peaks. When these candidate peak locations co-occur at multiple scales then the scale with the strongest response
indicates peak width. Given the candidate peak locations and scales, peaks can then be reconstructed from the
original chromatogram. Full details of the algorithm are published in Tatenhahn et al. [1].
Method parameters
- S/N Threshold
- Peaks with a signal-to-noise ratio less than the threshold will be rejected. The S:N ratio is defined as
(max - baseline) / sd, where max is the maximum
peak intensity, baseline
is the estimated baseline value, and sd is the standard deviation of local chromatographic noise.
- Peak scales
- The range of peak scales to search for. Scales are expressed as RT values (minutes) and correspond to the range
of wavelet scales that will be applied to the chromatogram. If the minimum scale is too small then noise may be
detected as peaks. If the maximum scale is to low then broad peaks may be ignored.
- Peak duration range
- The acceptable range of peak widths. Peaks with widths outside this range will be rejected.
- Integration method
- When reconstructing a peak from the chromatogram, gradient descent is used. This can be performed on the raw
peak data or a smoothed version of it. The former is more accurate but can be susceptible to noise. The latter
is less exact but more robust in the presence of noise.
Requirements
The Wavelets detector relies on Bioconductor's XCMS package for R [2]. Therefore, you must
have R v2.15 or later installed. To install the XCMS package, run R and issue the following commands:
source("http://bioconductor.org/biocLite.R")
biocLite("xcms")
To run R from MZmine the rJava package [3] must be installed in R, so also run the following R
command:
install.packages("rJava")
You will also need to correctly configure several environment variables in your MZmine start-up script
(startMZmine_Windows.bat, startMZmine_Linux.sh or startMZmine_MacOSX.command):
- R_HOME
- This is the directory where R is installed, e.g. for Windows it will be something like C:\Program Files\R\R-2.15.0.
- R_LIBS_USER
- This is the directory in which R installs third-party packages. It's usually a sub-directory of your personal
directory, e.g. for Windows it will be something like %USERPROFILE%\Documents\R\win-library\2.15.
- PATH
- Append the directory that contains R's libraries. It will be a sub-directory of %R_HOME%, e.g.
for 32-bit Windows it will be something like %R_HOME%\bin\i386 or
for 64-bit Windows %R_HOME%\bin\x64.
- JRI_LIB_PATH
- This is the directory where rJava has installed its JRI libraries. It will be a sub-directory of %R_LIBS_USER%,
e.g. for 32-bit Windows it will be something like %R_LIBS_USER%\rJava\jri\i386
or for 64-bit Windows %R_LIBS_USER%\rJava\jri\x64.
References
[1] Ralf Tautenhahn, Christoph Böttcher, and Steffen Neumann "Highly sensitive feature detection for high resolution
LC/MS" BMC Bioinformatics 2008,
9:504
[2] Bioconductor XCMS "LC/MS and GC/MS Data Analysis" http://www.bioconductor.org/packages/release/bioc/html/xcms.html.
[3] rJava "Low-level R to Java interface" http://www.rforge.net/rJava/.