libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
aabase.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/amino_acid/aabase.h
3
* \date 7/3/2015
4
* \author Olivier Langella
5
* \brief private amino acid 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
#include <map>
35
36
#include "
pappsomspp/core/types.h
"
37
#include "
pappsomspp/core/amino_acid/atomnumberinterface.h
"
38
#include "
pappsomspp/export-import-config.h
"
39
40
namespace
pappso
41
{
42
43
class
PMSPP_LIB_DECL
AaBase
:
public
AtomNumberInterface
44
{
45
friend
class
AaModification
;
46
47
public
:
48
virtual
pappso_double
getMass
()
const
;
49
virtual
const
char
&
getLetter
()
const
;
50
const
Enums::AminoAcidChar
&
getAminoAcidChar
()
const
;
51
52
virtual
void
replaceLeucineIsoleucine
();
53
54
static
const
std::vector<Enums::AminoAcidChar> &
getAminoAcidCharList
();
55
56
57
protected
:
58
AaBase
(
char
aa_letter);
59
AaBase
(
Enums::AminoAcidChar
aa_char);
60
AaBase
(
const
AaBase
&aabase);
61
virtual
~AaBase
();
62
63
virtual
int
getNumberOfAtom
(
Enums::AtomIsotopeSurvey
atom)
const override
;
64
int
getNumberOfIsotope
(
Enums::Isotope
isotope)
const override
;
65
static
pappso_double
getAaMass
(
char
aa_letter);
66
67
protected
:
68
char
m_aaLetter
;
69
70
private
:
71
using
AaMassMap
= std::map<char, pappso_double>;
72
using
AaIntMap
= std::map<char, unsigned int>;
73
using
AminoAcidCharList
= std::vector<Enums::AminoAcidChar>;
74
75
static
AaMassMap
m_aaMassMap
;
76
static
AaIntMap
m_aaNumberOfCarbonMap
;
77
static
AaIntMap
m_aaNumberOfSulfurMap
;
78
static
AaIntMap
m_aaNumberOfHydrogenMap
;
79
static
AaIntMap
m_aaNumberOfNitrogenMap
;
80
static
AaIntMap
m_aaNumberOfOxygenMap
;
81
static
AminoAcidCharList
m_aminoAcidCharList
;
82
};
83
84
}
/* namespace pappso */
atomnumberinterface.h
pappso::AaBase::AaBase
AaBase(char aa_letter)
Definition
aabase.cpp:43
pappso::AaBase::getNumberOfIsotope
int getNumberOfIsotope(Enums::Isotope isotope) const override
get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
Definition
aabase.cpp:396
pappso::AaBase::m_aaMassMap
static AaMassMap m_aaMassMap
Definition
aabase.h:75
pappso::AaBase::AaIntMap
std::map< char, unsigned int > AaIntMap
Definition
aabase.h:72
pappso::AaBase::m_aaNumberOfSulfurMap
static AaIntMap m_aaNumberOfSulfurMap
Definition
aabase.h:77
pappso::AaBase::m_aaNumberOfCarbonMap
static AaIntMap m_aaNumberOfCarbonMap
Definition
aabase.h:76
pappso::AaBase::m_aaNumberOfOxygenMap
static AaIntMap m_aaNumberOfOxygenMap
Definition
aabase.h:80
pappso::AaBase::getAminoAcidCharList
static const std::vector< Enums::AminoAcidChar > & getAminoAcidCharList()
Definition
aabase.cpp:415
pappso::AaBase::getAminoAcidChar
const Enums::AminoAcidChar & getAminoAcidChar() const
Definition
aabase.cpp:409
pappso::AaBase::getMass
virtual pappso_double getMass() const
Definition
aabase.cpp:356
pappso::AaBase::getNumberOfAtom
virtual int getNumberOfAtom(Enums::AtomIsotopeSurvey atom) const override
get the number of atom C, O, N, H in the molecule
Definition
aabase.cpp:363
pappso::AaBase::AaModification
friend class AaModification
Definition
aabase.h:45
pappso::AaBase::m_aaLetter
char m_aaLetter
Definition
aabase.h:68
pappso::AaBase::getAaMass
static pappso_double getAaMass(char aa_letter)
Definition
aabase.cpp:349
pappso::AaBase::replaceLeucineIsoleucine
virtual void replaceLeucineIsoleucine()
Definition
aabase.cpp:388
pappso::AaBase::AaMassMap
std::map< char, pappso_double > AaMassMap
Definition
aabase.h:71
pappso::AaBase::getLetter
virtual const char & getLetter() const
Definition
aabase.cpp:403
pappso::AaBase::m_aminoAcidCharList
static AminoAcidCharList m_aminoAcidCharList
Definition
aabase.h:81
pappso::AaBase::m_aaNumberOfNitrogenMap
static AaIntMap m_aaNumberOfNitrogenMap
Definition
aabase.h:79
pappso::AaBase::m_aaNumberOfHydrogenMap
static AaIntMap m_aaNumberOfHydrogenMap
Definition
aabase.h:78
pappso::AaBase::AminoAcidCharList
std::vector< Enums::AminoAcidChar > AminoAcidCharList
Definition
aabase.h:73
pappso::AtomNumberInterface
Definition
atomnumberinterface.h:30
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition
export-import-config.h:14
pappso::Enums::AtomIsotopeSurvey
AtomIsotopeSurvey
Definition
types.h:103
pappso::Enums::Isotope
Isotope
Definition
types.h:119
pappso::Enums::AminoAcidChar
AminoAcidChar
Definition
types.h:187
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition
types.h:60
types.h
pappsomspp
core
amino_acid
aabase.h
Generated on
for libpappsomspp by
1.17.0