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
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.
23
30
// --------------------------------------------------------------------------
24
31
// $Maintainer: Andreas Bertsch $
36
const std::string SpectrumSettings::NamesOfSpectrumType[] = {"Unknown","Peak data","Raw data"};
38
SpectrumSettings::SpectrumSettings()
39
: MetaInfoInterface(),
43
instrument_settings_(),
53
SpectrumSettings::SpectrumSettings(const SpectrumSettings& source)
54
: MetaInfoInterface(source),
56
native_id_(source.native_id_),
57
comment_(source.comment_),
58
instrument_settings_(source.instrument_settings_),
59
source_file_(source.source_file_),
60
acquisition_info_(source.acquisition_info_),
61
precursors_(source.precursors_),
62
products_(source.products_),
63
identification_(source.identification_),
64
data_processing_(source.data_processing_)
68
SpectrumSettings::~SpectrumSettings()
72
SpectrumSettings& SpectrumSettings::operator = (const SpectrumSettings& source)
74
if (&source == this) return *this;
76
MetaInfoInterface::operator=(source);
78
native_id_ = source.native_id_;
43
const std::string SpectrumSettings::NamesOfSpectrumType[] = {"Unknown", "Peak data", "Raw data"};
45
SpectrumSettings::SpectrumSettings() :
50
instrument_settings_(),
60
SpectrumSettings::SpectrumSettings(const SpectrumSettings & source) :
61
MetaInfoInterface(source),
63
native_id_(source.native_id_),
64
comment_(source.comment_),
65
instrument_settings_(source.instrument_settings_),
66
source_file_(source.source_file_),
67
acquisition_info_(source.acquisition_info_),
68
precursors_(source.precursors_),
69
products_(source.products_),
70
identification_(source.identification_),
71
data_processing_(source.data_processing_)
75
SpectrumSettings::~SpectrumSettings()
79
SpectrumSettings & SpectrumSettings::operator=(const SpectrumSettings & source)
84
MetaInfoInterface::operator=(source);
86
native_id_ = source.native_id_;
79
87
comment_ = source.comment_;
80
88
instrument_settings_ = source.instrument_settings_;
81
89
acquisition_info_ = source.acquisition_info_;
82
90
source_file_ = source.source_file_;
83
91
precursors_ = source.precursors_;
84
products_ = source.products_;
92
products_ = source.products_;
85
93
identification_ = source.identification_;
86
data_processing_ = source.data_processing_;
91
bool SpectrumSettings::operator== (const SpectrumSettings& rhs) const
94
MetaInfoInterface::operator==(rhs) &&
96
native_id_ == rhs.native_id_ &&
97
comment_ == rhs.comment_ &&
98
instrument_settings_ == rhs.instrument_settings_ &&
99
acquisition_info_ == rhs.acquisition_info_ &&
100
source_file_ == rhs.source_file_ &&
101
precursors_ == rhs.precursors_ &&
102
products_ == rhs.products_ &&
103
identification_ == rhs.identification_ &&
104
data_processing_ == rhs.data_processing_
108
bool SpectrumSettings::operator!= (const SpectrumSettings& rhs) const
110
return !(operator==(rhs));
113
void SpectrumSettings::unify(const SpectrumSettings& rhs)
94
data_processing_ = source.data_processing_;
99
bool SpectrumSettings::operator==(const SpectrumSettings & rhs) const
101
return MetaInfoInterface::operator==(rhs) &&
102
type_ == rhs.type_ &&
103
native_id_ == rhs.native_id_ &&
104
comment_ == rhs.comment_ &&
105
instrument_settings_ == rhs.instrument_settings_ &&
106
acquisition_info_ == rhs.acquisition_info_ &&
107
source_file_ == rhs.source_file_ &&
108
precursors_ == rhs.precursors_ &&
109
products_ == rhs.products_ &&
110
identification_ == rhs.identification_ &&
111
data_processing_ == rhs.data_processing_;
114
bool SpectrumSettings::operator!=(const SpectrumSettings & rhs) const
116
return !(operator==(rhs));
119
void SpectrumSettings::unify(const SpectrumSettings & rhs)
115
121
// append metavalues (overwrite when already present)
116
std::vector< UInt > keys;
118
for (Size i=0;i<keys.size();++i) setMetaValue(keys[i], rhs.getMetaValue(keys[i]));
121
if (type_ != rhs.type_) type_ = UNKNOWN; // only keep if both are equal
122
std::vector<UInt> keys;
124
for (Size i = 0; i < keys.size(); ++i)
125
setMetaValue(keys[i], rhs.getMetaValue(keys[i]));
128
if (type_ != rhs.type_)
129
type_ = UNKNOWN; // only keep if both are equal
122
130
//native_id_ == rhs.native_id_ // keep
123
comment_ += rhs.comment_; // append
124
//instrument_settings_ == rhs.instrument_settings_ // keep
125
//acquisition_info_ == rhs.acquisition_info_
126
//source_file_ == rhs.source_file_ &&
131
comment_ += rhs.comment_; // append
132
//instrument_settings_ == rhs.instrument_settings_ // keep
133
//acquisition_info_ == rhs.acquisition_info_
134
//source_file_ == rhs.source_file_ &&
127
135
precursors_.insert(precursors_.end(), rhs.precursors_.begin(), rhs.precursors_.end());
128
products_.insert(products_.end(), rhs.products_.begin(), rhs.products_.end() );
129
identification_.insert(identification_.end(), rhs.identification_.begin(), rhs.identification_.end() );
130
data_processing_.insert(data_processing_.end(), rhs.data_processing_.begin(), rhs.data_processing_.end() );
133
SpectrumSettings::SpectrumType SpectrumSettings::getType() const
138
void SpectrumSettings::setType(SpectrumSettings::SpectrumType type)
143
const String& SpectrumSettings::getComment() const
148
void SpectrumSettings::setComment(const String& comment)
153
const InstrumentSettings& SpectrumSettings::getInstrumentSettings() const
155
return instrument_settings_;
158
InstrumentSettings& SpectrumSettings::getInstrumentSettings()
160
return instrument_settings_;
163
void SpectrumSettings::setInstrumentSettings(const InstrumentSettings& instrument_settings)
165
instrument_settings_ = instrument_settings;
168
const AcquisitionInfo& SpectrumSettings::getAcquisitionInfo() const
170
return acquisition_info_;
173
AcquisitionInfo& SpectrumSettings::getAcquisitionInfo()
175
return acquisition_info_;
178
void SpectrumSettings::setAcquisitionInfo(const AcquisitionInfo& acquisition_info)
180
acquisition_info_ = acquisition_info;
183
const SourceFile& SpectrumSettings::getSourceFile() const
188
SourceFile& SpectrumSettings::getSourceFile()
193
void SpectrumSettings::setSourceFile(const SourceFile& source_file)
195
source_file_ = source_file;
198
const vector<Precursor>& SpectrumSettings::getPrecursors() const
203
vector<Precursor>& SpectrumSettings::getPrecursors()
208
void SpectrumSettings::setPrecursors(const vector<Precursor>& precursors)
210
precursors_ = precursors;
213
const vector<Product>& SpectrumSettings::getProducts() const
218
vector<Product>& SpectrumSettings::getProducts()
223
void SpectrumSettings::setProducts(const vector<Product>& products)
225
products_ = products;
228
std::ostream& operator << (std::ostream& os, const SpectrumSettings& /*spec*/)
230
os << "-- SPECTRUMSETTINGS BEGIN --"<<std::endl;
231
os << "-- SPECTRUMSETTINGS END --"<<std::endl;
235
const std::vector<PeptideIdentification>& SpectrumSettings::getPeptideIdentifications() const
237
return identification_;
240
std::vector<PeptideIdentification>& SpectrumSettings::getPeptideIdentifications()
242
return identification_;
245
void SpectrumSettings::setPeptideIdentifications(const std::vector<PeptideIdentification>& identification)
247
identification_ = identification;
250
const String& SpectrumSettings::getNativeID() const
255
void SpectrumSettings::setNativeID(const String& native_id)
257
native_id_ = native_id;
260
const vector<DataProcessing>& SpectrumSettings::getDataProcessing() const
262
return data_processing_;
265
vector<DataProcessing>& SpectrumSettings::getDataProcessing()
267
return data_processing_;
270
void SpectrumSettings::setDataProcessing(const vector<DataProcessing>& processing_method)
272
data_processing_ = processing_method;
136
products_.insert(products_.end(), rhs.products_.begin(), rhs.products_.end());
137
identification_.insert(identification_.end(), rhs.identification_.begin(), rhs.identification_.end());
138
data_processing_.insert(data_processing_.end(), rhs.data_processing_.begin(), rhs.data_processing_.end());
141
SpectrumSettings::SpectrumType SpectrumSettings::getType() const
146
void SpectrumSettings::setType(SpectrumSettings::SpectrumType type)
151
const String & SpectrumSettings::getComment() const
156
void SpectrumSettings::setComment(const String & comment)
161
const InstrumentSettings & SpectrumSettings::getInstrumentSettings() const
163
return instrument_settings_;
166
InstrumentSettings & SpectrumSettings::getInstrumentSettings()
168
return instrument_settings_;
171
void SpectrumSettings::setInstrumentSettings(const InstrumentSettings & instrument_settings)
173
instrument_settings_ = instrument_settings;
176
const AcquisitionInfo & SpectrumSettings::getAcquisitionInfo() const
178
return acquisition_info_;
181
AcquisitionInfo & SpectrumSettings::getAcquisitionInfo()
183
return acquisition_info_;
186
void SpectrumSettings::setAcquisitionInfo(const AcquisitionInfo & acquisition_info)
188
acquisition_info_ = acquisition_info;
191
const SourceFile & SpectrumSettings::getSourceFile() const
196
SourceFile & SpectrumSettings::getSourceFile()
201
void SpectrumSettings::setSourceFile(const SourceFile & source_file)
203
source_file_ = source_file;
206
const vector<Precursor> & SpectrumSettings::getPrecursors() const
211
vector<Precursor> & SpectrumSettings::getPrecursors()
216
void SpectrumSettings::setPrecursors(const vector<Precursor> & precursors)
218
precursors_ = precursors;
221
const vector<Product> & SpectrumSettings::getProducts() const
226
vector<Product> & SpectrumSettings::getProducts()
231
void SpectrumSettings::setProducts(const vector<Product> & products)
233
products_ = products;
236
std::ostream & operator<<(std::ostream & os, const SpectrumSettings & /*spec*/)
238
os << "-- SPECTRUMSETTINGS BEGIN --" << std::endl;
239
os << "-- SPECTRUMSETTINGS END --" << std::endl;
243
const std::vector<PeptideIdentification> & SpectrumSettings::getPeptideIdentifications() const
245
return identification_;
248
std::vector<PeptideIdentification> & SpectrumSettings::getPeptideIdentifications()
250
return identification_;
253
void SpectrumSettings::setPeptideIdentifications(const std::vector<PeptideIdentification> & identification)
255
identification_ = identification;
258
const String & SpectrumSettings::getNativeID() const
263
void SpectrumSettings::setNativeID(const String & native_id)
265
native_id_ = native_id;
268
const vector<DataProcessing> & SpectrumSettings::getDataProcessing() const
270
return data_processing_;
273
vector<DataProcessing> & SpectrumSettings::getDataProcessing()
275
return data_processing_;
278
void SpectrumSettings::setDataProcessing(const vector<DataProcessing> & processing_method)
280
data_processing_ = processing_method;