pappso::Peptide Class Reference

`#include <peptide.h>`

Inheritance diagram for pappso::Peptide:

## Public Member Functions

| Peptide (const QString &pepstr)
virtual | ~Peptide ()
| Peptide (const Peptide &peptide)
| Peptide (Peptide &&toCopy)
PeptideSp | makePeptideSp () const
NoConstPeptideSp | makeNoConstPeptideSp () const
void | addAaModification (AaModificationP aaModification, unsigned int position)
| adds a modification to amino acid sequence More...
std::vector< Aa >::iterator | begin ()
std::vector< Aa >::iterator | end ()
std::vector< Aa >::const_iterator | begin () const
std::vector< Aa >::const_iterator | end () const
std::vector< Aa >::const_reverse_iterator | rbegin () const
std::vector< Aa >::const_reverse_iterator | rend () const
Aa & | getAa (unsigned int position)
const Aa & | getConstAa (unsigned int position) const
pappso_double | getMass ()
pappso_double | getMass () const override
virtual int | getNumberOfAtom (AtomIsotopeSurvey atom) const override
| get the number of atom C, O, N, H in the molecule More...
virtual int | getNumberOfIsotope (Isotope isotope) const override
| get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule More...
const QString | getSequence () const override
| print amino acid sequence without modifications More...
unsigned int | size () const override
unsigned int | getNumberOfModification (AaModificationP mod) const
| count modification occurence More...
unsigned int | countModificationOnAa (AaModificationP mod, const std::vector< char > &aa_list) const
| count modification occurence More...
void | replaceAaModification (AaModificationP oldmod, AaModificationP newmod)
| replaces all occurences of a modification by a new one More...
void | removeAaModification (AaModificationP mod)
| removes all occurences of a modification More...
std::vector< unsigned int > | getModificationPositionList (AaModificationP mod) const
| get modification positions More...
std::vector< unsigned int > | getModificationPositionList (AaModificationP mod, const std::vector< char > &aa_list) const
| get modification positions More...
std::vector< unsigned int > | getAaPositionList (char aa) const
| get positions of one amino acid in peptide More...
std::vector< unsigned int > | getAaPositionList (std::list< char > list_aa) const
const QString | toString () const
| print modification except internal modifications More...
const QString | toAbsoluteString () const
| print all modifications More...
const QString | getLiAbsoluteString () const
| get all sequence string with modifications and converting Leucine to Isoleucine More...
AaModificationP | getInternalNterModification () const
AaModificationP | getInternalCterModification () const
void | removeInternalNterModification ()
void | removeInternalCterModification ()
void | setInternalNterModification (AaModificationP mod)
void | setInternalCterModification (AaModificationP mod)
void | rotate ()
void | reverse ()
virtual bool | isPalindrome () const override
| tells if the peptide sequence is a palindrome More...
void | replaceLeucineIsoleucine ()
void | removeNterAminoAcid ()
void | removeCterAminoAcid ()
Public Member Functions inherited from pappso::PeptideInterface
virtual const QString | getSequenceLi () const
| amino acid sequence without modification where L are replaced by I More...
virtual const QString | getName () const
virtual const QString | getFormula (unsigned int charge) const final
virtual bool | matchPeak (PrecisionPtr precision, pappso_double peak_mz, unsigned int charge) const final
Public Member Functions inherited from pappso::Ion
| Ion ()
| ~Ion ()
virtual pappso_double | getMz (unsigned int charge) const final

## Protected Attributes

std::vector< Aa > | m_aaVec
pappso_double | m_proxyMass = -1

## Friends

bool | operator< (const Peptide &l, const Peptide &r)
bool | operator== (const Peptide &l, const Peptide &r)

## Detailed Description

Definition at line 92 of file peptide.h.

## Constructor & Destructor Documentation

## Peptide() [1/3]

pappso::Peptide::Peptide | ( | const QString & | pepstr | ) |

Definition at line 63 of file peptide.cpp.

