Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

Data reduction

Data reduction in LC-MS analysis mostly consists of two steps. In the first step, called "peak picking", important information of the mass spectrometric peaks (e.g. peaks' mass centroid positions, their areas under curve and full-width-at-half-maxima) are extracted from the raw LC-MS data. The second data reduction step, called "feature finding", represents the quantification of all peptides in a proteomic sample. Therefore, the signals in a LC-MS map caused by all charge and isotopic variants of the peptide are detected and summarized resulting in a list of compounds or features, each characterized by mass, retention time and abundance. The classes described in this section can be found in the TRANSFORMATIONS folder.

RawPeakFeatureMap.png

Part of an LC-MS map at different stages of data reduction. Axes depict retention time, m/z, and intensity. From left to right raw data points, peak picked data points and a feature are shown.

Peak picking

For peak picking, the class PeakPickerCWT is used. Because this class detects and extracts mass spectrometric peaks it is applicable to LC-MS as well as MALDI raw data.

The following example (Tutorial_PeakPickerCWT.C) shows how to open a raw map (in mzData format), initialize a PeakPickerCWT object, set the most important parameters (the scale of the wavelet, a peak's minimal height and fwhm), and start the peak picking process.

Int main()
{
  RawMap exp_raw;
  PeakMap exp_picked;
  
  MzDataFile mzdata_file;
  mzdata_file.load("../TEST/data/PeakPicker_test.mzData",exp_raw);

  PeakPickerCWT pp;
  Param param;
  param.setValue("thresholds:peak_bound",500.0);
  param.setValue("thresholds:fwhm_bound",0.1);
  param.setValue("wavelet_transform:scale",0.2);
  pp.setParameters(param);

  pp.pickExperiment(exp_raw,exp_picked);
  exp_picked.updateRanges();
  
  cout << "Scale of the wavelet: " << (DoubleReal)param.getValue("wavelet_transform:scale")
       << "\nMinimal fwhm of a mass spectrometric peak: " << (DoubleReal)param.getValue("thresholds:fwhm_bound")
       << "\nMinimal intensity of a mass spectrometric peak " << (DoubleReal)param.getValue("thresholds:peak_bound")
       << "\n\nNumber of picked peaks " << exp_picked.getSize() << std::endl;

  return 0;
} //end of main

The output of the program is:

    Scale of the wavelet: 0.2
    Minimal fwhm of a mass spectrometric peak: 0.1
    Minimal intensity of a mass spectrometric peak 500

    Number of picked peaks 14

Note:
A rough standard value for the peak's scale is the average fwhm of a mass spectrometric peak.

Peptide Quantification

The FeatureFinder implements algorithms for the detection and quantification of peptides from LC-MS maps. In contrast to the previous step (peak picking), we do not only search for pronounced signals (peak) in the LC-MS map but search explicitly for peptides which can be recognized by their isotopic pattern.

OpenMS offers different algorithms for this task.

Writing a FeatureFinder application of your own is straightforward to do. A short example (Tutorial_FeatureFinder.C) is given below. First we need to instantiate the FeatureFinder, its parameters and the input/output data:

  FeatureFinder ff;
  // ... set parameters (e.g. from INI file)
  Param parameters;
  // ... set input data (e.g. from mzData file)
  MSExperiment<> input;
  // ... set output data structure

Then we run the FeatureFinder. The first argument is the algorithm name (here 'simple'). Using the second and third parameter, the peak and feature data is handed to the algorithm. The fourth argument sets the parameters used by the algorithm.

  FeatureMap<> output;

  ff.run("simple", input, output, parameters);
Now the FeatureMap is filled with the found features.
Generated Tue Apr 1 15:36:40 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1