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

`#include <proteinintegercode.h>`

## Public Member Functions

| ProteinIntegerCode (ProteinSp protein, const AaStringCodec &codec, std::size_t aa_str_max_size=5)
| ProteinIntegerCode (const ProteinIntegerCode &other)
| ~ProteinIntegerCode ()
const std::vector< std::uint32_t > & | getPeptideCodedFragment (std::size_t size) const
std::vector< std::pair< std::size_t, std::uint32_t > > | match (const std::vector< uint32_t > &code_list) const

## Private Member Functions

std::vector< std::uint32_t > | computePeptideCodeFragments (const AaStringCodec &codec, std::size_t fragment_size) const

## Private Attributes

ProteinSp | msp_protein
std::vector< std::uint8_t > | m_seqAaCode
std::vector< std::vector< std::uint32_t > > | m_peptideCodedFragments

## Detailed Description

Definition at line 42 of file proteinintegercode.h.

## Constructor & Destructor Documentation

## ProteinIntegerCode() [1/2]

ProteinIntegerCode::ProteinIntegerCode | ( | ProteinSp | protein,
|  | const AaStringCodec & | codec,
|  | std::size_t | aa_str_max_size = `5`
| ) |  |

Default constructor

Definition at line 34 of file proteinintegercode.cpp.

{
msp_protein = protein;
if(aa_str_max_size > 7)
{
throw ExceptionOutOfRange(
QObject::tr("aa_str_max_size exceeds max size"));
}
QString seq_str = protein.get()->getSequence();
m_seqAaCode.clear();
for(const QChar &aa_str : seq_str)
{
m_seqAaCode.push_back(codec.getAaCode().getAaCode(aa_str.toLatin1()));
}
for(std::size_t i = 2; i <= aa_str_max_size; i++)
{
m_peptideCodedFragments.push_back(computePeptideCodeFragments(codec, i));
}
}
pappso::AaCode::getAaCode
uint8_t getAaCode(char aa_letter) const
Definition aacode.cpp:81
pappso::AaStringCodec::getAaCode
const AaCode & getAaCode() const
Definition aastringcodec.cpp:273
pappso::ExceptionOutOfRange
Definition exceptionoutofrange.h:32
pappso::ProteinIntegerCode::m_seqAaCode
std::vector< std::uint8_t > m_seqAaCode
Definition proteinintegercode.h:78
pappso::ProteinIntegerCode::m_peptideCodedFragments
std::vector< std::vector< std::uint32_t > > m_peptideCodedFragments
Definition proteinintegercode.h:79
pappso::ProteinIntegerCode::msp_protein
ProteinSp msp_protein
Definition proteinintegercode.h:76
pappso::ProteinIntegerCode::computePeptideCodeFragments
std::vector< std::uint32_t > computePeptideCodeFragments(const AaStringCodec &codec, std::size_t fragment_size) const
Definition proteinintegercode.cpp:74

References computePeptideCodeFragments(), pappso::AaStringCodec::getAaCode(), pappso::AaCode::getAaCode(), m_peptideCodedFragments, m_seqAaCode, and msp_protein.

## ProteinIntegerCode() [2/2]

ProteinIntegerCode::ProteinIntegerCode | ( | const ProteinIntegerCode & | other | ) |

Copy constructor

Parameters

  other | TODO

Definition at line 60 of file proteinintegercode.cpp.

{
msp_protein = other.msp_protein;
m_seqAaCode = other.m_seqAaCode;
m_peptideCodedFragments = other.m_peptideCodedFragments;
}

References m_peptideCodedFragments, m_seqAaCode, and msp_protein.

## ~ProteinIntegerCode()

ProteinIntegerCode::~ProteinIntegerCode | ( |  | ) |

Destructor

Definition at line 69 of file proteinintegercode.cpp.

{
}

## Member Function Documentation

## computePeptideCodeFragments()

std::vector< std::uint32_t > pappso::ProteinIntegerCode::computePeptideCodeFragments | ( | const AaStringCodec & | codec,
|  | std::size_t | fragment_size
| ) |  | const

private

Definition at line 74 of file proteinintegercode.cpp.

{
std::vector<std::uint32_t> fragments;
int max = (m_seqAaCode.size() - fragment_size);
if(max < 0)
return fragments;
auto it = m_seqAaCode.begin();
for(int i = 0; i <= max; i++)
{
fragments.push_back(codec.codeLlc(it, fragment_size));
it++;
}
return fragments;
}
pappso::AaStringCodec::codeLlc
uint32_t codeLlc(const QString &aa_str) const
get the lowest common denominator integer from amino acide suite string
Definition aastringcodec.cpp:73
pappso::XicExtractMethod::max
@ max
maximum of intensities

References pappso::AaStringCodec::codeLlc(), and pappso::max.

Referenced by ProteinIntegerCode().

## getPeptideCodedFragment()

const std::vector< std::uint32_t > & pappso::ProteinIntegerCode::getPeptideCodedFragment | ( | std::size_t | size | ) | const

Definition at line 95 of file proteinintegercode.cpp.

{
if(size < 2)
{
throw ExceptionOutOfRange(QObject::tr("size too small"));
}
std::size_t indice = size - 2;
if(indice < m_peptideCodedFragments.size())
{
return m_peptideCodedFragments.at(indice);
}
throw ExceptionOutOfRange(QObject::tr("size too big"));
}

## match()

std::vector< std::pair< std::size_t, std::uint32_t > > pappso::ProteinIntegerCode::match | ( | const std::vector< uint32_t > & | code_list | ) | const

Definition at line 113 of file proteinintegercode.cpp.

{
std::vector<std::pair<std::size_t, std::uint32_t>> return_pos;
std::vector<uint32_t> code_list = code_list_in;
std::sort(code_list.begin(), code_list.end());
auto it_end = std::unique(code_list.begin(), code_list.end());
for(auto it_code = code_list.begin(); it_code != it_end; it_code++)
{
std::size_t size = 2;
for(auto &liste_protein_seq_code : m_peptideCodedFragments)
{
auto it_seq_position = std::find(liste_protein_seq_code.begin(),
liste_protein_seq_code.end(),
*it_code);
while(it_seq_position != liste_protein_seq_code.end())
{
// found
std::size_t position =
std::distance(liste_protein_seq_code.begin(), it_seq_position);
return_pos.push_back({size, position});
it_seq_position = std::find(
++it_seq_position, liste_protein_seq_code.end(), *it_code);
qDebug();
}
size++;
qDebug();
}
qDebug();
}
return return_pos;
}

## Member Data Documentation

## m_peptideCodedFragments

std::vector<std::vector<std::uint32_t> > pappso::ProteinIntegerCode::m_peptideCodedFragments

private

Definition at line 79 of file proteinintegercode.h.

Referenced by ProteinIntegerCode(), and ProteinIntegerCode().

## m_seqAaCode

std::vector<std::uint8_t> pappso::ProteinIntegerCode::m_seqAaCode

private

Definition at line 78 of file proteinintegercode.h.

Referenced by ProteinIntegerCode(), and ProteinIntegerCode().

## msp_protein

ProteinSp pappso::ProteinIntegerCode::msp_protein

private

Definition at line 76 of file proteinintegercode.h.

Referenced by ProteinIntegerCode(), and ProteinIntegerCode().

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

- pappsomspp/protein/proteinintegercode.h
- pappsomspp/protein/proteinintegercode.cpp