{
QString::const_iterator it(pepstr.begin());
if(it != pepstr.end())
{
// first amino acid is the Nter one
// by default, it is obtained by hydrolytic cleavage in normal water
// and it is loaded with one Hydrogen
Aa nter_aa(it->toLatin1());
nter_aa.addAaModification(
AaModification::getInstance("internal:Nter_hydrolytic_cleavage_H"));
m_aaVec.push_back(nter_aa);
it++;
while(it != pepstr.end())
{
m_aaVec.push_back(Aa(it->toLatin1()));
it++;
}
// by default, Nter aa is obtained by hydrolytic cleavage in normal water
// and it is loaded with Hydrogen + Oxygen
m_aaVec.back().addAaModification(
AaModification::getInstance("internal:Cter_hydrolytic_cleavage_HO"));
getMass();
qDebug() << "blabla " << m_aaVec.back().toString();
}
}
pappso::AaModification::getInstance
static AaModificationP getInstance(const QString &accession)
Definition: aamodification.cpp:366
pappso::Peptide::getMass
pappso_double getMass()
Definition: peptide.cpp:191
pappso::Peptide::m_aaVec
std::vector< Aa > m_aaVec
Definition: peptide.h:95

References pappso::Aa::addAaModification(), pappso::AaModification::getInstance(), getMass(), and m_aaVec.

## ~Peptide()

pappso::Peptide::~Peptide | ( |  | ) |

virtual

Definition at line 92 of file peptide.cpp.

{
}

## Peptide() [2/3]

pappso::Peptide::Peptide | ( | const Peptide & | peptide | ) |

Definition at line 96 of file peptide.cpp.

: m_aaVec(peptide.m_aaVec), m_proxyMass(peptide.m_proxyMass)
{
}
pappso::Peptide::m_proxyMass
pappso_double m_proxyMass
Definition: peptide.h:96

## Peptide() [3/3]

pappso::Peptide::Peptide | ( | Peptide && | toCopy | ) |

Definition at line 102 of file peptide.cpp.

: m_aaVec(std::move(toCopy.m_aaVec)), m_proxyMass(toCopy.m_proxyMass)
{
}

## Member Function Documentation

## addAaModification()

void pappso::Peptide::addAaModification | ( | AaModificationP | aaModification,
|  | unsigned int | position
| ) |  |

adds a modification to amino acid sequence

Parameters

  aaModification | pointer on modification to add
  position | position in the amino acid sequence (starts at 0)

Definition at line 121 of file peptide.cpp.

{
if(position >= size())
{
throw ExceptionOutOfRange(
QObject::tr("position (%1) > size (%2)").arg(position).arg(size()));
}
m_proxyMass = -1;
qDebug() << "Peptide::addAaModification begin " << position;
std::vector<Aa>::iterator it = m_aaVec.begin() + position;
it->addAaModification(aaModification);
getMass();
qDebug() << "Peptide::addAaModification end";
}
pappso::Peptide::size
unsigned int size() const override
Definition: peptide.h:178

References getMass(), m_aaVec, m_proxyMass, and size().

Referenced by pappso::PeptideStrParser::parseStringToPeptide(), reverse(), rotate(), pappso::PeptideBuilder::setPeptide(), pappso::PeptideFixedModificationBuilder::setPeptideSp(), and pappso::PeptideVariableModificationBuilder::setPeptideSp().

## begin() [1/2]

std::vector<Aa>::iterator pappso::Peptide::begin | ( |  | ) |

inline

Definition at line 126 of file peptide.h.

{
return m_aaVec.begin();
}

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses().

## begin() [2/2]

std::vector<Aa>::const_iterator pappso::Peptide::begin | ( |  | ) | const

inline

Definition at line 138 of file peptide.h.

{
return m_aaVec.begin();
}

## countModificationOnAa()

unsigned int pappso::Peptide::countModificationOnAa | ( | AaModificationP | mod,
|  | const std::vector< char > & | aa_list
| ) |  | const

count modification occurence

Parameters

  mod | modification to look for
  aa_list | amino acid list targets (one letter code)

Returns
  number of occurences

Definition at line 250 of file peptide.cpp.

