1
// -*- mode: C++; tab-width: 2; -*-
4
// --------------------------------------------------------------------------
5
// OpenMS Mass Spectrometry Framework
6
// --------------------------------------------------------------------------
7
// Copyright (C) 2003-2011 -- Oliver Kohlbacher, Knut Reinert
9
// This library is free software; you can redistribute it and/or
10
// modify it under the terms of the GNU Lesser General Public
11
// License as published by the Free Software Foundation; either
12
// version 2.1 of the License, or (at your option) any later version.
14
// This library is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
// Lesser General Public License for more details.
19
// You should have received a copy of the GNU Lesser General Public
20
// License along with this library; if not, write to the Free Software
21
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
// --------------------------------------------------------------------------
24
// $Maintainer: Chris Bielow $
26
// --------------------------------------------------------------------------
28
#ifndef OPENMS_ANALYSIS_QUANTITATION_ITRAQCHANNELEXTRACTOR_H
29
#define OPENMS_ANALYSIS_QUANTITATION_ITRAQCHANNELEXTRACTOR_H
32
#include <OpenMS/KERNEL/ConsensusMap.h>
33
#include <OpenMS/KERNEL/MSExperiment.h>
34
#include <OpenMS/ANALYSIS/QUANTITATION/ItraqConstants.h>
40
@brief [experimental class] extracts the iTRAQ channels from tandem MS data and stores intensity values in a consensus map
43
This class supports 4 and 8 channel iTRAQ and will optionally do peak picking before the quantitation step.
44
Quantitation is done by adding all signals within a small delta around the expected m/z of each channel.
45
When all channels are found to be empty, the ConsensusFeature is not created.
46
No postprocessing is done here. Use ItraqQuantifier for that!
48
@htmlinclude OpenMS_ItraqChannelExtractor.parameters
51
class OPENMS_DLLAPI ItraqChannelExtractor
52
: public DefaultParamHandler,
58
typedef ItraqConstants::ChannelMapType ChannelMapType;
60
/// Constructor (assuming 4plex)
61
ItraqChannelExtractor();
63
/// Constructor with iTRAQ type (from enum ItraqConstants::ITRAQ_TYPES)
64
ItraqChannelExtractor(Int itraq_type);
66
/// Constructor with iTRAQ type (from enum ItraqConstants::ITRAQ_TYPES) and param
67
ItraqChannelExtractor(Int itraq_type, const Param& param);
70
ItraqChannelExtractor(const ItraqChannelExtractor& cp);
72
/// assignment operator
73
ItraqChannelExtractor& operator = (const ItraqChannelExtractor& rhs);
76
/// @brief extracts the iTRAQ channels from the tandem MS data and stores intensity values in a consensus map
78
/// @param ms_exp_data Raw data to read
79
/// @param consensus_map
80
void run(const MSExperiment<Peak1D>& ms_exp_data, ConsensusMap& consensus_map);
84
void setDefaultParams_();
86
/// implemented for DefaultParamHandler
87
void updateMembers_();
95
/// set to either ItraqConstants::FOURPLEX or ItraqConstants::EIGHTPLEX
98
/// map the channel-name (eg 114) onto its description and the centroid mass
99
/// the channel-name is also the id-string in the mapList section of the ConsensusMap
100
ChannelMapType channel_map_;
107
#endif // OPENMS_ANALYSIS_QUANTITATION_ITRAQCHANNELEXTRACTOR_H