libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::AaBase Class Reference

#include <aabase.h>

Inheritance diagram for pappso::AaBase:
pappso::AtomNumberInterface pappso::Aa

Public Member Functions

virtual pappso_double getMass () const
 
virtual const char & getLetter () const
 
const Enums::AminoAcidChargetAminoAcidChar () const
 
virtual void replaceLeucineIsoleucine ()
 
- Public Member Functions inherited from pappso::AtomNumberInterface
virtual const ChemicalFormula getChemicalFormula () const
 

Static Public Member Functions

static const std::vector< Enums::AminoAcidChar > & getAminoAcidCharList ()
 

Protected Member Functions

 AaBase (char aa_letter)
 
 AaBase (Enums::AminoAcidChar aa_char)
 
 AaBase (const AaBase &aabase)
 
virtual ~AaBase ()
 
virtual int getNumberOfAtom (Enums::AtomIsotopeSurvey atom) const override
 get the number of atom C, O, N, H in the molecule
 
int getNumberOfIsotope (Enums::Isotope isotope) const override
 get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
 

Static Protected Member Functions

static pappso_double getAaMass (char aa_letter)
 

Protected Attributes

char m_aaLetter
 

Private Types

using AaMassMap = std::map<char, pappso_double>
 
using AaIntMap = std::map<char, unsigned int>
 
using AminoAcidCharList = std::vector<Enums::AminoAcidChar>
 

Static Private Attributes

static AaMassMap m_aaMassMap
 
static AaIntMap m_aaNumberOfCarbonMap
 
static AaIntMap m_aaNumberOfSulfurMap
 
static AaIntMap m_aaNumberOfHydrogenMap
 
static AaIntMap m_aaNumberOfNitrogenMap
 
static AaIntMap m_aaNumberOfOxygenMap
 
static AminoAcidCharList m_aminoAcidCharList
 

Friends

class AaModification
 

Detailed Description

Definition at line 43 of file aabase.h.

Member Typedef Documentation

◆ AaIntMap

using pappso::AaBase::AaIntMap = std::map<char, unsigned int>
private

Definition at line 72 of file aabase.h.

◆ AaMassMap

using pappso::AaBase::AaMassMap = std::map<char, pappso_double>
private

Definition at line 71 of file aabase.h.

◆ AminoAcidCharList

Definition at line 73 of file aabase.h.

Constructor & Destructor Documentation

◆ AaBase() [1/3]

pappso::AaBase::AaBase ( char aa_letter)
protected

Definition at line 43 of file aabase.cpp.

43 : m_aaLetter(aa_letter)
44{
45 /*
46 if (AaBase::_aa_mass_map.empty()) {
47 AaBase::static_builder();
48 }
49 */
50 qDebug() << aa_letter;
51 if(m_aaMassMap.find(aa_letter) == m_aaMassMap.end())
52 {
53 qDebug() << "error";
54 if((int)aa_letter == 0)
55 {
56 throw ExceptionNotPossible(QObject::tr("amino acid letter is void"));
57 }
58 else
59 {
60 throw ExceptionNotFound(QObject::tr("amino acid %1 not found").arg(aa_letter));
61 }
62 }
63 qDebug();
64}
static AaMassMap m_aaMassMap
Definition aabase.h:75
char m_aaLetter
Definition aabase.h:68

References m_aaLetter, and m_aaMassMap.

Referenced by pappso::Aa::Aa(), pappso::Aa::Aa(), pappso::Aa::Aa(), pappso::Aa::Aa(), AaBase(), and AaModification.

◆ AaBase() [2/3]

pappso::AaBase::AaBase ( Enums::AminoAcidChar aa_char)
protected

Definition at line 66 of file aabase.cpp.

66 : m_aaLetter((char)aa_char)
67{
68}

References m_aaLetter.

◆ AaBase() [3/3]

pappso::AaBase::AaBase ( const AaBase & aabase)
protected

Definition at line 71 of file aabase.cpp.

71 : m_aaLetter(aa.m_aaLetter)
72{
73}
@ aa
best possible : more than one direct MS2 fragmentation in same MSRUN
Definition types.h:45

References AaBase(), and m_aaLetter.

◆ ~AaBase()

pappso::AaBase::~AaBase ( )
protectedvirtual

Definition at line 75 of file aabase.cpp.

76{
77 // TODO Auto-generated destructor stub
78}

Member Function Documentation

◆ getAaMass()

pappso_double pappso::AaBase::getAaMass ( char aa_letter)
staticprotected

