71    std::swap(ion_type_ref, ion_type);
 
 
   87  if((std::int8_t)ion_type < (std::int8_t)8)
 
 
  112  QString::const_iterator it(pepstr.begin());
 
  114  while(it != pepstr.end())
 
  116      qDebug() << it->toLatin1();
 
 
  160  return std::make_shared<const Peptide>(*
this);
 
 
  166  return std::make_shared<Peptide>(*
this);
 
 
  170std::vector<Aa>::iterator
 
  176std::vector<Aa>::iterator
 
  182std::vector<Aa>::const_iterator
 
  188std::vector<Aa>::const_iterator
 
  194std::vector<Aa>::const_reverse_iterator
 
  200std::vector<Aa>::const_reverse_iterator
 
  222  if(position >= 
size())
 
  227  qDebug() << 
"Peptide::addAaModification begin " << position;
 
  228  std::vector<Aa>::iterator it = 
m_aaVec.begin() + position;
 
  229  it->addAaModification(aaModification);
 
  231  qDebug() << 
"Peptide::addAaModification end";
 
 
  238  for(
auto &aa : *
this)
 
  240      if(aa.getAminoAcidChar() == amino_acid)
 
  242          aa.addAaModification(aaModification);
 
 
  255  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  258      seq += it->getLetter();
 
 
  267  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  269  QStringList modification_str_list;
 
  272    modification_str_list << 
m_NterMod->getAccession();
 
  275      seq += it->getLetter();
 
  280            modification_str_list << 
m_CterMod->getAccession();
 
  282      for(
auto &pmod : it->getModificationList())
 
  284          modification_str_list << pmod->getAccession();
 
  286      if(modification_str_list.size() > 0)
 
  287        seq += QString(
"(%1)").arg(modification_str_list.join(
","));
 
  288      modification_str_list.clear();
 
 
  298  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  301      seq += it->toAbsoluteString();
 
  304  return seq.replace(
"L", 
"I");
 
 
  312  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  315      seq += it->toString();
 
 
  356    number += 
m_NterMod->getNumberOfAtom(atom);
 
  358    number += 
m_CterMod->getNumberOfAtom(atom);
 
  359  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  362      number += it->getNumberOfAtom(atom);
 
 
  375    number += 
m_NterMod->getNumberOfIsotope(isotope);
 
  377    number += 
m_CterMod->getNumberOfIsotope(isotope);
 
  378  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  381      number += it->getNumberOfIsotope(isotope);
 
 
  392  unsigned int number = 0;
 
  393  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  396      number += it->getNumberOfModification(mod);
 
 
  406  unsigned int number = 0;
 
  407  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  410      if(std::find(aa_list.begin(), aa_list.end(), it->getLetter()) != aa_list.end())
 
  412          number += it->getNumberOfModification(mod);
 
 
  425  std::vector<Aa>::iterator it(
m_aaVec.begin());
 
  428      it->replaceAaModification(oldmod, newmod);
 
 
  442  std::vector<Aa>::iterator it(
m_aaVec.begin());
 
  445      if(it->getAminoAcidChar() == aa)
 
  447          it->replaceAaModification(oldmod, newmod);
 
 
  457  std::vector<Aa>::iterator it(
m_aaVec.begin());
 
  460      it->removeAaModification(mod);
 
 
  468std::vector<unsigned int>
 
  471  std::vector<unsigned int> position_list;
 
  472  unsigned int position = 0;
 
  473  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  476      unsigned int number = 0;
 
  477      number += it->getNumberOfModification(mod);
 
  478      for(
unsigned int j = 0; j < number; j++)
 
  480          position_list.push_back(position);
 
  486  return position_list;
 
 
  489std::vector<unsigned int>
 
  492  std::vector<unsigned int> position_list;
 
  493  unsigned int position = 0;
 
  494  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  497      if(std::find(aa_list.begin(), aa_list.end(), it->getLetter()) != aa_list.end())
 
  499          unsigned int number = 0;
 
  500          number += it->getNumberOfModification(mod);
 
  501          for(
unsigned int j = 0; j < number; j++)
 
  503              position_list.push_back(position);
 
  510  return position_list;
 
 
  513std::vector<unsigned int>
 
  516  std::vector<unsigned int> position_list;
 
  517  unsigned int number = 0;
 
  518  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  521      if(it->getLetter() == aa)
 
  522        position_list.push_back(number);
 
  527  return position_list;
 
 
  530std::vector<unsigned int>
 
  533  std::vector<unsigned int> position_list;
 
  534  unsigned int number = 0;
 
  535  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  539      bool found = (std::find(list_aa.begin(), list_aa.end(), it->getLetter()) != list_aa.end());
 
  542          position_list.push_back(number);
 
  548  return position_list;
 
 
  563        QObject::tr(
"modification is not a cleavage Nter modification : %1")
 
 
  579        QObject::tr(
"modification is not a cleavage Cter modification : %1")
 
 
  655  std::size_t k    = (
size - 1);
 
  656  for(std::size_t i = 0; i < (
size / 2); i++, k--)
 
 
  690  std::vector<Aa>::iterator it(
m_aaVec.begin());
 
  691  std::vector<Aa>::iterator itend(
m_aaVec.end());
 
  692  for(; it != itend; it++)
 
  694      it->replaceLeucineIsoleucine();
 
 
  702  std::vector<Aa>::iterator it(
m_aaVec.begin());
 
 
  719  std::vector<Aa>::iterator it(
m_aaVec.end());
 
 
  753      QString nter_accession = 
