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: Andreas Bertsch $
1
// --------------------------------------------------------------------------
2
// OpenMS -- Open-Source Mass Spectrometry
3
// --------------------------------------------------------------------------
4
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
7
// This software is released under a three-clause BSD license:
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// * Neither the name of any author or any participating institution
14
// may be used to endorse or promote products derived from this software
15
// without specific prior written permission.
16
// For a full list of authors, refer to the file AUTHORS.
17
// --------------------------------------------------------------------------
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
// --------------------------------------------------------------------------
31
// $Maintainer: Hannes Roest $
25
32
// $Authors: Andreas Bertsch $
26
33
// --------------------------------------------------------------------------
31
38
#include <OpenMS/KERNEL/StandardTypes.h>
32
39
#include <OpenMS/METADATA/CVTermList.h>
40
#include <OpenMS/ANALYSIS/TARGETED/TargetedExperimentHelper.h>
39
@brief This class stores a SRM/MRM transition
41
The default values for precursor and product m/z values are
42
set to numeric_limits<DoubleReal>::max(). Default values for
43
precursor an product charge is set to numeric_limits<Int>::max().
45
class OPENMS_DLLAPI IncludeExcludeTarget
55
String instrument_ref;
56
std::vector<CVTermList> validations;
58
Configuration& operator = (const Configuration& rhs)
62
CVTermList::operator = (rhs);
63
contact_ref = rhs.contact_ref;
64
instrument_ref = rhs.instrument_ref;
65
validations = rhs.validations;
71
/** @name Constructors and destructors
74
/// default constructor
75
IncludeExcludeTarget();
78
IncludeExcludeTarget(const IncludeExcludeTarget& rhs);
81
virtual ~IncludeExcludeTarget();
84
/// assignment operator
85
IncludeExcludeTarget& operator = (const IncludeExcludeTarget& rhs);
90
void setName(const String& name);
92
const String& getName() const;
94
void setPeptideRef(const String& peptide_ref);
96
const String& getPeptideRef() const;
98
void setCompoundRef(const String& compound_ref);
100
const String& getCompoundRef() const;
102
/// sets the precursor mz (Q1 value)
103
void setPrecursorMZ(DoubleReal mz);
105
DoubleReal getPrecursorMZ() const;
107
void setPrecursorCVTermList(const CVTermList& list);
109
void addPrecursorCVTerm(const CVTerm& cv_term);
111
const CVTermList& getPrecursorCVTermList() const;
113
void setProductMZ(DoubleReal mz);
115
DoubleReal getProductMZ() const;
117
void setProductCVTermList(const CVTermList& list);
119
void addProductCVTerm(const CVTerm& cv_term);
121
const CVTermList& getProductCVTermList() const;
123
void setInterpretations(const std::vector<CVTermList>& interpretations);
125
const std::vector<CVTermList>& getInterpretations() const;
127
void addInterpretation(const CVTermList& interpretation);
129
void setConfigurations(const std::vector<Configuration>& configuration);
131
const std::vector<Configuration>& getConfigurations() const;
133
void addConfiguration(const Configuration& configuration);
135
void setPrediction(const CVTermList& prediction);
137
void addPredictionTerm(const CVTerm& prediction);
139
const CVTermList& getPrediction() const;
145
/// equality operator
146
bool operator == (const IncludeExcludeTarget& rhs) const;
148
/// inequality operator
149
bool operator != (const IncludeExcludeTarget& rhs) const;
154
void updateMembers_();
158
DoubleReal precursor_mz_;
160
CVTermList precursor_cv_terms_;
162
DoubleReal product_mz_;
164
CVTermList product_cv_terms_;
166
std::vector<CVTermList> interpretation_list_;
170
String compound_ref_;
172
std::vector<Configuration> configurations_;
174
CVTermList prediction_;
47
@brief This class stores a SRM/MRM transition
49
The default values for precursor and product m/z values are
50
set to numeric_limits<DoubleReal>::max(). Default values for
51
precursor an product charge is set to numeric_limits<Int>::max().
53
class OPENMS_DLLAPI IncludeExcludeTarget :
59
typedef TargetedExperimentHelper::Configuration Configuration;
60
typedef TargetedExperimentHelper::RetentionTime RetentionTime;
62
/** @name Constructors and destructors
65
/// default constructor
66
IncludeExcludeTarget();
69
IncludeExcludeTarget(const IncludeExcludeTarget & rhs);
72
virtual ~IncludeExcludeTarget();
75
/// assignment operator
76
IncludeExcludeTarget & operator=(const IncludeExcludeTarget & rhs);
81
void setName(const String & name);
83
const String & getName() const;
85
void setPeptideRef(const String & peptide_ref);
87
const String & getPeptideRef() const;
89
void setCompoundRef(const String & compound_ref);
91
const String & getCompoundRef() const;
93
/// sets the precursor mz (Q1 value)
94
void setPrecursorMZ(DoubleReal mz);
96
DoubleReal getPrecursorMZ() const;
98
void setPrecursorCVTermList(const CVTermList & list);
100
void addPrecursorCVTerm(const CVTerm & cv_term);
102
const CVTermList & getPrecursorCVTermList() const;
104
void setProductMZ(DoubleReal mz);
106
DoubleReal getProductMZ() const;
108
void setProductCVTermList(const CVTermList & list);
110
void addProductCVTerm(const CVTerm & cv_term);
112
const CVTermList & getProductCVTermList() const;
114
void setInterpretations(const std::vector<CVTermList> & interpretations);
116
const std::vector<CVTermList> & getInterpretations() const;
118
void addInterpretation(const CVTermList & interpretation);
120
void setConfigurations(const std::vector<Configuration> & configuration);
122
const std::vector<Configuration> & getConfigurations() const;
124
void addConfiguration(const Configuration & configuration);
126
void setPrediction(const CVTermList & prediction);
128
void addPredictionTerm(const CVTerm & prediction);
130
const CVTermList & getPrediction() const;
132
void setRetentionTime(RetentionTime rt);
134
const RetentionTime & getRetentionTime() const;
140
/// equality operator
141
bool operator==(const IncludeExcludeTarget & rhs) const;
143
/// inequality operator
144
bool operator!=(const IncludeExcludeTarget & rhs) const;
149
void updateMembers_();
153
DoubleReal precursor_mz_;
155
CVTermList precursor_cv_terms_;
157
DoubleReal product_mz_;
159
CVTermList product_cv_terms_;
161
std::vector<CVTermList> interpretation_list_;
165
String compound_ref_;
167
std::vector<Configuration> configurations_;
169
CVTermList prediction_;
178
176
#endif // OPENMS_ANALYSIS_TARGETED_INCLUDEEXCLUDETARGET_H