Definition at line 349 of file aabase.cpp.

350{
351 return m_aaMassMap.at(aa_letter);
352}

References m_aaMassMap.

Referenced by AaModification.

◆ getAminoAcidChar()

const Enums::AminoAcidChar & pappso::AaBase::getAminoAcidChar ( ) const

Definition at line 409 of file aabase.cpp.

410{
412}

References m_aaLetter.

Referenced by AaModification, and pappso::PeptideProFormaParser::parseStringToPeptide().

◆ getAminoAcidCharList()

const std::vector< Enums::AminoAcidChar > & pappso::AaBase::getAminoAcidCharList ( )
static

Definition at line 415 of file aabase.cpp.

416{
417 return m_aminoAcidCharList;
418}
static AminoAcidCharList m_aminoAcidCharList
Definition aabase.h:81

References m_aminoAcidCharList.

Referenced by AaModification.

◆ getLetter()

◆ getMass()

pappso_double pappso::AaBase::getMass ( ) const
virtual

Reimplemented in pappso::Aa.

Definition at line 356 of file aabase.cpp.

357{
358 return m_aaMassMap.at(m_aaLetter);
359}

References m_aaLetter, and m_aaMassMap.

Referenced by AaModification, and pappso::Aa::getMass().

◆ getNumberOfAtom()

int pappso::AaBase::getNumberOfAtom ( Enums::AtomIsotopeSurvey atom) const
overrideprotectedvirtual

get the number of atom C, O, N, H in the molecule

Implements pappso::AtomNumberInterface.

Reimplemented in pappso::Aa.

Definition at line 363 of file aabase.cpp.

364{
365 switch(atom)
366 {
368 return this->m_aaNumberOfCarbonMap.at(m_aaLetter);
370 return this->m_aaNumberOfHydrogenMap.at(m_aaLetter);
372 return this->m_aaNumberOfNitrogenMap.at(m_aaLetter);
374 return this->m_aaNumberOfOxygenMap.at(m_aaLetter);
376 return this->m_aaNumberOfSulfurMap.at(m_aaLetter);
377 default:
378 return 0;
379 }
380 // selenium (U) is not taken into account to compute isotopes
381 // it has 5 stable isotopes and the most abundant is 80Se (49,61%)
382 qDebug() << "AaBase::getNumberOfAtom(Enums::AtomIsotopeSurvey atom) NOT IMPLEMENTED";
383 return 0;
384}
static AaIntMap m_aaNumberOfSulfurMap
Definition aabase.h:77
static AaIntMap m_aaNumberOfCarbonMap
Definition aabase.h:76
static AaIntMap m_aaNumberOfOxygenMap
Definition aabase.h:80
static AaIntMap m_aaNumberOfNitrogenMap
Definition aabase.h:79
static AaIntMap m_aaNumberOfHydrogenMap
Definition aabase.h:78

References pappso::Enums::C, pappso::Enums::H, m_aaLetter, m_aaNumberOfCarbonMap, m_aaNumberOfHydrogenMap, m_aaNumberOfNitrogenMap, m_aaNumberOfOxygenMap, m_aaNumberOfSulfurMap, pappso::Enums::N, pappso::Enums::O, and pappso::Enums::S.

Referenced by AaModification, and pappso::Aa::getNumberOfAtom().

◆ getNumberOfIsotope()

int pappso::AaBase::getNumberOfIsotope ( Enums::Isotope isotope) const
overrideprotectedvirtual

get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule

Implements pappso::AtomNumberInterface.

Definition at line 396 of file aabase.cpp.

397{
398 return 0;
399}

Referenced by AaModification.

◆ replaceLeucineIsoleucine()

void pappso::AaBase::replaceLeucineIsoleucine ( )
virtual

Definition at line 388 of file aabase.cpp.

389{
390 if(m_aaLetter == 'L')
391 m_aaLetter = 'I';
392}

References m_aaLetter.

Referenced by AaModification.

Friends And Related Symbol Documentation

◆ AaModification

Member Data Documentation

◆ m_aaLetter

◆ m_aaMassMap

AaBase::AaMassMap pappso::AaBase::m_aaMassMap
staticprivate

Definition at line 75 of file aabase.h.

Referenced by AaBase(), getAaMass(), and getMass().

◆ m_aaNumberOfCarbonMap

