Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
ResidueModification.h
Go to the documentation of this file.
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.
6 //
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.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Andreas Bertsch $
32 // $Authors: Andreas Bertsch $
33 // --------------------------------------------------------------------------
34 //
35 
36 #ifndef OPENMS_CHEMISTRY_RESIDUEMODIFICATION_H
37 #define OPENMS_CHEMISTRY_RESIDUEMODIFICATION_H
38 
41 
42 #include <set>
43 
44 namespace OpenMS
45 {
46  // forward declaration
47  class Residue;
48 
58  class OPENMS_DLLAPI ResidueModification
59  {
60 public:
61 
79  {
80  ANYWHERE = 0,
81  C_TERM = 1,
82  N_TERM = 2,
83  NUMBER_OF_TERM_SPECIFICITY
84  };
85 
90  {
91  ARTIFACT = 0,
107  NUMBER_OF_SOURCE_CLASSIFICATIONS
108  };
110 
111 
112 
118 
120  ResidueModification(const ResidueModification & modification);
121 
123  virtual ~ResidueModification();
125 
129  ResidueModification & operator=(const ResidueModification & modification);
132 
136  void setId(const String & id);
138 
140  const String & getId() const;
141 
143  void setFullId(const String & full_id);
144 
146  const String & getFullId() const;
147 
149  void setUniModAccession(const String & id);
150 
152  const String & getUniModAccession() const;
153 
155  void setPSIMODAccession(const String & id);
156 
158  const String & getPSIMODAccession() const;
159 
161  void setFullName(const String & full_name);
162 
164  const String & getFullName() const;
165 
167  void setName(const String & name);
168 
170  const String & getName() const;
171 
173  void setTermSpecificity(Term_Specificity term_spec);
174 
176  void setTermSpecificity(const String & name);
177 
179  Term_Specificity getTermSpecificity() const;
180 
182  String getTermSpecificityName(Term_Specificity = NUMBER_OF_TERM_SPECIFICITY) const;
183 
185  void setOrigin(const String & origin);
186 
188  const String & getOrigin() const;
189 
191  void setSourceClassification(const String & classification);
192 
194  void setSourceClassification(Source_Classification classification);
195 
197  Source_Classification getSourceClassification() const;
198 
200  String getSourceClassificationName(Source_Classification classification = NUMBER_OF_SOURCE_CLASSIFICATIONS) const;
201 
203  void setAverageMass(DoubleReal mass);
204 
206  DoubleReal getAverageMass() const;
207 
209  void setMonoMass(DoubleReal mass);
210 
212  DoubleReal getMonoMass() const;
213 
215  void setDiffAverageMass(DoubleReal mass);
216 
218  DoubleReal getDiffAverageMass() const;
219 
221  void setDiffMonoMass(DoubleReal mass);
222 
224  DoubleReal getDiffMonoMass() const;
225 
227  void setFormula(const String & composition);
228 
230  const String & getFormula() const;
231 
233  void setDiffFormula(const EmpiricalFormula & diff_formula);
234 
236  const EmpiricalFormula & getDiffFormula() const;
237 
239  void setSynonyms(const std::set<String> & synonyms);
240 
242  void addSynonym(const String & synonym);
243 
245  const std::set<String> & getSynonyms() const;
246 
248  void setNeutralLossDiffFormula(const EmpiricalFormula & loss);
249 
251  const EmpiricalFormula & getNeutralLossDiffFormula() const;
252 
254  void setNeutralLossMonoMass(DoubleReal mono_mass);
255 
257  DoubleReal getNeutralLossMonoMass() const;
258 
260  void setNeutralLossAverageMass(DoubleReal average_mass);
261 
263  DoubleReal getNeutralLossAverageMass() const;
265 
269  bool hasNeutralLoss() const;
271 
273  bool operator==(const ResidueModification & modification) const;
274 
276  bool operator!=(const ResidueModification & modification) const;
278 
279 protected:
280 
282 
284 
286 
288 
290 
292 
294 
296 
298 
300 
302 
304 
306 
308 
310 
311  std::set<String> synonyms_;
312 
314 
316 
318  };
319 }
320 
321 #endif
EmpiricalFormula neutral_loss_diff_formula_
Definition: ResidueModification.h:313
String formula_
Definition: ResidueModification.h:307
Definition: ResidueModification.h:99
Definition: ResidueModification.h:100
A more convenient string class.
Definition: String.h:56
Source_Classification classification_
Definition: ResidueModification.h:297
Definition: ResidueModification.h:106
String origin_
Definition: ResidueModification.h:295
Representation of a modification.
Definition: ResidueModification.h:58
Definition: ResidueModification.h:105
Definition: ResidueModification.h:103
Definition: ResidueModification.h:102
String unimod_accession_
Definition: ResidueModification.h:287
DoubleReal diff_average_mass_
Definition: ResidueModification.h:303
std::set< String > synonyms_
Definition: ResidueModification.h:311
DoubleReal diff_mono_mass_
Definition: ResidueModification.h:305
Representation of an empirical formula.
Definition: EmpiricalFormula.h:78
Definition: ResidueModification.h:96
String name_
Definition: ResidueModification.h:291
DoubleReal neutral_loss_average_mass_
Definition: ResidueModification.h:317
DoubleReal mono_mass_
Definition: ResidueModification.h:301
DoubleReal average_mass_
Definition: ResidueModification.h:299
Source_Classification
Classification of the modification.
Definition: ResidueModification.h:89
Definition: ResidueModification.h:97
Definition: ResidueModification.h:95
Definition: ResidueModification.h:101
EmpiricalFormula diff_formula_
Definition: ResidueModification.h:309
Term_Specificity
Position where the modification is allowed to occur.
Definition: ResidueModification.h:78
Definition: ResidueModification.h:94
Definition: ResidueModification.h:104
Definition: ResidueModification.h:98
String full_id_
Definition: ResidueModification.h:283
Definition: ResidueModification.h:93
DoubleReal neutral_loss_mono_mass_
Definition: ResidueModification.h:315
Term_Specificity term_spec_
Definition: ResidueModification.h:293
String psi_mod_accession_
Definition: ResidueModification.h:285
String id_
Definition: ResidueModification.h:281
Definition: ResidueModification.h:92
String full_name_
Definition: ResidueModification.h:289

OpenMS / TOPP release 1.11.1 Documentation generated on Thu Nov 14 2013 11:19:20 using doxygen 1.8.5