OpenMS
PeptideEvidence.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-2023.
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: Timo Sachsenberg $
32 // $Authors: Timo Sachsenberg $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
37 #include <OpenMS/CONCEPT/Types.h>
39 
40 namespace OpenMS
41 {
42 
50  class OPENMS_DLLAPI PeptideEvidence
51  {
52 public:
53  static const int UNKNOWN_POSITION; // == -1
54 
55  // Note: we use 0 as position of the N-terminus while e.g. mzTab or other formats start counting at 1.
56  static const int N_TERMINAL_POSITION;
57  static const char UNKNOWN_AA; // PeptideEvidence::UNKNOWN_AA = 'X';
58 
59  // Note: we use '[' and ']' instead of e.g. '-' as in mzTab specification
60  static const char N_TERMINAL_AA;
61  static const char C_TERMINAL_AA;
62 
65 
67  explicit PeptideEvidence(const String& accession, Int start=UNKNOWN_POSITION, Int end=UNKNOWN_POSITION, char aa_before=UNKNOWN_AA, char aa_after=UNKNOWN_AA);
68 
70  PeptideEvidence(const PeptideEvidence&) = default;
71 
73  PeptideEvidence(PeptideEvidence&&) noexcept = default;
74 
78 
82  PeptideEvidence& operator=(PeptideEvidence&&) = default; // TODO: add noexcept (gcc 4.8 bug)
83 
85  bool operator==(const PeptideEvidence& rhs) const;
86 
88  bool operator<(const PeptideEvidence& rhs) const;
89 
91  bool operator!=(const PeptideEvidence& rhs) const;
92 
94  bool hasValidLimits() const;
95 
97  const String& getProteinAccession() const;
98 
100  void setProteinAccession(const String& s);
101 
103  void setStart(const Int a);
104 
106  Int getStart() const;
107 
109  void setEnd(const Int a);
110 
112  Int getEnd() const;
113 
115  void setAABefore(const char acid);
116 
118  char getAABefore() const;
119 
121  void setAAAfter(const char acid);
122 
124  char getAAAfter() const;
125 
126 protected:
128 
130 
132 
134 
135  char aa_after_;
136  };
137 
138 }
139 
Representation of a peptide evidence.
Definition: PeptideEvidence.h:51
static const char C_TERMINAL_AA
Definition: PeptideEvidence.h:61
void setAAAfter(const char acid)
sets the amino acid single letter code after the sequence (subsequent amino acid in the protein)....
void setProteinAccession(const String &s)
set the protein accession the peptide matches to. If not available set to empty string.
Int getStart() const
get the position in the protein (starting at 0 for the N-terminus). If not available UNKNOWN_POSITION...
char aa_before_
Definition: PeptideEvidence.h:133
char aa_after_
Definition: PeptideEvidence.h:135
Int end_
Definition: PeptideEvidence.h:131
void setStart(const Int a)
set the position of the last AA of the peptide in protein coordinates (starting at 0 for the N-termin...
static const char N_TERMINAL_AA
Definition: PeptideEvidence.h:60
static const int UNKNOWN_POSITION
Definition: PeptideEvidence.h:53
bool operator<(const PeptideEvidence &rhs) const
Less operator.
static const int N_TERMINAL_POSITION
Definition: PeptideEvidence.h:56
PeptideEvidence(const String &accession, Int start=UNKNOWN_POSITION, Int end=UNKNOWN_POSITION, char aa_before=UNKNOWN_AA, char aa_after=UNKNOWN_AA)
Constructor.
const String & getProteinAccession() const
get the protein accession the peptide matches to. If not available the empty string is returned.
PeptideEvidence(PeptideEvidence &&) noexcept=default
Move constructor.
PeptideEvidence()
Constructor.
PeptideEvidence(const PeptideEvidence &)=default
Copy constructor.
char getAAAfter() const
returns the amino acid single letter code after the sequence (subsequent amino acid in the protein)....
String accession_
Definition: PeptideEvidence.h:127
bool hasValidLimits() const
start and end numbers in evidence represent actual numeric indices
char getAABefore() const
returns the amino acid single letter code before the sequence (preceding amino acid in the protein)....
static const char UNKNOWN_AA
Definition: PeptideEvidence.h:57
Int start_
Definition: PeptideEvidence.h:129
bool operator==(const PeptideEvidence &rhs) const
Equality operator.
void setEnd(const Int a)
set the position of the last AA of the peptide in protein coordinates (starting at 0 for the N-termin...
PeptideEvidence & operator=(PeptideEvidence &&)=default
Move assignment operator.
Int getEnd() const
get the position of the last AA of the peptide in protein coordinates (starting at 0 for the N-termin...
PeptideEvidence & operator=(const PeptideEvidence &)=default
Assignment operator.
void setAABefore(const char acid)
sets the amino acid single letter code before the sequence (preceding amino acid in the protein)....
bool operator!=(const PeptideEvidence &rhs) const
not equal
A more convenient string class.
Definition: String.h:60
int Int
Signed integer type.
Definition: Types.h:102
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48