libpappsomspp
Library for mass spectrometry
pappso::Peptide Class Reference

#include <peptide.h>

Inheritance diagram for pappso::Peptide:
pappso::PeptideInterface pappso::Ion pappso::AtomNumberInterface

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
 
AagetAa (unsigned int position)
 
const AagetConstAa (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< Aam_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.

64 {
65 
66  QString::const_iterator it(pepstr.begin());
67  if(it != pepstr.end())
68  {
69  // first amino acid is the Nter one
70  // by default, it is obtained by hydrolytic cleavage in normal water
71  // and it is loaded with one Hydrogen
72  Aa nter_aa(it->toLatin1());
73  nter_aa.addAaModification(
74  AaModification::getInstance("internal:Nter_hydrolytic_cleavage_H"));
75  m_aaVec.push_back(nter_aa);
76  it++;
77 
78  while(it != pepstr.end())
79  {
80  m_aaVec.push_back(Aa(it->toLatin1()));
81  it++;
82  }
83  // by default, Nter aa is obtained by hydrolytic cleavage in normal water
84  // and it is loaded with Hydrogen + Oxygen
85  m_aaVec.back().addAaModification(
86  AaModification::getInstance("internal:Cter_hydrolytic_cleavage_HO"));
87  getMass();
88  qDebug() << "blabla " << m_aaVec.back().toString();
89  }
90 }

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

◆ ~Peptide()

pappso::Peptide::~Peptide ( )
virtual

Definition at line 92 of file peptide.cpp.

93 {
94 }

◆ Peptide() [2/3]

pappso::Peptide::Peptide ( const Peptide peptide)

Definition at line 96 of file peptide.cpp.

97  : m_aaVec(peptide.m_aaVec), m_proxyMass(peptide.m_proxyMass)
98 {
99 }

◆ Peptide() [3/3]

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

Definition at line 102 of file peptide.cpp.

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

Member Function Documentation

◆ addAaModification()

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

adds a modification to amino acid sequence

Parameters
aaModificationpointer on modification to add
positionposition in the amino acid sequence (starts at 0)

Definition at line 121 of file peptide.cpp.

123 {
124  if(position >= size())
125  {
126  throw ExceptionOutOfRange(
127  QObject::tr("position (%1) > size (%2)").arg(position).arg(size()));
128  }
129  m_proxyMass = -1;
130  qDebug() << "Peptide::addAaModification begin " << position;
131  std::vector<Aa>::iterator it = m_aaVec.begin() + position;
132  it->addAaModification(aaModification);
133  getMass();
134  qDebug() << "Peptide::addAaModification end";
135 }

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.

127  {
128  return m_aaVec.begin();
129  }

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.

139  {
140  return m_aaVec.begin();
141  }

◆ countModificationOnAa()

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

count modification occurence

Parameters
modmodification to look for
aa_listamino acid list targets (one letter code)
Returns
number of occurences

Definition at line 250 of file peptide.cpp.

252 {
253  unsigned int number = 0;
254  std::vector<Aa>::const_iterator it(m_aaVec.begin());
255  while(it != m_aaVec.end())
256  {
257  if(std::find(aa_list.begin(), aa_list.end(), it->getLetter()) !=
258  aa_list.end())
259  {
260  number += it->getNumberOfModification(mod);
261  }
262  it++;
263  }
264  // qDebug() << "Aa::getMass() end " << mass;
265  return number;
266 }

References m_aaVec.

◆ end() [1/2]

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

Definition at line 132 of file peptide.h.

133  {
134  return m_aaVec.end();
135  }

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.

145  {
146  return m_aaVec.end();
147  }

◆ getAa()

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

Definition at line 519 of file peptide.cpp.

520 {
521  if(position >= m_aaVec.size())
522  {
523  throw ExceptionOutOfRange(
524  QObject::tr("no AA at position %1").arg(position));
525  }
526  return m_aaVec.at(position);
527 }

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
aathe one letter code of the amino acid
Returns
vector containing positions (from 0 to size-1)

Definition at line 344 of file peptide.cpp.

345 {
346  std::vector<unsigned int> position_list;
347  unsigned int number = 0;
348  std::vector<Aa>::const_iterator it(m_aaVec.begin());
349  while(it != m_aaVec.end())
350  {
351  if(it->getLetter() == aa)
352  position_list.push_back(number);
353  number++;
354  it++;
355  }
356  // qDebug() << "Aa::getMass() end " << mass;
357  return position_list;
358 }

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.

362 {
363  std::vector<unsigned int> position_list;
364  unsigned int number = 0;
365  std::vector<Aa>::const_iterator it(m_aaVec.begin());
366  while(it != m_aaVec.end())
367  {
368 
369  bool found =
370  (std::find(list_aa.begin(), list_aa.end(), it->getLetter()) !=
371  list_aa.end());
372  if(found)
373  {
374  position_list.push_back(number);
375  }
376  number++;
377  it++;
378  }
379  // qDebug() << "Aa::getMass() end " << mass;
380  return position_list;
381 }

References m_aaVec.

◆ getConstAa()

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

Definition at line 529 of file peptide.cpp.

530 {
531  if(position >= m_aaVec.size())
532  {
533  throw ExceptionOutOfRange(
534  QObject::tr("no AA at position %1").arg(position));
535  }
536  return m_aaVec.at(position);
537 }

References m_aaVec.

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

◆ getInternalCterModification()

AaModificationP pappso::Peptide::getInternalCterModification ( ) const

Definition at line 395 of file peptide.cpp.

396 {
397  std::vector<Aa>::const_iterator it(m_aaVec.end());
398  it--;
399  if(it != m_aaVec.end())
400  {
401  return it->getInternalCterModification();
402  }
403  return nullptr;
404 }

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.

385 {
386  std::vector<Aa>::const_iterator it(m_aaVec.begin());
387  if(it != m_aaVec.end())
388  {
389  return it->getInternalNterModification();
390  }
391 
392  return nullptr;
393 }

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.

165 {
166  QString seq = "";
167  std::vector<Aa>::const_iterator it(m_aaVec.begin());
168  while(it != m_aaVec.end())
169  {
170  seq += it->toAbsoluteString();
171  it++;
172  }
173  return seq.replace("L", "I");
174 }

References m_aaVec.

◆ getMass() [1/2]

pappso_double pappso::Peptide::getMass ( )

Definition at line 191 of file peptide.cpp.

192 {
193  qDebug() << "Aa::getMass() begin";
194  if(m_proxyMass < 0)
195  {
196  m_proxyMass = 0;
197  for(auto aa : m_aaVec)
198  {
199  m_proxyMass += aa.getMass();
200  }
201  }
202  qDebug() << "Aa::getMass() end " << m_proxyMass;
203  return m_proxyMass;
204 }

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
inlineoverridevirtual

Implements pappso::Ion.

Definition at line 167 of file peptide.h.

168  {
169  return m_proxyMass;
170  };

◆ getModificationPositionList() [1/2]

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

get modification positions

Parameters
modmodification to look for
Returns
vector containing positions (from 0 to size-1)

Definition at line 297 of file peptide.cpp.

298 {
299  std::vector<unsigned int> position_list;
300  unsigned int position = 0;
301  std::vector<Aa>::const_iterator it(m_aaVec.begin());
302  while(it != m_aaVec.end())
303  {
304  unsigned int number = 0;
305  number += it->getNumberOfModification(mod);
306  for(unsigned int j = 0; j < number; j++)
307  {
308  position_list.push_back(position);
309  }
310  it++;
311  position++;
312  }
313  // qDebug() << "Aa::getMass() end " << mass;
314  return position_list;
315 }

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
modmodification to look for
aa_listamino acid list targets (one letter code)
Returns
vector containing positions (from 0 to size-1)

Definition at line 318 of file peptide.cpp.

320 {
321  std::vector<unsigned int> position_list;
322  unsigned int position = 0;
323  std::vector<Aa>::const_iterator it(m_aaVec.begin());
324  while(it != m_aaVec.end())
325  {
326  if(std::find(aa_list.begin(), aa_list.end(), it->getLetter()) !=
327  aa_list.end())
328  {
329  unsigned int number = 0;
330  number += it->getNumberOfModification(mod);
331  for(unsigned int j = 0; j < number; j++)
332  {
333  position_list.push_back(position);
334  }
335  }
336  it++;
337  position++;
338  }
339  // qDebug() << "Aa::getMass() end " << mass;
340  return position_list;
341 }

References m_aaVec.

◆ getNumberOfAtom()

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

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

Implements pappso::AtomNumberInterface.

Definition at line 207 of file peptide.cpp.

208 {
209  int number = 0;
210  std::vector<Aa>::const_iterator it(m_aaVec.begin());
211  while(it != m_aaVec.end())
212  {
213  number += it->getNumberOfAtom(atom);
214  it++;
215  }
216  // qDebug() << "Aa::getMass() end " << mass;
217  return number;
218 }

References m_aaVec.

◆ getNumberOfIsotope()

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

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.

222 {
223  int number = 0;
224  std::vector<Aa>::const_iterator it(m_aaVec.begin());
225  while(it != m_aaVec.end())
226  {
227  number += it->getNumberOfIsotope(isotope);
228  it++;
229  }
230  // qDebug() << "Aa::getMass() end " << mass;
231  return number;
232 }

References m_aaVec.

◆ getNumberOfModification()

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

count modification occurence

Parameters
modmodification to look for
Returns
number of occurences

Definition at line 236 of file peptide.cpp.

237 {
238  unsigned int number = 0;
239  std::vector<Aa>::const_iterator it(m_aaVec.begin());
240  while(it != m_aaVec.end())
241  {
242  number += it->getNumberOfModification(mod);
243  it++;
244  }
245  // qDebug() << "Aa::getMass() end " << mass;
246  return number;
247 }

References m_aaVec.

◆ getSequence()

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

print amino acid sequence without modifications

Implements pappso::PeptideInterface.

Definition at line 139 of file peptide.cpp.

140 {
141  QString seq = "";
142  std::vector<Aa>::const_iterator it(m_aaVec.begin());
143  while(it != m_aaVec.end())
144  {
145  seq += it->getLetter();
146  it++;
147  }
148  return seq;
149 }

References m_aaVec.

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

◆ isPalindrome()

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

tells if the peptide sequence is a palindrome

Implements pappso::PeptideInterface.

Definition at line 504 of file peptide.cpp.

505 {
506  std::size_t size = m_aaVec.size();
507  std::size_t k = (size - 1);
508  for(std::size_t i = 0; i < (size / 2); i++, k--)
509  {
510  if(m_aaVec[i].getLetter() != m_aaVec[k].getLetter())
511  {
512  return false;
513  }
514  }
515  return true;
516 }

References m_aaVec, and size().

◆ makeNoConstPeptideSp()

NoConstPeptideSp pappso::Peptide::makeNoConstPeptideSp ( ) const

Definition at line 115 of file peptide.cpp.

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

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

◆ makePeptideSp()

◆ rbegin()

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

Definition at line 150 of file peptide.h.

151  {
152  return m_aaVec.rbegin();
153  }

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

◆ removeAaModification()

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

removes all occurences of a modification

Parameters
modmodification to remove

Definition at line 283 of file peptide.cpp.

284 {
285  std::vector<Aa>::iterator it(m_aaVec.begin());
286  while(it != m_aaVec.end())
287  {
288  it->removeAaModification(mod);
289  qDebug() << it->toString() << " " << toAbsoluteString();
290  it++;
291  }
292  m_proxyMass = -1;
293  getMass();
294  // qDebug() << "Aa::getMass() end " << mass;
295 }

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

◆ removeCterAminoAcid()

void pappso::Peptide::removeCterAminoAcid ( )

Definition at line 577 of file peptide.cpp.

578 {
579  std::vector<Aa>::iterator it(m_aaVec.end());
580  it--;
581  if(it != m_aaVec.end())
582  {
583  AaModificationP cter_modification = getInternalCterModification();
584  m_aaVec.erase(it);
585  if(cter_modification != nullptr)
586  {
587  it = m_aaVec.end();
588  it--;
589  it->addAaModification(cter_modification);
590  }
591  m_proxyMass = -1;
592  getMass();
593  }
594  else
595  {
596  throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
597  }
598 }

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

◆ removeInternalCterModification()

void pappso::Peptide::removeInternalCterModification ( )

Definition at line 417 of file peptide.cpp.

418 {
419  std::vector<Aa>::iterator it(m_aaVec.end());
420  it--;
421  if(it != m_aaVec.end())
422  {
423  m_proxyMass -= it->getMass();
424  it->removeInternalCterModification();
425  m_proxyMass += it->getMass();
426  }
427 }

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.

407 {
408  std::vector<Aa>::iterator it(m_aaVec.begin());
409  if(it != m_aaVec.end())
410  {
411  m_proxyMass -= it->getMass();
412  it->removeInternalNterModification();
413  m_proxyMass += it->getMass();
414  }
415 }

References m_aaVec, and m_proxyMass.

Referenced by setInternalNterModification().

◆ removeNterAminoAcid()

void pappso::Peptide::removeNterAminoAcid ( )

Definition at line 554 of file peptide.cpp.

555 {
556  std::vector<Aa>::iterator it(m_aaVec.begin());
557  if(it != m_aaVec.end())
558  {
559  AaModificationP nter_modification = getInternalNterModification();
560  m_aaVec.erase(it);
561  if(nter_modification != nullptr)
562  {
563  m_aaVec.begin()->addAaModification(nter_modification);
564  }
565 
566  m_proxyMass = -1;
567  getMass();
568  }
569  else
570  {
571  throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
572  }
573 }

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.

157  {
158  return m_aaVec.rend();
159  }

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
oldmodmodification to change
newmodnew modification

Definition at line 269 of file peptide.cpp.

270 {
271  if(oldmod == newmod)
272  return;
273  std::vector<Aa>::iterator it(m_aaVec.begin());
274  while(it != m_aaVec.end())
275  {
276  it->replaceAaModification(oldmod, newmod);
277  it++;
278  }
279  m_proxyMass = -1;
280  getMass();
281 }

References getMass(), m_aaVec, and m_proxyMass.

◆ replaceLeucineIsoleucine()

void pappso::Peptide::replaceLeucineIsoleucine ( )

Definition at line 541 of file peptide.cpp.

542 {
543 
544  std::vector<Aa>::iterator it(m_aaVec.begin());
545  std::vector<Aa>::iterator itend(m_aaVec.end());
546  for(; it != itend; it++)
547  {
548  it->replaceLeucineIsoleucine();
549  }
550 }

References m_aaVec.

◆ reverse()

void pappso::Peptide::reverse ( )

Definition at line 491 of file peptide.cpp.

492 {
495  m_aaVec.begin()->removeInternalNterModification();
497  std::reverse(m_aaVec.begin(), m_aaVec.end());
498  m_aaVec.begin()->addAaModification(modNter);
499  (m_aaVec.end() - 1)->addAaModification(modCter);
500 }

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

◆ rotate()

void pappso::Peptide::rotate ( )

Definition at line 479 of file peptide.cpp.

480 {
483  m_aaVec.begin()->removeInternalNterModification();
485  std::rotate(m_aaVec.begin(), m_aaVec.begin() + 1, m_aaVec.end());
486  m_aaVec.begin()->addAaModification(modNter);
487  (m_aaVec.end() - 1)->addAaModification(modCter);
488 }

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

◆ setInternalCterModification()

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

Definition at line 454 of file peptide.cpp.

455 {
456  if(mod->getAccession().startsWith("internal:Cter_"))
457  {
459  std::vector<Aa>::iterator it(m_aaVec.end());
460  it--;
461  if(it != m_aaVec.end())
462  {
463  it->addAaModification(mod);
464  }
465  else
466  {
467  throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
468  }
469  }
470  else
471  {
472  throw ExceptionNotPossible(
473  QObject::tr("modification is not an internal Cter modification : %1")
474  .arg(mod->getAccession()));
475  }
476 }

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.

432 {
433  if(mod->getAccession().startsWith("internal:Nter_"))
434  {
436  std::vector<Aa>::iterator it(m_aaVec.begin());
437  if(it != m_aaVec.end())
438  {
439  it->addAaModification(mod);
440  }
441  else
442  {
443  throw ExceptionOutOfRange(QObject::tr("peptide is empty"));
444  }
445  }
446  else
447  {
448  throw ExceptionNotPossible(
449  QObject::tr("modification is not an internal Nter modification : %1")
450  .arg(mod->getAccession()));
451  }
452 }

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

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

◆ size()

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

Implements pappso::PeptideInterface.

Definition at line 178 of file peptide.h.

179  {
180  return m_aaVec.size();
181  };

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.

152 {
153  QString seq = "";
154  std::vector<Aa>::const_iterator it(m_aaVec.begin());
155  while(it != m_aaVec.end())
156  {
157  seq += it->toAbsoluteString();
158  it++;
159  }
160  return seq;
161 }

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.

179 {
180  QString seq = "";
181  std::vector<Aa>::const_iterator it(m_aaVec.begin());
182  while(it != m_aaVec.end())
183  {
184  seq += it->toString();
185  it++;
186  }
187  return seq;
188 }

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.

104  {
105  return (l.m_aaVec < r.m_aaVec);
106  }

◆ operator==

bool operator== ( const Peptide l,
const Peptide r 
)
friend

Definition at line 108 of file peptide.h.

109  {
110  return (l.m_aaVec == r.m_aaVec);
111  }

Member Data Documentation

◆ m_aaVec

◆ m_proxyMass


The documentation for this class was generated from the following files:
pappso::Peptide::removeInternalCterModification
void removeInternalCterModification()
Definition: peptide.cpp:417
pappso::Peptide::size
unsigned int size() const override
Definition: peptide.h:178
pappso::Peptide::getInternalCterModification
AaModificationP getInternalCterModification() const
Definition: peptide.cpp:395
pappso::Peptide::toAbsoluteString
const QString toAbsoluteString() const
print all modifications
Definition: peptide.cpp:151
pappso::AaModificationP
const AaModification * AaModificationP
Definition: aamodification.h:52
pappso::Peptide::getInternalNterModification
AaModificationP getInternalNterModification() const
Definition: peptide.cpp:384
pappso::AaModification::getInstance
static AaModificationP getInstance(const QString &accession)
Definition: aamodification.cpp:367
pappso::Peptide::m_aaVec
std::vector< Aa > m_aaVec
Definition: peptide.h:95
pappso::Peptide::removeInternalNterModification
void removeInternalNterModification()
Definition: peptide.cpp:406
pappso::Peptide::addAaModification
void addAaModification(AaModificationP aaModification, unsigned int position)
adds a modification to amino acid sequence
Definition: peptide.cpp:121
pappso::Peptide::m_proxyMass
pappso_double m_proxyMass
Definition: peptide.h:96
pappso::Peptide::getMass
pappso_double getMass()
Definition: peptide.cpp:191