m_NterMod->getAccession();
 
  754      seq                    = QString(
"[%1]-").arg(nter_accession);
 
  756  std::vector<Aa>::const_iterator it(
m_aaVec.begin());
 
  759      seq += it->toProForma();
 
  765      QString cter_accession = 
m_CterMod->getAccession();
 
  766      seq += QString(
"-[%1]").arg(cter_accession);
 
 
const QString & getAccession() const
 
static AaModificationP getInstance(const QString &accession)
 
virtual const ChemicalFormula getChemicalFormulaCharge(unsigned int charge) const
 
AaModificationP m_cleavageCterMod
 
void replaceLeucineIsoleucine()
 
PeptideSp makePeptideSp() const
 
Peptide(const QString &pepstr)
 
AaModificationP getCterModification() const
 
void setNterModification(AaModificationP mod)
 
void replaceAaModification(AaModificationP oldmod, AaModificationP newmod)
replaces all occurences of a modification by a new one
 
void removeNterAminoAcid()
 
std::vector< Aa >::const_reverse_iterator rend() const
 
virtual const ChemicalFormula getChemicalFormulaCharge(unsigned int charge) const override
 
std::vector< unsigned int > getModificationPositionList(AaModificationP mod) const
get modification positions
 
NoConstPeptideSp makeNoConstPeptideSp() const
 
virtual int getNumberOfIsotope(Enums::Isotope isotope) const override
get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
 
virtual bool isPalindrome() const override
tells if the peptide sequence is a palindrome
 
std::vector< Aa >::const_reverse_iterator rbegin() const
 
AaModificationP getCleavageCterModification() const
 
const QString getLiAbsoluteString() const
get all sequence string with modifications and converting Leucine to Isoleucine
 
void removeCterAminoAcid()
 
void setGlobalModification(Enums::Isotope isotope_kind)
apply 100% isotope replacement
 
void setCleavageCterModification(AaModificationP mod)
 
void setCterModification(AaModificationP mod)
 
AaModificationP m_NterMod
 
virtual const ChemicalFormula getChemicalFormula() const override
 
void replaceAaModificationOnAminoAcid(Enums::AminoAcidChar aa, pappso::AaModificationP oldmod, pappso::AaModificationP newmod)
replaces all occurences of a modification by a new one on a specific amino acid
 
AaModificationP m_cleavageNterMod
 
const QString toAbsoluteString() const
print all modifications
 
AaModificationP getNterModification() const
 
unsigned int getNumberOfModification(AaModificationP mod) const
count modification occurence
 
const QString toString() const
print modification except internal modifications
 
QString toProForma() const
get the peptide model in ProForma notation https://github.com/HUPO-PSI/ProForma/blob/master/README....
 
AaModificationP getCleavageNterModification() const
 
void removeAaModification(AaModificationP mod)
removes all occurences of a modification
 
unsigned int size() const override
 
virtual int getNumberOfAtom(Enums::AtomIsotopeSurvey atom) const override
get the number of atom C, O, N, H in the molecule
 
void setCleavageNterModification(AaModificationP mod)
 
Aa & getAa(unsigned int position)
 
void addAaModificationOnAllAminoAcid(AaModificationP aaModification, Enums::AminoAcidChar amino_acid)
adds a modification to all amino acid of the sequence
 
std::vector< unsigned int > getAaPositionList(char aa) const
get positions of one amino acid in peptide
 
std::vector< Aa >::iterator begin()
 
const QString getSequence() const override
print amino acid sequence without modifications
 
void addAaModification(AaModificationP aaModification, unsigned int position)
adds a modification to amino acid sequence
 
std::vector< Aa >::iterator end()
 
AaModificationP m_CterMod
 
std::vector< Aa > m_aaVec
 
unsigned int countModificationOnAa(AaModificationP mod, const std::vector< char > &aa_list) const
count modification occurence
 
const Aa & getConstAa(unsigned int position) const
 
PeptideIon
Enums::PeptideIon enum defines all types of ions (Nter or Cter)
 
@ ystar
Cter amino ions + NH3 loss.
 
@ yo
Cter amino ions + H2O loss.
 
@ bstar
Nter acylium ions + NH3 loss.
 
@ ao
Nter aldimine ions + H2O loss.
 
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
 
bool peptideIonTypeIsComplement(Enums::PeptideIon ion_type_ref, Enums::PeptideIon ion_type)
tells if an ion type is the complement ion of the other
 
bool operator<(Aa const &l, Aa const &r)
 
std::shared_ptr< const Peptide > PeptideSp
 
const AaModification * AaModificationP
 
double pappso_double
A type definition for doubles.
 
PeptideDirection getPeptideIonDirection(Enums::PeptideIon ion_type)
get the direction of a peptide ion
 
bool peptideIonIsNter(Enums::PeptideIon ion_type)
tells if an ion is Nter
 
bool operator==(Aa const &l, Aa const &r)
 
std::shared_ptr< Peptide > NoConstPeptideSp