Loading...
Searching...
No Matches
pappso::AaCode Class Reference

collection of integer code for each amino acid 0 => null 1 to 20 => amino acid sorted by there mass (lower to higher). Leucine is replaced by Isoleucine More...

`#include <aacode.h>`

## Public Member Functions

| AaCode ()
| AaCode (const AaCode &other)
| ~AaCode ()
uint8_t | getAaCode (char aa_letter) const
const Aa & | getAa (char aa_letter) const
const Aa & | getAa (uint8_t aa_code) const
double | getMass (uint8_t aa_code) const
void | addAaModification (char aa_letter, AaModificationP aaModification)
std::size_t | getSize () const

## Private Member Functions

void | updateNumbers ()
| give a number (the code) to each amino acid sorted by mass
void | updateMass ()
| update mass cache

## Private Attributes

std::vector< uint8_t > | m_asciiTable
std::vector< Aa > | m_aaCollection
std::vector< double > | m_massCollection

## Detailed Description

collection of integer code for each amino acid 0 => null 1 to 20 => amino acid sorted by there mass (lower to higher). Leucine is replaced by Isoleucine

Definition at line 42 of file aacode.h.

## Constructor & Destructor Documentation

## AaCode() [1/2]

AaCode::AaCode | ( |  | ) |

Default constructor

Definition at line 34 of file aacode.cpp.

{
m_asciiTable.resize(90, 0);
m_aaCollection.push_back(Aa('A'));
m_aaCollection.push_back(Aa('C'));
m_aaCollection.push_back(Aa('D'));
m_aaCollection.push_back(Aa('E'));
m_aaCollection.push_back(Aa('F'));
m_aaCollection.push_back(Aa('G'));
m_aaCollection.push_back(Aa('H'));
m_aaCollection.push_back(Aa('I'));
m_aaCollection.push_back(Aa('K'));
m_aaCollection.push_back(Aa('M'));
m_aaCollection.push_back(Aa('N'));
m_aaCollection.push_back(Aa('P'));
m_aaCollection.push_back(Aa('Q'));
m_aaCollection.push_back(Aa('R'));
m_aaCollection.push_back(Aa('S'));
m_aaCollection.push_back(Aa('T'));
m_aaCollection.push_back(Aa('V'));
m_aaCollection.push_back(Aa('W'));
m_aaCollection.push_back(Aa('Y'));
updateNumbers();
}
pappso::AaCode::updateNumbers
void updateNumbers()
give a number (the code) to each amino acid sorted by mass
Definition aacode.cpp:153
pappso::AaCode::m_asciiTable
std::vector< uint8_t > m_asciiTable
Definition aacode.h:81
pappso::AaCode::m_aaCollection
std::vector< Aa > m_aaCollection
Definition aacode.h:83
pappso::Aa
Definition aa.h:45

References m_aaCollection, m_asciiTable, and updateNumbers().

## AaCode() [2/2]

pappso::AaCode::AaCode | ( | const AaCode & | other | ) |

Default copy constructor

Definition at line 61 of file aacode.cpp.

{
m_asciiTable = other.m_asciiTable;
m_aaCollection = other.m_aaCollection;
}

References m_aaCollection, and m_asciiTable.

## ~AaCode()

AaCode::~AaCode | ( |  | ) |

Destructor

Definition at line 69 of file aacode.cpp.

{
}

## Member Function Documentation

## addAaModification()

void pappso::AaCode::addAaModification | ( | char | aa_letter,
|  | pappso::AaModificationP | aaModification
| ) |  |

Definition at line 127 of file aacode.cpp.

{
auto it = std::find_if(
m_aaCollection.begin(), m_aaCollection.end(), [aa_letter](const Aa &aa) {
if(aa.getLetter() == aa_letter)
return true;
return false;
});
if(it != m_aaCollection.end())
{
it->addAaModification(aaModification);
}
else
{
throw pappso::ExceptionNotFound(
QObject::tr("error, %1 amino acid not found in m_aaCollection")
.arg(aa_letter));
}
updateNumbers();
}
pappso::ExceptionNotFound
Definition exceptionnotfound.h:32