AaBase::AaIntMap pappso::AaBase::m_aaNumberOfCarbonMap
staticprivate
Initial value:
= [] {
AaIntMap ret;
ret.insert(std::pair<char, unsigned int>('W', 11));
ret.insert(std::pair<char, unsigned int>('G', 2));
ret.insert(std::pair<char, unsigned int>('A', 3));
ret.insert(std::pair<char, unsigned int>('S', 3));
ret.insert(std::pair<char, unsigned int>('P', 5));
ret.insert(std::pair<char, unsigned int>('V', 5));
ret.insert(std::pair<char, unsigned int>('T', 4));
ret.insert(std::pair<char, unsigned int>('L', 6));
ret.insert(std::pair<char, unsigned int>('I', 6));
ret.insert(std::pair<char, unsigned int>('N', 4));
ret.insert(std::pair<char, unsigned int>('D', 4));
ret.insert(std::pair<char, unsigned int>('K', 6));
ret.insert(std::pair<char, unsigned int>('Q', 5));
ret.insert(std::pair<char, unsigned int>('E', 5));
ret.insert(std::pair<char, unsigned int>('M', 5));
ret.insert(std::pair<char, unsigned int>('H', 6));
ret.insert(std::pair<char, unsigned int>('F', 9));
ret.insert(std::pair<char, unsigned int>('R', 6));
ret.insert(std::pair<char, unsigned int>('C', 3));
ret.insert(std::pair<char, unsigned int>('Y', 9));
ret.insert(std::pair<char, unsigned int>('U', 3));
ret.insert(std::pair<char, unsigned int>('O', 12));
return ret;
}()
std::map< char, unsigned int > AaIntMap
Definition aabase.h:72

Definition at line 76 of file aabase.h.

Referenced by getNumberOfAtom().

◆ m_aaNumberOfHydrogenMap

AaBase::AaIntMap pappso::AaBase::m_aaNumberOfHydrogenMap
staticprivate
Initial value:
= [] {
AaIntMap ret;
ret.insert(std::pair<char, unsigned int>('A', 5));
ret.insert(std::pair<char, unsigned int>('C', 5));
ret.insert(std::pair<char, unsigned int>('D', 5));
ret.insert(std::pair<char, unsigned int>('E', 7));
ret.insert(std::pair<char, unsigned int>('F', 9));
ret.insert(std::pair<char, unsigned int>('G', 3));
ret.insert(std::pair<char, unsigned int>('H', 7));
ret.insert(std::pair<char, unsigned int>('I', 11));
ret.insert(std::pair<char, unsigned int>('K', 12));
ret.insert(std::pair<char, unsigned int>('L', 11));
ret.insert(std::pair<char, unsigned int>('M', 9));
ret.insert(std::pair<char, unsigned int>('N', 6));
ret.insert(std::pair<char, unsigned int>('P', 7));
ret.insert(std::pair<char, unsigned int>('Q', 8));
ret.insert(std::pair<char, unsigned int>('R', 12));
ret.insert(std::pair<char, unsigned int>('S', 5));
ret.insert(std::pair<char, unsigned int>('T', 7));
ret.insert(std::pair<char, unsigned int>('V', 9));
ret.insert(std::pair<char, unsigned int>('W', 10));
ret.insert(std::pair<char, unsigned int>('Y', 9));
ret.insert(std::pair<char, unsigned int>('U', 7));
ret.insert(std::pair<char, unsigned int>('O', 21));
return ret;
}()

Definition at line 78 of file aabase.h.

Referenced by getNumberOfAtom().

◆ m_aaNumberOfNitrogenMap

AaBase::AaIntMap pappso::AaBase::m_aaNumberOfNitrogenMap
staticprivate
Initial value:
= [] {
AaIntMap ret;
ret.insert(std::pair<char, unsigned int>('A', 1));
ret.insert(std::pair<char, unsigned int>('C', 1));
ret.insert(std::pair<char, unsigned int>('D', 1));
ret.insert(std::pair<char, unsigned int>('E', 1));
ret.insert(std::pair<char, unsigned int>('F', 1));
ret.insert(std::pair<char, unsigned int>('G', 1));
ret.insert(std::pair<char, unsigned int>('H', 3));
ret.insert(std::pair<char, unsigned int>('I', 1));
ret.insert(std::pair<char, unsigned int>('K', 2));
ret.insert(std::pair<char, unsigned int>('L', 1));
ret.insert(std::pair<char, unsigned int>('M', 1));
ret.insert(std::pair<char, unsigned int>('N', 2));
ret.insert(std::pair<char, unsigned int>('P', 1));
ret.insert(std::pair<char, unsigned int>('Q', 2));
ret.insert(std::pair<char, unsigned int>('R', 4));
ret.insert(std::pair<char, unsigned int>('S', 1));
ret.insert(std::pair<char, unsigned int>('T', 1));
ret.insert(std::pair<char, unsigned int>('V', 1));
ret.insert(std::pair<char, unsigned int>('W', 2));
ret.insert(std::pair<char, unsigned int>('Y', 1));
ret.insert(std::pair<char, unsigned int>('U', 1));
ret.insert(std::pair<char, unsigned int>('O', 3));
return ret;
}()

