libpappsomspp
Library for mass spectrometry
pappso::AaModification Class Reference

#include <aamodification.h>

Inheritance diagram for pappso::AaModification:
pappso::AtomNumberInterface

Public Member Functions

 AaModification (AaModification &&toCopy)
 
const QString & getAccession () const
 
const QString & getName () const
 
 ~AaModification ()
 
pappso_double getMass () const
 
int getNumberOfAtom (AtomIsotopeSurvey atom) const override final
 get the number of atom C, O, N, H in the molecule More...
 
int getNumberOfIsotope (Isotope isotope) const override final
 get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule More...
 
bool isInternal () const
 

Static Public Member Functions

static AaModificationP getInstance (const QString &accession)
 
static AaModificationP getInstance (const OboPsiModTerm &oboterm)
 
static AaModificationP getInstanceMutation (const QChar &mut_from, const QChar &mut_to)
 get a fake modification coding a mutation from an amino acid to an other More...
 
static AaModificationP getInstanceXtandemMod (const QString &type, pappso_double mass, const PeptideSp &peptide_sp, unsigned int position)
 
static AaModificationP getInstanceCustomizedMod (pappso_double modificationMass)
 

Protected Member Functions

void setDiffFormula (const QString &diff_formula)
 
void setXrefOrigin (const QString &origin)
 set list of amino acid on which this modification takes place More...
 

Protected Attributes

const QString m_accession
 
QString m_name
 

Private Types

using MapAccessionModifications = std::map< QString, AaModificationP >
 

Private Member Functions

 AaModification (const QString &accession, pappso_double mass)
 
void calculateMassFromChemicalComponents ()
 

Static Private Member Functions

static AaModificationP createInstance (const QString &saccession)
 
static AaModificationP createInstance (const OboPsiModTerm &term)
 
static AaModificationP createInstanceMutation (const Aa &aa_from, const Aa &aa_to)
 

Private Attributes

pappso_double m_mass
 
QString m_origin
 
std::map< AtomIsotopeSurvey, int > m_atomCount
 
std::map< Isotope, int > m_mapIsotope
 

Static Private Attributes

static MapAccessionModifications m_mapAccessionModifications
 
static QMutex m_mutex
 

Detailed Description

Definition at line 77 of file aamodification.h.

Member Typedef Documentation

◆ MapAccessionModifications

Definition at line 92 of file aamodification.h.

Constructor & Destructor Documentation

◆ AaModification() [1/2]

pappso::AaModification::AaModification ( const QString &  accession,
pappso_double  mass 
)
private

Definition at line 77 of file aamodification.cpp.