{
unsigned int number = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
if(std::find(aa_list.begin(), aa_list.end(), it->getLetter()) !=
aa_list.end())
{
number += it->getNumberOfModification(mod);
}
it++;
}
// qDebug() << "Aa::getMass() end " << mass;
return number;
}

References m_aaVec.

## end() [1/2]

std::vector<Aa>::iterator pappso::Peptide::end | ( |  | ) |

inline

Definition at line 132 of file peptide.h.

{
return m_aaVec.end();
}

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses().

## end() [2/2]

std::vector<Aa>::const_iterator pappso::Peptide::end | ( |  | ) | const

inline

Definition at line 144 of file peptide.h.

{
return m_aaVec.end();
}

## getAa()

Aa & pappso::Peptide::getAa | ( | unsigned int | position | ) |

Definition at line 519 of file peptide.cpp.

{
if(position >= m_aaVec.size())
{
throw ExceptionOutOfRange(
QObject::tr("no AA at position %1").arg(position));
}
return m_aaVec.at(position);
}

References m_aaVec.

Referenced by pappso::PeptideVariableModificationReplacement::replaceModificationsAtPosition().

## getAaPositionList() [1/2]

std::vector< unsigned int > pappso::Peptide::getAaPositionList | ( | char | aa | ) | const

get positions of one amino acid in peptide

Parameters

  aa | the one letter code of the amino acid

Returns
  vector containing positions (from 0 to size-1)

Definition at line 344 of file peptide.cpp.

{
std::vector<unsigned int> position_list;
unsigned int number = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
if(it->getLetter() == aa)
position_list.push_back(number);
number++;
it++;
}
// qDebug() << "Aa::getMass() end " << mass;
return position_list;
}

References m_aaVec.

Referenced by pappso::PeptideBuilder::setPeptide().

## getAaPositionList() [2/2]

std::vector< unsigned int > pappso::Peptide::getAaPositionList | ( | std::list< char > | list_aa | ) | const

Definition at line 361 of file peptide.cpp.

{
std::vector<unsigned int> position_list;
unsigned int number = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
bool found =
(std::find(list_aa.begin(), list_aa.end(), it->getLetter()) !=
list_aa.end());
if(found)
{
position_list.push_back(number);
}
number++;
it++;
}
// qDebug() << "Aa::getMass() end " << mass;
return position_list;
}

References m_aaVec.

## getConstAa()

const Aa & pappso::Peptide::getConstAa | ( | unsigned int | position | ) | const

Definition at line 529 of file peptide.cpp.

{
if(position >= m_aaVec.size())
{
throw ExceptionOutOfRange(
QObject::tr("no AA at position %1").arg(position));
}
return m_aaVec.at(position);
}

References m_aaVec.

Referenced by pappso::PeptideModificatorBase::getModificationPositionList().

## getInternalCterModification()

AaModificationP pappso::Peptide::getInternalCterModification | ( |  | ) | const

Definition at line 395 of file peptide.cpp.

{
std::vector<Aa>::const_iterator it(m_aaVec.end());
it--;
if(it != m_aaVec.end())
{
return it->getInternalCterModification();
}
return nullptr;
}

References m_aaVec.

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses(), removeCterAminoAcid(), reverse(), and rotate().

## getInternalNterModification()

AaModificationP pappso::Peptide::getInternalNterModification | ( |  | ) | const

Definition at line 384 of file peptide.cpp.

{
std::vector<Aa>::const_iterator it(m_aaVec.begin());
if(it != m_aaVec.end())
{
return it->getInternalNterModification();
}
return nullptr;
}

References m_aaVec.

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses(), removeNterAminoAcid(), reverse(), and rotate().

## getLiAbsoluteString()

const QString pappso::Peptide::getLiAbsoluteString | ( |  | ) | const

get all sequence string with modifications and converting Leucine to Isoleucine

Definition at line 164 of file peptide.cpp.

{
QString seq = "";
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
seq += it->toAbsoluteString();
it++;
}
return seq.replace("L", "I");
}

References m_aaVec.

## getMass() [1/2]

pappso_double pappso::Peptide::getMass | ( |  | ) |