Definition at line 79 of file aabase.h.

Referenced by getNumberOfAtom().

◆ m_aaNumberOfOxygenMap

AaBase::AaIntMap pappso::AaBase::m_aaNumberOfOxygenMap
staticprivate
Initial value:
= [] {
AaIntMap ret;
ret.insert(std::pair<char, unsigned int>('A', 1));
ret.insert(std::pair<char, unsigned int>('C', 1));
ret.insert(std::pair<char, unsigned int>('D', 3));
ret.insert(std::pair<char, unsigned int>('E', 3));
ret.insert(std::pair<char, unsigned int>('F', 1));
ret.insert(std::pair<char, unsigned int>('G', 1));
ret.insert(std::pair<char, unsigned int>('H', 1));
ret.insert(std::pair<char, unsigned int>('I', 1));
ret.insert(std::pair<char, unsigned int>('K', 1));
ret.insert(std::pair<char, unsigned int>('L', 1));
ret.insert(std::pair<char, unsigned int>('M', 1));
ret.insert(std::pair<char, unsigned int>('N', 2));
ret.insert(std::pair<char, unsigned int>('P', 1));
ret.insert(std::pair<char, unsigned int>('Q', 2));
ret.insert(std::pair<char, unsigned int>('R', 1));
ret.insert(std::pair<char, unsigned int>('S', 2));
ret.insert(std::pair<char, unsigned int>('T', 2));
ret.insert(std::pair<char, unsigned int>('V', 1));
ret.insert(std::pair<char, unsigned int>('W', 1));
ret.insert(std::pair<char, unsigned int>('Y', 2));
ret.insert(std::pair<char, unsigned int>('U', 2));
ret.insert(std::pair<char, unsigned int>('O', 3));
return ret;
}()

Definition at line 80 of file aabase.h.

Referenced by getNumberOfAtom().

◆ m_aaNumberOfSulfurMap

AaBase::AaIntMap pappso::AaBase::m_aaNumberOfSulfurMap
staticprivate
Initial value:
= [] {
AaIntMap ret;
ret.insert(std::pair<char, unsigned int>('A', 0));
ret.insert(std::pair<char, unsigned int>('C', 1));
ret.insert(std::pair<char, unsigned int>('D', 0));
ret.insert(std::pair<char, unsigned int>('E', 0));
ret.insert(std::pair<char, unsigned int>('F', 0));
ret.insert(std::pair<char, unsigned int>('G', 0));
ret.insert(std::pair<char, unsigned int>('H', 0));
ret.insert(std::pair<char, unsigned int>('I', 0));
ret.insert(std::pair<char, unsigned int>('K', 0));
ret.insert(std::pair<char, unsigned int>('L', 0));
ret.insert(std::pair<char, unsigned int>('M', 1));
ret.insert(std::pair<char, unsigned int>('N', 0));
ret.insert(std::pair<char, unsigned int>('P', 0));
ret.insert(std::pair<char, unsigned int>('Q', 0));
ret.insert(std::pair<char, unsigned int>('R', 0));
ret.insert(std::pair<char, unsigned int>('S', 0));
ret.insert(std::pair<char, unsigned int>('T', 0));
ret.insert(std::pair<char, unsigned int>('V', 0));
ret.insert(std::pair<char, unsigned int>('W', 0));
ret.insert(std::pair<char, unsigned int>('Y', 0));
ret.insert(std::pair<char, unsigned int>('U', 0));
ret.insert(std::pair<char, unsigned int>('O', 0));
return ret;
}()

Definition at line 77 of file aabase.h.

Referenced by getNumberOfAtom().

◆ m_aminoAcidCharList

AaBase::AminoAcidCharList pappso::AaBase::m_aminoAcidCharList
staticprivate
Initial value:
= [] {
};
return ret;
}()
std::vector< Enums::AminoAcidChar > AminoAcidCharList
Definition aabase.h:73

Definition at line 81 of file aabase.h.

Referenced by getAminoAcidCharList().


The documentation for this class was generated from the following files: