libpappsomspp
Library for mass spectrometry
peptidefragment.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/peptide/peptidefragment.h
3
* \date 10/3/2015
4
* \author Olivier Langella
5
* \brief peptide fragment model
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
10
*
11
* This file is part of the PAPPSOms++ library.
12
*
13
* PAPPSOms++ is free software: you can redistribute it and/or modify
14
* it under the terms of the GNU General Public License as published by
15
* the Free Software Foundation, either version 3 of the License, or
16
* (at your option) any later version.
17
*
18
* PAPPSOms++ is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25
*
26
* Contributors:
27
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
28
*implementation
29
******************************************************************************/
30
31
32
#pragma once
33
34
35
#include "
peptide.h
"
36
#include "../pappsoexception.h"
37
#include "../exportinmportconfig.h"
38
39
namespace
pappso
40
{
41
42
43
class
PeptideFragment;
44
45
typedef
std::shared_ptr<const PeptideFragment>
PeptideFragmentSp
;
46
47
class
PMSPP_LIB_DECL
PeptideFragment :
public
PeptideInterface
48
{
49
50
public
:
51
PeptideFragment(
const
PeptideSp
&sp_peptide,
52
PeptideDirection
direction,
53
unsigned
int
size);
54
PeptideFragment(
const
PeptideFragment &other);
55
PeptideFragment(PeptideFragment &&toCopy);
// move constructor
56
virtual
~PeptideFragment();
57
58
virtual
const
PeptideSp
&getPeptideSp()
const
;
59
60
virtual
unsigned
int
size()
const override
;
61
virtual
const
QString getSequence()
const override
;
62
63
virtual
pappso_double
getMass()
const override
;
64
static
const
QString getPeptideIonDirectionName(
PeptideDirection
direction);
65
PeptideDirection
getPeptideIonDirection
()
const
;
66
67
virtual
int
getNumberOfAtom(
AtomIsotopeSurvey
atom)
const override
;
68
virtual
int
getNumberOfIsotope(
Isotope
isotope)
const override
;
69
70
virtual
bool
isPalindrome()
const override
;
71
72
73
private
:
74
const
PeptideSp
msp_peptide;
75
const
PeptideDirection
m_direction;
76
const
unsigned
int
m_size = 0;
77
// the aa modification to add on Nter or Cter aa (depending on peptide
78
// direction)
79
AaModificationP
m_nterCterCleavage;
80
81
pappso_double
m_mass = 0;
82
};
83
84
85
}
// namespace pappso
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition:
types.h:69
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition:
exportinmportconfig.h:14
pappso
Definition:
aa.cpp:38
pappso::Isotope
Isotope
Definition:
types.h:111
peptide.h
peptide model
pappso::PeptideFragmentSp
std::shared_ptr< const PeptideFragment > PeptideFragmentSp
Definition:
peptidefragment.h:64
pappso::AaModificationP
const typedef AaModification * AaModificationP
Definition:
aamodification.h:73
pappso::getPeptideIonDirection
PeptideDirection getPeptideIonDirection(PeptideIon ion_type)
get the direction of a peptide ion
Definition:
peptide.cpp:75
pappso::PeptideDirection
PeptideDirection
Definition:
peptide.h:66
pappso::PeptideSp
std::shared_ptr< const Peptide > PeptideSp
Definition:
aamodification.h:68
pappso::AtomIsotopeSurvey
AtomIsotopeSurvey
Definition:
types.h:96
pappsomspp
peptide
peptidefragment.h
Generated on Thu Jul 9 2020 07:26:14 for libpappsomspp by
1.8.17