Definition at line 191 of file peptide.cpp.

{
qDebug() << "Aa::getMass() begin";
if(m_proxyMass < 0)
{
m_proxyMass = 0;
for(auto aa : m_aaVec)
{
m_proxyMass += aa.getMass();
}
}
qDebug() << "Aa::getMass() end " << m_proxyMass;
return m_proxyMass;
}

References m_aaVec, and m_proxyMass.

Referenced by Peptide(), addAaModification(), pappso::Protein::getMass(), removeAaModification(), removeCterAminoAcid(), removeNterAminoAcid(), and replaceAaModification().

## getMass() [2/2]

pappso_double pappso::Peptide::getMass | ( |  | ) | const

inline override virtual

Implements pappso::Ion.

Definition at line 167 of file peptide.h.

{
return m_proxyMass;
};

## getModificationPositionList() [1/2]

std::vector< unsigned int > pappso::Peptide::getModificationPositionList | ( | AaModificationP | mod | ) | const

get modification positions

Parameters

  mod | modification to look for

Returns
  vector containing positions (from 0 to size-1)

Definition at line 297 of file peptide.cpp.

{
std::vector<unsigned int> position_list;
unsigned int position = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
unsigned int number = 0;
number += it->getNumberOfModification(mod);
for(unsigned int j = 0; j < number; j++)
{
position_list.push_back(position);
}
it++;
position++;
}
// qDebug() << "Aa::getMass() end " << mass;
return position_list;
}

References m_aaVec.

## getModificationPositionList() [2/2]

std::vector< unsigned int > pappso::Peptide::getModificationPositionList | ( | AaModificationP | mod,
|  | const std::vector< char > & | aa_list
| ) |  | const

get modification positions

Parameters

  mod | modification to look for
  aa_list | amino acid list targets (one letter code)

Returns
  vector containing positions (from 0 to size-1)

Definition at line 318 of file peptide.cpp.

{
std::vector<unsigned int> position_list;
unsigned int position = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
if(std::find(aa_list.begin(), aa_list.end(), it->getLetter()) !=
aa_list.end())
{
unsigned int number = 0;
number += it->getNumberOfModification(mod);
for(unsigned int j = 0; j < number; j++)
{
position_list.push_back(position);
}
}
it++;
position++;
}
// qDebug() << "Aa::getMass() end " << mass;
return position_list;
}

References m_aaVec.

## getNumberOfAtom()

int pappso::Peptide::getNumberOfAtom | ( | AtomIsotopeSurvey | atom | ) | const

override virtual

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

Implements pappso::AtomNumberInterface.

Definition at line 207 of file peptide.cpp.

{
int number = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
number += it->getNumberOfAtom(atom);
it++;
}
// qDebug() << "Aa::getMass() end " << mass;
return number;
}

References m_aaVec.

## getNumberOfIsotope()

int pappso::Peptide::getNumberOfIsotope | ( | Isotope | isotope | ) | const

override virtual

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

Implements pappso::AtomNumberInterface.

Definition at line 221 of file peptide.cpp.

{
int number = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
number += it->getNumberOfIsotope(isotope);
it++;
}
// qDebug() << "Aa::getMass() end " << mass;
return number;
}

References m_aaVec.

## getNumberOfModification()

unsigned int pappso::Peptide::getNumberOfModification | ( | AaModificationP | mod | ) | const

count modification occurence

Parameters

  mod | modification to look for

Returns
  number of occurences

Definition at line 236 of file peptide.cpp.

{
unsigned int number = 0;
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
number += it->getNumberOfModification(mod);
it++;
}
// qDebug() << "Aa::getMass() end " << mass;
return number;
}

References m_aaVec.

## getSequence()

const QString pappso::Peptide::getSequence | ( |  | ) | const

override virtual

print amino acid sequence without modifications

Implements pappso::PeptideInterface.

Definition at line 139 of file peptide.cpp.

{
QString seq = "";
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
seq += it->getLetter();
it++;
}
return seq;
}

References m_aaVec.

Referenced by pappso::XtandemHyperscoreBis::computeXtandemHyperscore(), and pappso::PeptideModificatorBase::getModificationPositionList().

