ProteoWizard
MS2NoiseFilter.hpp
Go to the documentation of this file.
1 //
2 // $Id: SpectrumList_PeakFilter.hpp 1191 2009-08-14 19:33:05Z chambm $
3 //
4 //
5 // Original author: Chris Paulse <cpaulse <a.t> systemsbiology.org>
6 //
7 // Copyright 2009 Institute for Systems Biology, Seattle, WA
8 //
9 // Licensed under the Apache License, Version 2.0 (the "License");
10 // you may not use this file except in compliance with the License.
11 // You may obtain a copy of the License at
12 //
13 // http://www.apache.org/licenses/LICENSE-2.0
14 //
15 // Unless required by applicable law or agreed to in writing, software
16 // distributed under the License is distributed on an "AS IS" BASIS,
17 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 // See the License for the specific language governing permissions and
19 // limitations under the License.
20 //
21 
22 
23 #ifndef _MS2_NOISE_FILTER_HPP_
24 #define _MS2_NOISE_FILTER_HPP_
25 
26 
30 
31 
32 namespace pwiz {
33 namespace analysis {
34 
35 
36 // Noise peak removal in ms2 spectra. We expect fragment masses to be relatively
37 // equally spaced throughout the spectrum. Select the top n most intense ions within a
38 // sliding window width of w. Optionally, allow more peaks at lower mass (below precursor).
39 //
40 // Reference:
41 // "When less can yield more Computational preprocessing of MS/MS spectra for peptide
42 // identification", Bernhard Y. Renard, Marc Kirchner, Flavio Monigatti, Alexander R. Ivanov,
43 // Juri Rappsilber, Dominic Winter, Judith A. J. Steen, Fred A. Hamprecht and Hanno Steen
44 // Proteomics, 9, 4978-4984, 2009.
45 
47 {
48  /// MS2NoiseFilter's parameters
50  {
51  Config(
52  int numMassesInWindow_ = 5,
53  double windowWidth_ = 120.0,
54  bool relaxLowMass_ = false
55  );
56 
58  double windowWidth;
60  };
61 
62  MS2NoiseFilter(const MS2NoiseFilter::Config params_) : params(params_) {}
63  virtual void operator () (const pwiz::msdata::SpectrumPtr) const;
64  virtual void describe(pwiz::msdata::ProcessingMethod&) const;
65 
67 };
68 
69 
70 } // namespace analysis
71 } // namespace pwiz
72 
73 
74 #endif // _MS2_NOISE_FILTER_HPP_