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-2015.
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 
65  class OPENMS_DLLAPI ResidueModification
66  {
67 public:
68 
86  {
87  ANYWHERE = 0,
88  C_TERM = 1,
89  N_TERM = 2,
90  PROTEIN_C_TERM = 3,
91  PROTEIN_N_TERM = 4,
92  NUMBER_OF_TERM_SPECIFICITY
93  };
94 
99  {
100  ARTIFACT = 0,
116  NUMBER_OF_SOURCE_CLASSIFICATIONS
117  };
119 
120 
121 
127 
129  ResidueModification(const ResidueModification & modification);
130 
132  virtual ~ResidueModification();
134 
138  ResidueModification & operator=(const ResidueModification & modification);
141 
145  void setId(const String & id);
147 
149  const String & getId() const;
150 
152  void setFullId(const String & full_id);
153 
155  const String & getFullId() const;
156 
158  void setUniModAccession(const String & id);
159 
161  const String & getUniModAccession() const;
162 
164  void setPSIMODAccession(const String & id);
165 
167  const String & getPSIMODAccession() const;
168 
170  void setFullName(const String & full_name);
171 
173  const String & getFullName() const;
174 
176  void setName(const String & name);
177 
179  const String & getName() const;
180 
182  void setTermSpecificity(Term_Specificity term_spec);
183 
185  void setTermSpecificity(const String & name);
186 
188  Term_Specificity getTermSpecificity() const;
189 
191  String getTermSpecificityName(Term_Specificity = NUMBER_OF_TERM_SPECIFICITY) const;
192 
194  void setOrigin(const String & origin);
195 
197  const String & getOrigin() const;
198 
200  void setSourceClassification(const String & classification);
201 
203  void setSourceClassification(Source_Classification classification);
204 
206  Source_Classification getSourceClassification() const;
207 
209  String getSourceClassificationName(Source_Classification classification = NUMBER_OF_SOURCE_CLASSIFICATIONS) const;
210 
212  void setAverageMass(double mass);
213 
215  double getAverageMass() const;
216 
218  void setMonoMass(double mass);
219 
221  double getMonoMass() const;
222 
224  void setDiffAverageMass(double mass);
225 
227  double getDiffAverageMass() const;
228 
230  void setDiffMonoMass(double mass);
231 
233  double getDiffMonoMass() const;
234 
236  void setFormula(const String & composition);
237 
239  const String & getFormula() const;
240 
242  void setDiffFormula(const EmpiricalFormula & diff_formula);
243 
245  const EmpiricalFormula & getDiffFormula() const;
246 
248  void setSynonyms(const std::set<String> & synonyms);
249 
251  void addSynonym(const String & synonym);
252 
254  const std::set<String> & getSynonyms() const;
255 
257  void setNeutralLossDiffFormula(const EmpiricalFormula & loss);
258 
260  const EmpiricalFormula & getNeutralLossDiffFormula() const;
261 
263  void setNeutralLossMonoMass(double mono_mass);
264 
266  double getNeutralLossMonoMass() const;
267 
269  void setNeutralLossAverageMass(double average_mass);
270 
272  double getNeutralLossAverageMass() const;
274 
278  bool hasNeutralLoss() const;
280 
282  bool operator==(const ResidueModification & modification) const;
283 
285  bool operator!=(const ResidueModification & modification) const;
287 
288 protected:
289 
291 
293 
295 
297 
299 
301 
303 
305 
307 
309 
310  double mono_mass_;
311 
313 
315 
317 
319 
320  std::set<String> synonyms_;
321 
323 
325 
327  };
328 }
329 
330 #endif
EmpiricalFormula neutral_loss_diff_formula_
Definition: ResidueModification.h:322
String formula_
Definition: ResidueModification.h:316
Definition: ResidueModification.h:108
Definition: ResidueModification.h:109
A more convenient string class.
Definition: String.h:57
double neutral_loss_mono_mass_
Definition: ResidueModification.h:324
Source_Classification classification_
Definition: ResidueModification.h:306
Definition: ResidueModification.h:115
String origin_
Definition: ResidueModification.h:304
Representation of a modification.
Definition: ResidueModification.h:65
Definition: ResidueModification.h:114
Definition: ResidueModification.h:112
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
Definition: ResidueModification.h:111
String unimod_accession_
Definition: ResidueModification.h:296
std::set< String > synonyms_
Definition: ResidueModification.h:320
Representation of an empirical formula.
Definition: EmpiricalFormula.h:79
Definition: ResidueModification.h:105
String name_
Definition: ResidueModification.h:300
Source_Classification
Classification of the modification.
Definition: ResidueModification.h:98
Definition: ResidueModification.h:106
double mono_mass_
Definition: ResidueModification.h:310
Definition: ResidueModification.h:104
Definition: ResidueModification.h:110
EmpiricalFormula diff_formula_
Definition: ResidueModification.h:318
Term_Specificity
Position where the modification is allowed to occur.
Definition: ResidueModification.h:85
Definition: ResidueModification.h:103
Definition: ResidueModification.h:113
Definition: ResidueModification.h:107
String full_id_
Definition: ResidueModification.h:292
Definition: ResidueModification.h:102
Term_Specificity term_spec_
Definition: ResidueModification.h:302
String psi_mod_accession_
Definition: ResidueModification.h:294
String id_
Definition: ResidueModification.h:290
Definition: ResidueModification.h:101
double average_mass_
Definition: ResidueModification.h:308
double diff_mono_mass_
Definition: ResidueModification.h:314
String full_name_
Definition: ResidueModification.h:298
double neutral_loss_average_mass_
Definition: ResidueModification.h:326
double diff_average_mass_
Definition: ResidueModification.h:312

OpenMS / TOPP release 2.0.0 Documentation generated on Thu Aug 20 2015 01:44:28 using doxygen 1.8.9.1