## isPalindrome()

bool pappso::Peptide::isPalindrome | ( |  | ) | const

override virtual

tells if the peptide sequence is a palindrome

Implements pappso::PeptideInterface.

Definition at line 504 of file peptide.cpp.

{
std::size_t size = m_aaVec.size();
std::size_t k = (size - 1);
for(std::size_t i = 0; i < (size / 2); i++, k--)
{
if(m_aaVec[i].getLetter() != m_aaVec[k].getLetter())
{
return false;
}
}
return true;
}

References m_aaVec, and size().

## makeNoConstPeptideSp()

NoConstPeptideSp pappso::Peptide::makeNoConstPeptideSp | ( |  | ) | const

Definition at line 115 of file peptide.cpp.

{
return std::make_shared<Peptide>(*this);
}

Referenced by pappso::PeptideStrParser::parseNoConstString().

## makePeptideSp()

PeptideSp pappso::Peptide::makePeptideSp | ( |  | ) | const

Definition at line 109 of file peptide.cpp.

{
return std::make_shared<const Peptide>(*this);
}

Referenced by pappso::PeptideStrParser::parseString(), pappso::PeptideBuilder::setPeptide(), pappso::PeptideModificatorPipeline::setPeptide(), pappso::PeptideFixedModificationBuilder::setPeptideSp(), pappso::PeptideVariableModificationBuilder::setPeptideSp(), and pappso::PeptideVariableModificationReplacement::setPeptideSp().

## rbegin()

std::vector<Aa>::const_reverse_iterator pappso::Peptide::rbegin | ( |  | ) | const

inline

Definition at line 150 of file peptide.h.

{
return m_aaVec.rbegin();
}

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses().

## removeAaModification()

void pappso::Peptide::removeAaModification | ( | AaModificationP | mod | ) |

removes all occurences of a modification

Parameters

  mod | modification to remove

Definition at line 283 of file peptide.cpp.

{
std::vector<Aa>::iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
it->removeAaModification(mod);
qDebug() << it->toString() << " " << toAbsoluteString();
it++;
}
m_proxyMass = -1;
getMass();
// qDebug() << "Aa::getMass() end " << mass;
}
pappso::Peptide::toAbsoluteString
const QString toAbsoluteString() const
print all modifications
Definition: peptide.cpp:151

References getMass(), m_aaVec, m_proxyMass, and toAbsoluteString().

## removeCterAminoAcid()

void pappso::Peptide::removeCterAminoAcid | ( |  | ) |

Definition at line 577 of file peptide.cpp.

{
std::vector<Aa>::iterator it(m_aaVec.end());
it--;
if(it != m_aaVec.end())
{
AaModificationP cter_modification = getInternalCterModification();
m_aaVec.erase(it);
if(cter_modification != nullptr)
{
it = m_aaVec.end();
it--;
it->addAaModification(cter_modification);
}
m_proxyMass = -1;
getMass();
}
else
{
throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
}
}
pappso::Peptide::getInternalCterModification
AaModificationP getInternalCterModification() const
Definition: peptide.cpp:395
pappso::AaModificationP
const AaModification * AaModificationP
Definition: aamodification.h:52

References getInternalCterModification(), getMass(), m_aaVec, and m_proxyMass.

## removeInternalCterModification()

void pappso::Peptide::removeInternalCterModification | ( |  | ) |

Definition at line 417 of file peptide.cpp.

{
std::vector<Aa>::iterator it(m_aaVec.end());
it--;
if(it != m_aaVec.end())
{
m_proxyMass -= it->getMass();
it->removeInternalCterModification();
m_proxyMass += it->getMass();
}
}

References m_aaVec, and m_proxyMass.

Referenced by reverse(), rotate(), and setInternalCterModification().

## removeInternalNterModification()

void pappso::Peptide::removeInternalNterModification | ( |  | ) |

Definition at line 406 of file peptide.cpp.

{
std::vector<Aa>::iterator it(m_aaVec.begin());
if(it != m_aaVec.end())
{
m_proxyMass -= it->getMass();
it->removeInternalNterModification();
m_proxyMass += it->getMass();
}
}