## getAa() [1/2]

const pappso::Aa & pappso::AaCode::getAa | ( | char | aa_letter | ) | const

Definition at line 89 of file aacode.cpp.

{
auto it = std::find_if(
m_aaCollection.begin(), m_aaCollection.end(), [aa_letter](const Aa &aa) {
if(aa.getLetter() == aa_letter)
return true;
return false;
});
if(it != m_aaCollection.end())
{
return *it;
}
throw pappso::ExceptionNotFound(
QObject::tr("error, %1 amino acid not found in m_aaCollection")
.arg(aa_letter));
}

## getAa() [2/2]

const pappso::Aa & pappso::AaCode::getAa | ( | uint8_t | aa_code | ) | const

Definition at line 109 of file aacode.cpp.

{
if(aa_code == 0)
{
throw pappso::ExceptionOutOfRange(
QObject::tr("error, 0 is null : no amino acid").arg(aa_code));
}
else if(aa_code > 19)
{
throw pappso::ExceptionOutOfRange(
QObject::tr("error, %1 amino acid code not found in m_aaCollection")
.arg(aa_code));
}
return m_aaCollection[aa_code - 1];
}
pappso::ExceptionOutOfRange
Definition exceptionoutofrange.h:32

## getAaCode()

uint8_t pappso::AaCode::getAaCode | ( | char | aa_letter | ) | const

Definition at line 81 of file aacode.cpp.

{
// qDebug() << aa_letter << " " << (uint8_t)aa_letter;
// qDebug() << m_asciiTable[77];
return m_asciiTable[aa_letter];
}

Referenced by pappso::ProteinIntegerCode::ProteinIntegerCode().

## getMass()

double pappso::AaCode::getMass | ( | uint8_t | aa_code | ) | const

Definition at line 186 of file aacode.cpp.

{
return m_massCollection[aa_code];
}
pappso::AaCode::m_massCollection
std::vector< double > m_massCollection
Definition aacode.h:84

## getSize()

std::size_t pappso::AaCode::getSize | ( |  | ) | const

Definition at line 74 of file aacode.cpp.

{
return 19;
}

Referenced by pappso::AaStringCodec::AaStringCodec(), pappso::AaStringCodeMassMatching::AaStringCodeMassMatching(), and pappso::AaStringCodeMassMatching::AaStringCodeMassMatching().

## updateMass()

void pappso::AaCode::updateMass | ( |  | ) |

private

update mass cache

Definition at line 174 of file aacode.cpp.

{
m_massCollection.resize(1);
for(const Aa &aa : m_aaCollection)
{
m_massCollection.push_back(aa.getMass());
}
}

## updateNumbers()

void pappso::AaCode::updateNumbers | ( |  | ) |

private

give a number (the code) to each amino acid sorted by mass

Definition at line 153 of file aacode.cpp.

{
std::sort(
m_aaCollection.begin(),
m_aaCollection.end(),
[](const Aa &aa1, const Aa &aa2) { return aa1.getMass() < aa2.getMass(); });
std::size_t n = 1;
for(const Aa &aa : m_aaCollection)
{
// qDebug() << aa.getLetter() << " " << n;
m_asciiTable[aa.getLetter()] = n;
n++;
}
m_asciiTable['L'] = m_asciiTable['I'];
updateMass();
}
pappso::AaCode::updateMass
void updateMass()
update mass cache
Definition aacode.cpp:174

Referenced by AaCode().

## Member Data Documentation

## m_aaCollection

std::vector<Aa> pappso::AaCode::m_aaCollection

private

Definition at line 83 of file aacode.h.

Referenced by AaCode(), and AaCode().

## m_asciiTable

std::vector<uint8_t> pappso::AaCode::m_asciiTable

private

Definition at line 81 of file aacode.h.

Referenced by AaCode(), and AaCode().

## m_massCollection

std::vector<double> pappso::AaCode::m_massCollection

private

Definition at line 84 of file aacode.h.

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

- pappsomspp/amino_acid/aacode.h
- pappsomspp/amino_acid/aacode.cpp