77  : m_mass(toCopy.m_mass),
78  m_atomCount(std::move(toCopy.m_atomCount)),
79  m_mapIsotope(toCopy.m_mapIsotope),
80  m_accession(toCopy.m_accession)
81 {
82  m_origin = toCopy.m_origin;
83 }
84 
86 {
87 }
88 
89 const QString &
91 {
92 
93  qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
94  return m_accession;

◆ AaModification() [2/2]

pappso::AaModification::AaModification ( AaModification &&  toCopy)

Definition at line 97 of file aamodification.cpp.

References m_name.

◆ ~AaModification()

pappso::AaModification::~AaModification ( )

Definition at line 106 of file aamodification.cpp.

Member Function Documentation

◆ calculateMassFromChemicalComponents()

void pappso::AaModification::calculateMassFromChemicalComponents ( )
private

Definition at line 307 of file aamodification.cpp.

309  {
310  theoreticalm_mass += MASSNITROGEN * (it_atom->second);
311  }
312  it_atom = m_atomCount.find(AtomIsotopeSurvey::S);
313  if(it_atom != m_atomCount.end())
314  {
315  theoreticalm_mass += MASSSULFUR * (it_atom->second);
316  }
317 
318  qDebug() << theoreticalm_mass;
319 
320  theoreticalm_mass += DIFFC12C13 * m_mapIsotope.at(Isotope::C13);
321  theoreticalm_mass += DIFFH1H2 * m_mapIsotope.at(Isotope::H2);
322  theoreticalm_mass += DIFFN14N15 * m_mapIsotope.at(Isotope::N15);
323  theoreticalm_mass += DIFFO16O17 * m_mapIsotope.at(Isotope::O17);
324  theoreticalm_mass += DIFFO16O18 * m_mapIsotope.at(Isotope::O18);
325  theoreticalm_mass += DIFFS32S33 * m_mapIsotope.at(Isotope::S33);
326  theoreticalm_mass += DIFFS32S34 * m_mapIsotope.at(Isotope::S34);
327  theoreticalm_mass += DIFFS32S36 * m_mapIsotope.at(Isotope::S36);
328 
329 
330  pappso_double diff = std::fabs((pappso_double)m_mass - theoreticalm_mass);
331  if(diff < 0.001)
332  {
333  m_mass = theoreticalm_mass;
334  qDebug() << "AaModification::calculateMassFromChemicalComponents "
335  << diff;
336  }
337  else
338  {
339  qDebug()
340  << "ERROR in AaModification::calculateMassFromChemicalComponents theo="
341  << theoreticalm_mass << " m=" << m_mass << " diff=" << diff
342  << " accession=" << m_accession;
343  }
344 }
345 
348 {
349  QString accession = QString("%1").arg(modificationMass);
350  qDebug() << "AaModification::getInstanceCustomizedMod " << accession;
351  QMutexLocker locker(&m_mutex);
352  if(m_mapAccessionModifications.find(accession) ==
354  {
355  // not found
356  m_mapAccessionModifications.insert(std::pair<QString, AaModification *>(
357  accession, new AaModification(accession, modificationMass)));
358  }
359  else
360  {
361  // found
362  }
363  return m_mapAccessionModifications.at(accession);
364 }
365 

References pappso::MASSNITROGEN().

◆ createInstance() [1/2]

AaModificationP pappso::AaModification::createInstance ( const OboPsiModTerm term)
staticprivate

Definition at line 130 of file aamodification.cpp.

133  :Cter_hydrolytic_cleavage_HO")
134  {
135  OboPsiModTerm term;
136  term.m_accession = accession;
137  term.m_diffFormula = "H 1 O 1";
138  term.m_diffMono = MPROTIUM + MASSOXYGEN;
139  term.m_name = "Cter hydrolytic cleavage HO";
140  return (AaModification::createInstance(term));

◆ createInstance() [2/2]

AaModificationP pappso::AaModification::createInstance ( const QString &  saccession)
staticprivate

Definition at line 143 of file aamodification.cpp.

143  {
144  QRegExp regexp_mutation("^MUTATION:([A-Z])=>([A-Z])$");
145  if(regexp_mutation.exactMatch(accession))
146  {
147  qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__ << " "
148  << regexp_mutation.capturedTexts()[1].at(0) << " "
149  << regexp_mutation.capturedTexts()[2].at(0);
150 
151  Aa aa_from(
152  regexp_mutation.capturedTexts()[1].toStdString().c_str()[0]);
153  Aa aa_to(regexp_mutation.capturedTexts()[2].toStdString().c_str()[0]);
154  AaModificationP instance_mutation =
155  createInstanceMutation(aa_from, aa_to);
156  return instance_mutation;
157  // m_psiModLabel<<"|";
158  }
159  }
160  // initMyResource();
161  FilterOboPsiModSink term_list;
162  FilterOboPsiModTermAccession filterm_accession(term_list, accession);
163 
164  OboPsiMod psimod(filterm_accession);
165 
166  try
167  {
168  return (AaModification::createInstance(term_list.getOne()));
169  }
170  catch(ExceptionNotFound &e)
171  {
172  throw ExceptionNotFound(QObject::tr("modification not found : [%1]\n%2")
173  .arg(accession)
174  .arg(e.qwhat()));
175  }
176 }
177 
178 void
179 AaModification::setXrefOrigin(const QString &origin)
180 {
181  // xref: Origin: "N"
182  // xref: Origin: "X"
183  m_origin = origin;
184 }
185 void
186 AaModification::setDiffFormula(const QString &diff_formula)
187 {
188  QRegExp rx("(^|\\s)([C,H,O,N,H,S])\\s([-]{0,1}\\d+)");
189  int pos = 0;
190 
191  while((pos = rx.indexIn(diff_formula, pos)) != -1)
192  {
193  qDebug() << rx.cap(2) << " " << rx.cap(3);
194  if(rx.cap(2) == "C")
195  {
196  m_atomCount[AtomIsotopeSurvey::C] = rx.cap(3).toInt();
197  }

References createInstanceMutation().

Referenced by getInstanceCustomizedMod().

◆ createInstanceMutation()

AaModificationP pappso::AaModification::createInstanceMutation ( const Aa aa_from,
const Aa aa_to 
)
staticprivate

Definition at line 601 of file aamodification.cpp.

608 {
609  QString accession(QString("MUTATION:%1=>%2").arg(mut_from).arg(mut_to));
610  try
611  {
612  QMutexLocker locker(&m_mutex);
613  MapAccessionModifications::iterator it =
614  m_mapAccessionModifications.find(accession);
615  if(it == m_mapAccessionModifications.end())
616  {
617  Aa aa_from(mut_from.toLatin1());
618  Aa aa_to(mut_to.toLatin1());
619  AaModificationP instance_mutation =
620  createInstanceMutation(aa_from, aa_to);
621 
622  std::pair<MapAccessionModifications::iterator, bool> insert_res =
624  std::pair<QString, AaModificationP>(accession,

Referenced by createInstance().

◆ getAccession()

const QString & pappso::AaModification::getAccession ( ) const

Definition at line 111 of file aamodification.cpp.

◆ getInstance() [1/2]

AaModificationP pappso::AaModification::getInstance ( const OboPsiModTerm oboterm)
static

Definition at line 433 of file aamodification.cpp.

439 {
441  if(MzRange(mass, precision).contains(getInstance("MOD:00719")->getMass()))
442  {
443  if(type == "M")
444  {
445  return getInstance("MOD:00719");
446  }
447  if(type == "K")
448  {
449  return getInstance("MOD:01047");
450  }
451  }
452  // accession== "MOD:00057"

References pappso::PrecisionFactory::getDaltonInstance(), getInstance(), and getMass().

◆ getInstance() [2/2]

AaModificationP pappso::AaModification::getInstance ( const QString &  accession)
static

Definition at line 388 of file aamodification.cpp.

391  {
392  throw ExceptionNotFound(
393  QObject::tr("ERROR getting instance of : %1 NOT FOUND\n%2")
394  .arg(accession)
395  .arg(e.qwhat()));
396  }
397  catch(PappsoException &e)
398  {
399  throw PappsoException(QObject::tr("ERROR getting instance of %1\n%2")
400  .arg(accession)
401  .arg(e.qwhat()));
402  }
403  catch(std::exception &e)
404  {
405  throw PappsoException(QObject::tr("ERROR getting instance of %1\n%2")
406  .arg(accession)
407  .arg(e.what()));
408  }
409 }
410 
412 AaModification::getInstance(const OboPsiModTerm &oboterm)
413 {
414 
415  QMutexLocker locker(&m_mutex);
416  MapAccessionModifications::iterator it =
417  m_mapAccessionModifications.find(oboterm.m_accession);
418  if(it == m_mapAccessionModifications.end())
419  {
420  // not found
421  std::pair<MapAccessionModifications::iterator, bool> insert_res =
422  m_mapAccessionModifications.insert(std::pair<QString, AaModificationP>(
423  oboterm.m_accession, AaModification::createInstance(oboterm)));
424  it = insert_res.first;
425  }
426  else
427  {
428  // found
429  }
430  return it->second;

Referenced by getInstance(), getInstanceXtandemMod(), pappso::PeptideModificatorPipeline::parseFixedModification(), pappso::PeptideModificatorPipeline::parseLabeledModification(), pappso::PeptideModificatorPipeline::parsePotentialModification(), pappso::PeptideStrParser::parseStringToPeptide(), and pappso::PeptideFragmentIonListBase::PeptideFragmentIonListBase().

◆ getInstanceCustomizedMod()

AaModificationP pappso::AaModification::getInstanceCustomizedMod ( pappso_double  modificationMass)
static

Definition at line 368 of file aamodification.cpp.

368 {
369  try
370  {
371  QMutexLocker locker(&m_mutex);
372  MapAccessionModifications::iterator it =
373  m_mapAccessionModifications.find(accession);
374  if(it == m_mapAccessionModifications.end())
375  {
376 
377  // not found
378  std::pair<MapAccessionModifications::iterator, bool> insert_res =
380  std::pair<QString, AaModificationP>(
381  accession, AaModification::createInstance(accession)));
382  it = insert_res.first;
383  }
384  else
385  {

References createInstance(), m_mapAccessionModifications, and m_mutex.

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

◆ getInstanceMutation()

AaModificationP pappso::AaModification::getInstanceMutation ( const QChar &  mut_from,
const QChar &  mut_to 
)
static

get a fake modification coding a mutation from an amino acid to an other

Parameters
mut_fromorginal amino acid
mut_totargeted amino acid

Definition at line 628 of file aamodification.cpp.

629  {
630  // found
631  }
632  return it->second;
633  }
634  catch(ExceptionNotFound &e)
635  {
636  throw ExceptionNotFound(
637  QObject::tr("ERROR getting instance of : %1 NOT FOUND\n%2")
638  .arg(accession)
639  .arg(e.qwhat()));
640  }
641  catch(PappsoException &e)
642  {
643  throw PappsoException(QObject::tr("ERROR getting instance of %1\n%2")
644  .arg(accession)
645  .arg(e.qwhat()));
646  }
647  catch(std::exception &e)
648  {
649  throw PappsoException(QObject::tr("ERROR getting instance of %1\n%2")
650  .arg(accession)
651  .arg(e.what()));
652  }
653 } // namespace pappso
654 
655 } // namespace pappso

◆ getInstanceXtandemMod()

AaModificationP pappso::AaModification::getInstanceXtandemMod ( const QString &  type,
pappso_double  mass,
const PeptideSp peptide_sp,
unsigned int  position 
)
static

Definition at line 456 of file aamodification.cpp.

459  {
460  return getInstance("MOD:00408");
461  }
462  }
463  if(MzRange(mass, precision).contains(getInstance("MOD:01160")->getMass()))
464  {
465  //-17.02655
466  // loss of ammonia [MOD:01160] -17.026549
467  return getInstance("MOD:01160");
468  }
469 
470  if(MzRange(mass, precision).contains(getInstance("MOD:01060")->getMass()))
471  {
472  //// iodoacetamide [MOD:00397] 57.021464
473  if(type == "C")
474  {
475  return getInstance("MOD:01060");
476  }
477  else
478  {
479  return getInstance("MOD:00397");
480  }
481  }
482  if(MzRange(mass, precision).contains(getInstance("MOD:00704")->getMass()))
483  {
484  // loss of water
485  /*
486  if (position == 0) {
487  if (peptide_sp.get()->getSequence().startsWith("EG")) {
488  return getInstance("MOD:00365");
489  }
490  if (peptide_sp.get()->getSequence().startsWith("ES")) {
491  return getInstance("MOD:00953");
492  }
493  if (type == "E") {
494  return getInstance("MOD:00420");
495  }
496  }
497  */
498  // dehydrated residue [MOD:00704] -18.010565
499  return getInstance("MOD:00704");
500  }
501  if(MzRange(mass, precision).contains(getInstance("MOD:00696")->getMass()))
502  {
503  // phosphorylated residue [MOD:00696] 79.966330
504  return getInstance("MOD:00696");
505  }
506  bool isCter = false;
507  if(peptide_sp.get()->size() == (position + 1))
508  {
509  isCter = true;
510  }
511  if((position == 0) || isCter)
512  {
513  if(MzRange(mass, precision).contains(getInstance("MOD:00429")->getMass()))
514  {
515  // dimethyl
516  return getInstance("MOD:00429");
517  }
518  if(MzRange(mass, precision).contains(getInstance("MOD:00552")->getMass()))
519  {
520  // 4x(2)H labeled dimethyl residue
521  return getInstance("MOD:00552");
522  }
523  if(MzRange(mass, precision).contains(getInstance("MOD:00638")->getMass()))
524  {
525  // 2x(13)C,6x(2)H-dimethylated arginine
526  return getInstance("MOD:00638");
527  }
528  }
529  throw PappsoException(
530  QObject::tr("tandem modification not found : %1 %2 %3 %4")
531  .arg(type)
532  .arg(mass)
533  .arg(peptide_sp.get()->getSequence())
534  .arg(position));
535 }
536 
539 {
540  return m_mass;
541 }
542 
543 
544 int
546 {
547  // qDebug() << "AaModification::getNumberOfAtom(AtomIsotopeSurvey atom) NOT
548  // IMPLEMENTED";
549  return m_atomCount.at(atom);
550 }
551 
552 
553 int
555 {
556  try

References getInstance().

◆ getMass()

pappso_double pappso::AaModification::getMass ( ) const

Definition at line 559 of file aamodification.cpp.

561  {
562  throw PappsoException(

Referenced by getInstance().

◆ getName()

const QString & pappso::AaModification::getName ( ) const

Definition at line 118 of file aamodification.cpp.

◆ getNumberOfAtom()

int pappso::AaModification::getNumberOfAtom ( AtomIsotopeSurvey  atom) const
finaloverridevirtual

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

Implements pappso::AtomNumberInterface.

Definition at line 566 of file aamodification.cpp.

571 {

◆ getNumberOfIsotope()

int pappso::AaModification::getNumberOfIsotope ( Isotope  isotope) const
finaloverridevirtual

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

Implements pappso::AtomNumberInterface.

Definition at line 575 of file aamodification.cpp.

581 {
582  QString accession(
583  QString("MUTATION:%1=>%2").arg(aa_from.getLetter()).arg(aa_to.getLetter()));
584  double diffMono = aa_to.getMass() - aa_from.getMass();
585  // not found
586  AaModification *instance_mutation;
587  // qDebug() << " AaModification::createInstance begin";

◆ isInternal()

bool pappso::AaModification::isInternal ( ) const

Definition at line 591 of file aamodification.cpp.

594  {
595  AtomIsotopeSurvey atom = static_cast<AtomIsotopeSurvey>(atomInt);
596  instance_mutation->m_atomCount[atom] =
597  aa_to.getNumberOfAtom(atom) - aa_from.getNumberOfAtom(atom);
598  }

◆ setDiffFormula()

void pappso::AaModification::setDiffFormula ( const QString &  diff_formula)
protected

Definition at line 207 of file aamodification.cpp.

207  {
208  m_atomCount[AtomIsotopeSurvey::O] = rx.cap(3).toInt();
209  }
210  else if(rx.cap(2) == "S")
211  {
212  m_atomCount[AtomIsotopeSurvey::S] = rx.cap(3).toInt();
213  }
214  pos += rx.matchedLength();
215  }
216 
217  // look for isotopes :
218  rx.setPattern("\\(([-]{0,1}\\d+)\\)([C,H,O,N,H,S])\\s([-]{0,1}\\d+)");
219  pos = 0;
220 
221  while((pos = rx.indexIn(diff_formula, pos)) != -1)
222  {
223  qDebug() << rx.cap(1) << " " << rx.cap(2) << " " << rx.cap(3);
224  int number_of_isotopes = rx.cap(3).toInt();
225  if(rx.cap(2) == "C")
226  {
227  if(rx.cap(1) == "13")
228  {
229  m_mapIsotope.at(Isotope::C13) = number_of_isotopes;
230  }
231  m_atomCount[AtomIsotopeSurvey::C] += number_of_isotopes;
232  }
233  else if(rx.cap(2) == "H")
234  {
235  if(rx.cap(1) == "2")
236  {
237  m_mapIsotope.at(Isotope::H2) = number_of_isotopes;
238  }
239  m_atomCount[AtomIsotopeSurvey::H] += number_of_isotopes;
240  }
241  else if(rx.cap(2) == "N")
242  {
243  if(rx.cap(1) == "15")
244  {
245  m_mapIsotope.at(Isotope::N15) = number_of_isotopes;
246  }
247  m_atomCount[AtomIsotopeSurvey::N] += number_of_isotopes;
248  }
249  else if(rx.cap(2) == "O")
250  {
251  if(rx.cap(1) == "17")
252  {
253  m_mapIsotope.at(Isotope::O17) = number_of_isotopes;
254  }
255  else if(rx.cap(1) == "18")
256  {
257  m_mapIsotope.at(Isotope::O18) = number_of_isotopes;
258  }
259  m_atomCount[AtomIsotopeSurvey::O] += number_of_isotopes;
260  }
261  else if(rx.cap(2) == "S")
262  {
263  if(rx.cap(1) == "33")
264  {
265  m_mapIsotope.at(Isotope::S33) = number_of_isotopes;
266  }
267  else if(rx.cap(1) == "34")
268  {
269  m_mapIsotope.at(Isotope::S34) = number_of_isotopes;
270  }
271  else if(rx.cap(1) == "36")
272  {
273  m_mapIsotope.at(Isotope::S36) = number_of_isotopes;
274  }
275  m_atomCount[AtomIsotopeSurvey::S] += number_of_isotopes;
276  }
277  pos += rx.matchedLength();
278  }
279 
280 
282 }
283 
284 
285 void
287 {
288  pappso_double theoreticalm_mass = 0;
289  std::map<AtomIsotopeSurvey, int>::const_iterator it_atom =
291  if(it_atom != m_atomCount.end())
292  {
293  theoreticalm_mass += MASSCARBON * (it_atom->second);
294  }
295  it_atom = m_atomCount.find(AtomIsotopeSurvey::H);
296  if(it_atom != m_atomCount.end())
297  {
298  theoreticalm_mass += MPROTIUM * (it_atom->second);
299  }
300 
301  it_atom = m_atomCount.find(AtomIsotopeSurvey::O);
302  if(it_atom != m_atomCount.end())
303  {

References m_atomCount, and pappso::O.

◆ setXrefOrigin()

void pappso::AaModification::setXrefOrigin ( const QString &  origin)
protected

set list of amino acid on which this modification takes place

  • origin string of the form "S T" for Serine or Threonine, "X" for any amino acid (see OBO PSI format)

Definition at line 200 of file aamodification.cpp.

203  {
204  m_atomCount[AtomIsotopeSurvey::N] = rx.cap(3).toInt();
205  }

Member Data Documentation

◆ m_accession

const QString pappso::AaModification::m_accession
protected

Definition at line 98 of file aamodification.h.

◆ m_atomCount

std::map<AtomIsotopeSurvey, int> pappso::AaModification::m_atomCount
private

Definition at line 82 of file aamodification.h.

Referenced by setDiffFormula().

◆ m_mapAccessionModifications

AaModification::MapAccessionModifications pappso::AaModification::m_mapAccessionModifications
staticprivate
Initial value:
= [] {
return ret;
}()

Definition at line 93 of file aamodification.h.

Referenced by getInstanceCustomizedMod().

◆ m_mapIsotope

std::map<Isotope, int> pappso::AaModification::m_mapIsotope
private

Definition at line 83 of file aamodification.h.

◆ m_mass

pappso_double pappso::AaModification::m_mass
private

Definition at line 80 of file aamodification.h.

◆ m_mutex

QMutex pappso::AaModification::m_mutex
staticprivate

Definition at line 95 of file aamodification.h.

Referenced by getInstanceCustomizedMod().

◆ m_name

QString pappso::AaModification::m_name
protected

Definition at line 99 of file aamodification.h.

Referenced by AaModification().

◆ m_origin

QString pappso::AaModification::m_origin
private

Definition at line 81 of file aamodification.h.


The documentation for this class was generated from the following files:
pappso::AtomIsotopeSurvey::S
@ S
pappso::AaModification::setDiffFormula
void setDiffFormula(const QString &diff_formula)
Definition: aamodification.cpp:207
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition: types.h:69
pappso::AaModification::m_mass
pappso_double m_mass
Definition: aamodification.h:80
pappso::AaModification::calculateMassFromChemicalComponents
void calculateMassFromChemicalComponents()
Definition: aamodification.cpp:307
pappso::AaModification::getAccession
const QString & getAccession() const
Definition: aamodification.cpp:111
pappso::Isotope::H2
@ H2
pappso::Isotope::S36
@ S36
pappso::AaModification::createInstanceMutation
static AaModificationP createInstanceMutation(const Aa &aa_from, const Aa &aa_to)
Definition: aamodification.cpp:601
pappso::AaModification::m_accession
const QString m_accession
Definition: aamodification.h:98
pappso::MASSCARBON
const pappso_double MASSCARBON(12)
pappso::DIFFN14N15
const pappso_double DIFFN14N15(15.0001088982 - MASSNITROGEN)
pappso::Isotope
Isotope
Definition: types.h:112
pappso::DIFFH1H2
const pappso_double DIFFH1H2(2.0141017778 - MPROTIUM)
pappso::Isotope::N15
@ N15
pappso::AaModification::getNumberOfAtom
int getNumberOfAtom(AtomIsotopeSurvey atom) const override final
get the number of atom C, O, N, H in the molecule
Definition: aamodification.cpp:566
pappso::DIFFS32S33
const pappso_double DIFFS32S33(32.97145876 - MASSSULFUR)
pappso::AaModification::AaModification
AaModification(const QString &accession, pappso_double mass)
Definition: aamodification.cpp:77
pappso::AaModification::getMass
pappso_double getMass() const
Definition: aamodification.cpp:559
pappso::Isotope::O17
@ O17
pappso::AtomIsotopeSurvey::H
@ H
pappso::AaModificationP
const AaModification * AaModificationP
Definition: aamodification.h:73
pappso::PrecisionFactory::getDaltonInstance
static PrecisionPtr getDaltonInstance(pappso_double value)
Definition: precision.cpp:150
pappso::DIFFS32S34
const pappso_double DIFFS32S34(33.96786690 - MASSSULFUR)
pappso::AaModification::m_mapAccessionModifications
static MapAccessionModifications m_mapAccessionModifications
Definition: aamodification.h:93
pappso::Isotope::S34
@ S34
pappso::DIFFC12C13
const pappso_double DIFFC12C13(1.0033548378)
pappso::AtomIsotope::H
@ H
pappso::AaModification::getNumberOfIsotope
int getNumberOfIsotope(Isotope isotope) const override final
get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
Definition: aamodification.cpp:575
pappso::AaModification::getInstance
static AaModificationP getInstance(const QString &accession)
Definition: aamodification.cpp:388
pappso::AaModification::m_mapIsotope
std::map< Isotope, int > m_mapIsotope
Definition: aamodification.h:83
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition: precision.h:143
pappso::AaModification::MapAccessionModifications
std::map< QString, AaModificationP > MapAccessionModifications
Definition: aamodification.h:92
pappso::AaModification::m_atomCount
std::map< AtomIsotopeSurvey, int > m_atomCount
Definition: aamodification.h:82
pappso::DIFFS32S36
const pappso_double DIFFS32S36(35.96708076 - MASSSULFUR)
pappso::AaModification::setXrefOrigin
void setXrefOrigin(const QString &origin)
set list of amino acid on which this modification takes place
Definition: aamodification.cpp:200
pappso::AaModification::~AaModification
~AaModification()
Definition: aamodification.cpp:106
pappso::AtomIsotope::O
@ O
pappso::AaModification::createInstance
static AaModificationP createInstance(const QString &saccession)
Definition: aamodification.cpp:143
pappso::MASSSULFUR
const pappso_double MASSSULFUR(31.97207100)
pappso::AtomIsotopeSurvey::C
@ C
pappso::AaModification::m_mutex
static QMutex m_mutex
Definition: aamodification.h:95
pappso::Isotope::C13
@ C13
pappso::AtomIsotopeSurvey::N
@ N
pappso::AaModification::getInstanceCustomizedMod
static AaModificationP getInstanceCustomizedMod(pappso_double modificationMass)
Definition: aamodification.cpp:368
pappso::Isotope::O18
@ O18
pappso::MPROTIUM
const pappso_double MPROTIUM(1.007825032241)
pappso::MASSNITROGEN
const pappso_double MASSNITROGEN(14.0030740048)
pappso::DIFFO16O17
const pappso_double DIFFO16O17(16.99913150 - MASSOXYGEN)
pappso::AaModification::m_name
QString m_name
Definition: aamodification.h:99
pappso::DIFFO16O18
const pappso_double DIFFO16O18(17.9991610 - MASSOXYGEN)
pappso::AtomIsotopeSurvey
AtomIsotopeSurvey
Definition: types.h:97
pappso::PeptideDirection::Cter
@ Cter
pappso::AtomIsotopeSurvey::O
@ O
pappso::Isotope::S33
@ S33
pappso::AaModification::m_origin
QString m_origin
Definition: aamodification.h:81