References m_aaVec, and m_proxyMass.

Referenced by setInternalNterModification().

## removeNterAminoAcid()

void pappso::Peptide::removeNterAminoAcid | ( |  | ) |

Definition at line 554 of file peptide.cpp.

{
std::vector<Aa>::iterator it(m_aaVec.begin());
if(it != m_aaVec.end())
{
AaModificationP nter_modification = getInternalNterModification();
m_aaVec.erase(it);
if(nter_modification != nullptr)
{
m_aaVec.begin()->addAaModification(nter_modification);
}
m_proxyMass = -1;
getMass();
}
else
{
throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
}
}
pappso::Peptide::getInternalNterModification
AaModificationP getInternalNterModification() const
Definition: peptide.cpp:384

References getInternalNterModification(), getMass(), m_aaVec, and m_proxyMass.

## rend()

std::vector<Aa>::const_reverse_iterator pappso::Peptide::rend | ( |  | ) | const

inline

Definition at line 156 of file peptide.h.

{
return m_aaVec.rend();
}

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses().

## replaceAaModification()

void pappso::Peptide::replaceAaModification | ( | AaModificationP | oldmod,
|  | AaModificationP | newmod
| ) |  |

replaces all occurences of a modification by a new one

Parameters

  oldmod | modification to change
  newmod | new modification

Definition at line 269 of file peptide.cpp.

{
if(oldmod == newmod)
return;
std::vector<Aa>::iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
it->replaceAaModification(oldmod, newmod);
it++;
}
m_proxyMass = -1;
getMass();
}

References getMass(), m_aaVec, and m_proxyMass.

## replaceLeucineIsoleucine()

void pappso::Peptide::replaceLeucineIsoleucine | ( |  | ) |

Definition at line 541 of file peptide.cpp.

{
std::vector<Aa>::iterator it(m_aaVec.begin());
std::vector<Aa>::iterator itend(m_aaVec.end());
for(; it != itend; it++)
{
it->replaceLeucineIsoleucine();
}
}

References m_aaVec.

## reverse()

void pappso::Peptide::reverse | ( |  | ) |

Definition at line 491 of file peptide.cpp.

{
AaModificationP modNter = getInternalNterModification();
AaModificationP modCter = getInternalCterModification();
m_aaVec.begin()->removeInternalNterModification();
(m_aaVec.end() - 1)->removeInternalCterModification();
std::reverse(m_aaVec.begin(), m_aaVec.end());
m_aaVec.begin()->addAaModification(modNter);
(m_aaVec.end() - 1)->addAaModification(modCter);
}
pappso::Peptide::removeInternalCterModification
void removeInternalCterModification()
Definition: peptide.cpp:417
pappso::Peptide::addAaModification
void addAaModification(AaModificationP aaModification, unsigned int position)
adds a modification to amino acid sequence
Definition: peptide.cpp:121

References addAaModification(), getInternalCterModification(), getInternalNterModification(), m_aaVec, and removeInternalCterModification().

## rotate()

void pappso::Peptide::rotate | ( |  | ) |

Definition at line 479 of file peptide.cpp.

{
AaModificationP modNter = getInternalNterModification();
AaModificationP modCter = getInternalCterModification();
m_aaVec.begin()->removeInternalNterModification();
(m_aaVec.end() - 1)->removeInternalCterModification();
std::rotate(m_aaVec.begin(), m_aaVec.begin() + 1, m_aaVec.end());
m_aaVec.begin()->addAaModification(modNter);
(m_aaVec.end() - 1)->addAaModification(modCter);
}

References addAaModification(), getInternalCterModification(), getInternalNterModification(), m_aaVec, and removeInternalCterModification().

## setInternalCterModification()

void pappso::Peptide::setInternalCterModification | ( | AaModificationP | mod | ) |

Definition at line 454 of file peptide.cpp.

{
if(mod->getAccession().startsWith("internal:Cter_"))
{
removeInternalCterModification();
std::vector<Aa>::iterator it(m_aaVec.end());
it--;
if(it != m_aaVec.end())
{
it->addAaModification(mod);
}
else
{
throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
}
}
else
{
throw ExceptionNotPossible(
QObject::tr("modification is not an internal Cter modification : %1")
.arg(mod->getAccession()));
}
}

References pappso::AaModification::getAccession(), m_aaVec, and removeInternalCterModification().

Referenced by pappso::PeptideStrParser::parseStringToPeptide().

## setInternalNterModification()

void pappso::Peptide::setInternalNterModification | ( | AaModificationP | mod | ) |

Definition at line 431 of file peptide.cpp.

{
if(mod->getAccession().startsWith("internal:Nter_"))
{
removeInternalNterModification();
std::vector<Aa>::iterator it(m_aaVec.begin());
if(it != m_aaVec.end())
{
it->addAaModification(mod);
}
else
{
throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
}
}
else
{
throw ExceptionNotPossible(
QObject::tr("modification is not an internal Nter modification : %1")
.arg(mod->getAccession()));
}
}
pappso::Peptide::removeInternalNterModification
void removeInternalNterModification()
Definition: peptide.cpp:406

References pappso::AaModification::getAccession(), m_aaVec, and removeInternalNterModification().

Referenced by pappso::PeptideStrParser::parseStringToPeptide().

## size()

unsigned int pappso::Peptide::size | ( |  | ) | const

inline override virtual

Implements pappso::PeptideInterface.

Definition at line 178 of file peptide.h.

{
return m_aaVec.size();
};

Referenced by addAaModification(), isPalindrome(), and pappso::PeptideFixedModificationBuilder::setPeptideSp().

## toAbsoluteString()

const QString pappso::Peptide::toAbsoluteString | ( |  | ) | const

print all modifications

Definition at line 151 of file peptide.cpp.

{
QString seq = "";
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
seq += it->toAbsoluteString();
it++;
}
return seq;
}

References m_aaVec.

Referenced by removeAaModification().

## toString()

const QString pappso::Peptide::toString | ( |  | ) | const

print modification except internal modifications

Definition at line 178 of file peptide.cpp.

{
QString seq = "";
std::vector<Aa>::const_iterator it(m_aaVec.begin());
while(it != m_aaVec.end())
{
seq += it->toString();
it++;
}
return seq;
}

References m_aaVec.

## Friends And Related Function Documentation

## operator<

bool operator< | ( | const Peptide & | l,
|  | const Peptide & | r
| ) |  |

friend

Definition at line 102 of file peptide.h.

{
return (l.m_aaVec < r.m_aaVec);
}

## operator==

bool operator== | ( | const Peptide & | l,
|  | const Peptide & | r
| ) |  |

friend

Definition at line 108 of file peptide.h.

{
return (l.m_aaVec == r.m_aaVec);
}

## Member Data Documentation

## m_aaVec

std::vector<Aa> pappso::Peptide::m_aaVec

protected

Definition at line 95 of file peptide.h.

Referenced by Peptide(), addAaModification(), countModificationOnAa(), getAa(), getAaPositionList(), getConstAa(), getInternalCterModification(), getInternalNterModification(), getLiAbsoluteString(), getMass(), getModificationPositionList(), getNumberOfAtom(), getNumberOfIsotope(), getNumberOfModification(), getSequence(), isPalindrome(), removeAaModification(), removeCterAminoAcid(), removeInternalCterModification(), removeInternalNterModification(), removeNterAminoAcid(), replaceAaModification(), replaceLeucineIsoleucine(), reverse(), rotate(), setInternalCterModification(), setInternalNterModification(), toAbsoluteString(), and toString().

## m_proxyMass

pappso_double pappso::Peptide::m_proxyMass = -1

protected

Definition at line 96 of file peptide.h.

Referenced by addAaModification(), getMass(), removeAaModification(), removeCterAminoAcid(), removeInternalCterModification(), removeInternalNterModification(), removeNterAminoAcid(), and replaceAaModification().

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

- pappsomspp/peptide/peptide.h
- pappsomspp/peptide/peptide.cpp