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

`#include <aamodification.h>`

Inheritance diagram for pappso::AaModification:

## Public Member Functions

| AaModification (AaModification &&toCopy)
const QString & | getAccession () const
const QString & | getName () const
const QString | toProForma () const
| get the amino acid in ProForma notation https://github.com/HUPO-PSI/ProForma/blob/master/README.md
| ~AaModification ()
pappso_double | getMass () const
int | getNumberOfAtom (Enums::AtomIsotopeSurvey atom) const override final
| get the number of atom C, O, N, H in the molecule
int | getNumberOfIsotope (Enums::Isotope isotope) const override final
| get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
bool | isInternal () const
const QString & | getXrefOrigin () const
| get list of amino acid on which this modification takes place
Public Member Functions inherited from pappso::AtomNumberInterface
virtual const ChemicalFormula | getChemicalFormula () 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
static AaModificationP | getInstanceRemovalAccessionByAaLetter (const QChar &amino_acid)
| get a PSI MOD instance corresponding to the removal of the given amino acid find the modifications that corresponds to the removal of a residue id: MOD:01651 name: natural, standard, encoded residue removal
static AaModificationP | getInstanceInsertionAccessionByAaLetter (const QChar &amino_acid)
| get a PSI MOD instance corresponding to the insertion of the given amino acid find the modifications.
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 pappso::ChemicalFormula &diff_formula)
void | setXrefOrigin (const QString &origin)
| set list of amino acid on which this modification takes place

## 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)
static AaModificationP | createInstanceC13N15LabelledAminoAcid (const QChar &aa_from)
| get heavy amino acid modification C13 N15

## Private Attributes

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

## Static Private Attributes

static MapAccessionModifications | m_mapAccessionModifications
static QMutex | m_mutex

## Detailed Description

Definition at line 56 of file aamodification.h.

## Member Typedef Documentation

## MapAccessionModifications

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

private

Definition at line 147 of file aamodification.h.

## Constructor & Destructor Documentation

## AaModification() [1/2]

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

Definition at line 79 of file aamodification.cpp.

: m_accession(toCopy.m_accession),
m_name(toCopy.m_name),
m_mass(toCopy.m_mass),
m_atomCount(std::move(toCopy.m_atomCount)),
m_mapIsotope(toCopy.m_mapIsotope)
{
m_origin = toCopy.m_origin;
}
pappso::AaModification::m_mapIsotope
std::map< Enums::Isotope, int > m_mapIsotope
Definition aamodification.h:154
pappso::AaModification::m_origin
QString m_origin
Definition aamodification.h:152
pappso::AaModification::m_mass
pappso_double m_mass
Definition aamodification.h:151
pappso::AaModification::m_name
QString m_name
Definition aamodification.h:123
pappso::AaModification::m_accession
const QString m_accession
Definition aamodification.h:122
pappso::AaModification::m_atomCount
std::map< Enums::AtomIsotopeSurvey, int > m_atomCount
Definition aamodification.h:153

References AaModification(), m_accession, m_atomCount, m_mapIsotope, m_mass, m_name, and m_origin.

Referenced by AaModification(), createInstance(), createInstanceMutation(), and getInstanceCustomizedMod().

## ~AaModification()

pappso::AaModification::~AaModification | ( |  | ) |

Definition at line 89 of file aamodification.cpp.

{
}

## AaModification() [2/2]

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

private

Definition at line 58 of file aamodification.cpp.

: m_accession(accession), m_mass(mass)
{
m_atomCount = {{Enums::AtomIsotopeSurvey::C, 0},
{Enums::AtomIsotopeSurvey::H, 0},
{Enums::AtomIsotopeSurvey::N, 0},
{Enums::AtomIsotopeSurvey::O, 0},
{Enums::AtomIsotopeSurvey::S, 0},
{Enums::AtomIsotopeSurvey::P, 0}};
m_mapIsotope = {{Enums::Isotope::C13, 0},
{Enums::Isotope::H2, 0},
{Enums::Isotope::N15, 0},
{Enums::Isotope::O17, 0},
{Enums::Isotope::O18, 0},
{Enums::Isotope::S33, 0},
{Enums::Isotope::S34, 0},
{Enums::Isotope::S36, 0}};
}
pappso::Enums::AtomIsotopeSurvey::C
@ C
Definition types.h:111
pappso::Enums::AtomIsotopeSurvey::P
@ P
Definition types.h:116
pappso::Enums::AtomIsotopeSurvey::S
@ S
Definition types.h:115
pappso::Enums::AtomIsotopeSurvey::N
@ N
Definition types.h:114
pappso::Enums::AtomIsotopeSurvey::H
@ H
Definition types.h:112
pappso::Enums::AtomIsotopeSurvey::O
@ O
Definition types.h:113
pappso::Enums::Isotope::S36
@ S36
Definition types.h:139
pappso::Enums::Isotope::C13
@ C13
Definition types.h:128
pappso::Enums::Isotope::N15
@ N15
Definition types.h:135
pappso::Enums::Isotope::S33
@ S33
Definition types.h:137
pappso::Enums::Isotope::O18
@ O18
Definition types.h:133
pappso::Enums::Isotope::O17
@ O17
Definition types.h:132
pappso::Enums::Isotope::S34
@ S34
Definition types.h:138
pappso::Enums::Isotope::H2
@ H2
Definition types.h:130

References pappso::Enums::C, pappso::Enums::C13, pappso::Enums::H, pappso::Enums::H2, m_accession, m_atomCount, m_mapIsotope, m_mass, pappso::Enums::N, pappso::Enums::N15, pappso::Enums::O, pappso::Enums::O17, pappso::Enums::O18, pappso::Enums::P, pappso::Enums::S, pappso::Enums::S33, pappso::Enums::S34, and pappso::Enums::S36.

## Member Function Documentation

## calculateMassFromChemicalComponents()

void pappso::AaModification::calculateMassFromChemicalComponents | ( |  | ) |

private

Definition at line 282 of file aamodification.cpp.

{
pappso_double theoreticalm_mass = 0;
std::map<Enums::AtomIsotopeSurvey, int>::const_iterator it_atom =
m_atomCount.find(Enums::AtomIsotopeSurvey::C);
if(it_atom != m_atomCount.end())
{
theoreticalm_mass += MASSCARBON * (it_atom->second);
}
it_atom = m_atomCount.find(Enums::AtomIsotopeSurvey::H);
if(it_atom != m_atomCount.end())
{
theoreticalm_mass += MPROTIUM * (it_atom->second);
}
it_atom = m_atomCount.find(Enums::AtomIsotopeSurvey::O);
if(it_atom != m_atomCount.end())
{
theoreticalm_mass += MASSOXYGEN * (it_atom->second);
}
it_atom = m_atomCount.find(Enums::AtomIsotopeSurvey::N);
if(it_atom != m_atomCount.end())
{
theoreticalm_mass += MASSNITROGEN * (it_atom->second);
}
it_atom = m_atomCount.find(Enums::AtomIsotopeSurvey::S);
if(it_atom != m_atomCount.end())
{
theoreticalm_mass += MASSSULFUR * (it_atom->second);
}
qDebug() << theoreticalm_mass;
theoreticalm_mass += DIFFC12C13 * m_mapIsotope.at(Enums::Isotope::C13);
theoreticalm_mass += DIFFH1H2 * m_mapIsotope.at(Enums::Isotope::H2);
theoreticalm_mass += DIFFN14N15 * m_mapIsotope.at(Enums::Isotope::N15);
theoreticalm_mass += DIFFO16O17 * m_mapIsotope.at(Enums::Isotope::O17);
theoreticalm_mass += DIFFO16O18 * m_mapIsotope.at(Enums::Isotope::O18);
theoreticalm_mass += DIFFS32S33 * m_mapIsotope.at(Enums::Isotope::S33);
theoreticalm_mass += DIFFS32S34 * m_mapIsotope.at(Enums::Isotope::S34);
theoreticalm_mass += DIFFS32S36 * m_mapIsotope.at(Enums::Isotope::S36);
if(m_mass == 0.0)
{
m_mass = theoreticalm_mass;
}
else
{
pappso_double diff = std::fabs((pappso_double)m_mass - theoreticalm_mass);
if(diff < 0.001)
{
m_mass = theoreticalm_mass;
qDebug() << diff;
}
else
{
qDebug() << "ERROR in AaModification::calculateMassFromChemicalComponents "
"theo="
<< theoreticalm_mass << " m=" << m_mass << " diff=" << diff
<< " accession=" << m_accession;
}
}
}
pappso::DIFFS32S33
const pappso_double DIFFS32S33(32.9714589101 - MASSSULFUR)
pappso::DIFFS32S34
const pappso_double DIFFS32S34(33.9678670300 - MASSSULFUR)
pappso::DIFFO16O17
const pappso_double DIFFO16O17(16.99913150 - MASSOXYGEN)
pappso::MASSCARBON
const pappso_double MASSCARBON(12)
pappso::MASSSULFUR
const pappso_double MASSSULFUR(31.9720711741)
pappso::DIFFS32S36
const pappso_double DIFFS32S36(35.9670812000 - MASSSULFUR)
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition types.h:60
pappso::MPROTIUM
const pappso_double MPROTIUM(1.007825032241)
pappso::MASSNITROGEN
const pappso_double MASSNITROGEN(14.0030740048)
pappso::MASSOXYGEN
const pappso_double MASSOXYGEN(15.99491461956)
pappso::DIFFO16O18
const pappso_double DIFFO16O18(17.9991610 - MASSOXYGEN)
pappso::DIFFN14N15
const pappso_double DIFFN14N15(15.0001088982 - MASSNITROGEN)
pappso::DIFFC12C13
const pappso_double DIFFC12C13(1.0033548378)
pappso::DIFFH1H2
const pappso_double DIFFH1H2(2.0141017778 - MPROTIUM)

References pappso::Enums::C, pappso::Enums::C13, pappso::DIFFC12C13(), pappso::DIFFH1H2(), pappso::DIFFN14N15(), pappso::DIFFO16O17(), pappso::DIFFO16O18(), pappso::DIFFS32S33(), pappso::DIFFS32S34(), pappso::DIFFS32S36(), pappso::Enums::H, pappso::Enums::H2, m_accession, m_atomCount, m_mapIsotope, m_mass, pappso::MASSCARBON(), pappso::MASSNITROGEN(), pappso::MASSOXYGEN(), pappso::MASSSULFUR(), pappso::MPROTIUM(), pappso::Enums::N, pappso::Enums::N15, pappso::Enums::O, pappso::Enums::O17, pappso::Enums::O18, pappso::Enums::S, pappso::Enums::S33, pappso::Enums::S34, and pappso::Enums::S36.

Referenced by setDiffFormula().

## createInstance() [1/2]

AaModificationP pappso::AaModification::createInstance | ( | const OboPsiModTerm & | term | ) |

static private

Definition at line 155 of file aamodification.cpp.

{
AaModification *new_mod;
// qDebug() << " AaModification::createInstance begin";
new_mod = new AaModification(term.getAccession(), term.m_diffMono);
// xref: DiffFormula: "C 0 H 0 N 0 O 1 S 0"
pappso::ChemicalFormula formula;
formula.setOboPsiModTerm(term);
new_mod->setDiffFormula(formula);
new_mod->setXrefOrigin(term.m_origin);
new_mod->m_name = term.m_name;
qDebug() << new_mod->m_mass;
return new_mod;
}
pappso::AaModification::AaModification
AaModification(AaModification &&toCopy)
Definition aamodification.cpp:79
pappso::ChemicalFormula::setOboPsiModTerm
void setOboPsiModTerm(const OboPsiModTerm &term)
get formula from an Obo term
Definition chemicalformula.cpp:352

References AaModification(), pappso::OboPsiModTerm::getAccession(), pappso::OboPsiModTerm::m_diffMono, m_mass, m_name, pappso::OboPsiModTerm::m_name, pappso::OboPsiModTerm::m_origin, setDiffFormula(), pappso::ChemicalFormula::setOboPsiModTerm(), and setXrefOrigin().

## createInstance() [2/2]

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

static private

Definition at line 172 of file aamodification.cpp.

{
if(accession == "internal:Nter_hydrolytic_cleavage_H")
{
OboPsiModTerm term;
term.setAccession(accession);
term.m_diffFormula = "H 1";
term.m_diffMono = MPROTIUM;
term.m_name = "Nter hydrolytic cleavage H+";
return (AaModification::createInstance(term));
}
else if(accession == "internal:Cter_hydrolytic_cleavage_HO")
{
OboPsiModTerm term;
term.setAccession(accession);
term.m_diffFormula = "H 1 O 1";
term.m_diffMono = MPROTIUM + MASSOXYGEN;
term.m_name = "Cter hydrolytic cleavage HO";
return (AaModification::createInstance(term));
}
else if(accession == "USER:2-Ethynylbenzaldehyde")
{
// https://pubchem.ncbi.nlm.nih.gov/compound/640368
OboPsiModTerm term;
term.setAccession(accession);
term.m_diffFormula = "H 4 C 9 O 0"; // C9H6O
term.m_name = "2-Ethynylbenzaldehyde";
ChemicalFormula formula;
formula.setOboPsiModTerm(term);
term.m_diffMono = formula.getMass();
return (AaModification::createInstance(term));
}
else if(accession.startsWith("MUTATION:"))
{
QRegularExpression regexp_mutation("^MUTATION:([A-Z])=>([A-Z])$");
QRegularExpressionMatch match = regexp_mutation.match(accession);
if(match.hasMatch())
{
qDebug() << match.capturedTexts()[1].at(0) << " " << match.capturedTexts()[2].at(0);
Aa aa_from(match.capturedTexts()[1].toStdString().c_str()[0]);
Aa aa_to(match.capturedTexts()[2].toStdString().c_str()[0]);
AaModificationP instance_mutation = createInstanceMutation(aa_from, aa_to);
return instance_mutation;
// m_psiModLabel<<"|";
}
}
else if(accession.startsWith("C13N15:"))
{
QRegularExpression regexp_label("^C13N15:([A-Z])$");
QRegularExpressionMatch match = regexp_label.match(accession);
if(match.hasMatch())
{
char labelled_aa(match.capturedTexts()[1].toStdString().c_str()[0]);
AaModificationP instance_labelled_aa_p =
createInstanceC13N15LabelledAminoAcid(QChar(labelled_aa));
return instance_labelled_aa_p;
// m_psiModLabel<<"|";
}
}
// initMyResource();
FilterOboPsiModSink term_list;
FilterOboPsiModTermAccession filterm_accession(term_list, accession);
OboPsiMod psimod(filterm_accession);
try
{
return (AaModification::createInstance(term_list.getOne()));
}
catch(ExceptionNotFound &e)
{
pappso::FilterOboPsiModMap obo_unimod_map;
pappso::OboUnimod unimod_parser(obo_unimod_map);
// OboUnimod unimod(filterm_accession);
try
{
return (AaModification::createInstance(
obo_unimod_map.getOboPsiModTermWithAccession(accession)));
}
catch(ExceptionNotFound &e)
{
try
{
return (
AaModification::createInstance(obo_unimod_map.getOboPsiModTermWithName(accession)));
}
catch(ExceptionNotFound &e)
{
throw ExceptionNotFound(
QObject::tr("modification not found : [%1]\n%2").arg(accession).arg(e.qwhat()));
}
}
}
}
pappso::AaModification::createInstance
static AaModificationP createInstance(const QString &saccession)
Definition aamodification.cpp:172
pappso::AaModification::createInstanceC13N15LabelledAminoAcid
static AaModificationP createInstanceC13N15LabelledAminoAcid(const QChar &aa_from)
get heavy amino acid modification C13 N15
Definition aamodification.cpp:867
pappso::AaModification::createInstanceMutation
static AaModificationP createInstanceMutation(const Aa &aa_from, const Aa &aa_to)
Definition aamodification.cpp:800
pappso::FilterOboPsiModMap::getOboPsiModTermWithAccession
const OboPsiModTerm & getOboPsiModTermWithAccession(const QString &accession) const
Definition filterobopsimodmap.cpp:49
pappso::FilterOboPsiModMap::getOboPsiModTermWithName
const OboPsiModTerm & getOboPsiModTermWithName(const QString &name) const
get the first occurence of term with this name
Definition filterobopsimodmap.cpp:61
pappso::AaModificationP
const AaModification * AaModificationP
Definition aamodification.h:52

References createInstance(), createInstanceC13N15LabelledAminoAcid(), createInstanceMutation(), pappso::ChemicalFormula::getMass(), pappso::FilterOboPsiModMap::getOboPsiModTermWithAccession(), pappso::FilterOboPsiModMap::getOboPsiModTermWithName(), pappso::FilterOboPsiModSink::getOne(), pappso::OboPsiModTerm::m_diffFormula, pappso::OboPsiModTerm::m_diffMono, pappso::OboPsiModTerm::m_name, pappso::MASSOXYGEN(), pappso::MPROTIUM(), pappso::PappsoException::qwhat(), pappso::OboPsiModTerm::setAccession(), and pappso::ChemicalFormula::setOboPsiModTerm().

Referenced by createInstance(), createInstanceC13N15LabelledAminoAcid(), getInstance(), and getInstance().

## createInstanceC13N15LabelledAminoAcid()

AaModificationP pappso::AaModification::createInstanceC13N15LabelledAminoAcid | ( | const QChar & | aa_from | ) |

static private

get heavy amino acid modification C13 N15

Parameters

  aa_from | orginal amino acid

Definition at line 867 of file aamodification.cpp.

{
switch(from_aa.toLatin1())
{
case 'R':
return createInstance("MOD:00587");
break;
case 'K':
return createInstance("MOD:00582");
break;
case 'F':
return createInstance("MOD:00589");
break;
}
// At this point we have no MOD ontology term for all the other amino-acid
// residue, we need to craft the stuff ourselves.
QString accession(QString("C13N15:%1").arg(from_aa));
// Define the diff formula for each amino acid code not handled above.
QString diff_formula;
switch(from_aa.toLatin1())
{
case 'G':
diff_formula = "(12)C -2 (13)C 2 (14)N -1 (15)N 1";
break;
case 'A':
diff_formula = "(12)C -3 (13)C 3 (14)N -1 (15)N 1";
break;
case 'V':
diff_formula = "(12)C -5 (13)C 5 (14)N -1 (15)N 1";
break;
case 'I':
diff_formula = "(12)C -6 (13)C 6 (14)N -1 (15)N 1";
break;
case 'L':
diff_formula = "(12)C -6 (13)C 6 (14)N -1 (15)N 1";
break;
case 'S':
diff_formula = "(12)C -3 (13)C 3 (14)N -1 (15)N 1";
break;
case 'T':
diff_formula = "(12)C -4 (13)C 4 (14)N -1 (15)N 1";
break;
case 'C':
diff_formula = "(12)C -3 (13)C 3 (14)N -1 (15)N 1";
break;
case 'M':
diff_formula = "(12)C -5 (13)C 5 (14)N -1 (15)N 1";
break;
case 'D':
diff_formula = "(12)C -4 (13)C 4 (14)N -1 (15)N 1";
break;
case 'E':
diff_formula = "(12)C -5 (13)C 5 (14)N -1 (15)N 1";
break;
case 'N':
diff_formula = "(12)C -4 (13)C 4 (14)N -2 (15)N 2";
break;
case 'Q':
diff_formula = "(12)C -5 (13)C 5 (14)N -2 (15)N 2";
break;
case 'W':
diff_formula = "(12)C -11 (13)C 11 (14)N -2 (15)N 2";
break;
case 'Y':
diff_formula = "(12)C -9 (13)C 9 (14)N -1 (15)N 1";
break;
case 'H':
diff_formula = "(12)C -6 (13)C 6 (14)N -3 (15)N 3";
break;
case 'P':
diff_formula = "(12)C -5 (13)C 5 (14)N -1 (15)N 1";
break;
default:
throw PappsoException(
QObject::tr("ERROR creating C13N15-labelled amino acid residue %1\n").arg(from_aa));
}
OboPsiModTerm obo_psi_term;
obo_psi_term.setAccession(accession);
obo_psi_term.m_diffFormula = diff_formula;
obo_psi_term.m_name = QString("Fully C13N15-labelled %1").arg(from_aa);
obo_psi_term.m_diffMono = 0;
qDebug() << "obo_psi_term.m_diffFormula: " << obo_psi_term.m_diffFormula;
return AaModification::createInstance(obo_psi_term);
}

References createInstance(), pappso::OboPsiModTerm::m_diffFormula, pappso::OboPsiModTerm::m_diffMono, pappso::OboPsiModTerm::m_name, and pappso::OboPsiModTerm::setAccession().

Referenced by createInstance().

## createInstanceMutation()

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

static private

Definition at line 800 of file aamodification.cpp.

{
QString accession(QString("MUTATION:%1=>%2").arg(aa_from.getLetter()).arg(aa_to.getLetter()));
double diffMono = aa_to.getMass() - aa_from.getMass();
// not found
AaModification *instance_mutation;
// qDebug() << " AaModification::createInstance begin";
instance_mutation = new AaModification(accession, diffMono);
// xref: DiffFormula: "C 0 H 0 N 0 O 1 S 0"
for(std::int8_t atomInt = (std::int8_t)Enums::AtomIsotopeSurvey::C;
atomInt != (std::int8_t)Enums::AtomIsotopeSurvey::last;
atomInt++)
{
Enums::AtomIsotopeSurvey atom = static_cast<Enums::AtomIsotopeSurvey>(atomInt);
instance_mutation->m_atomCount[atom] =
aa_to.getNumberOfAtom(atom) - aa_from.getNumberOfAtom(atom);
}
instance_mutation->m_name =
QString("mutation from %1 to %2").arg(aa_from.getLetter()).arg(aa_to.getLetter());
return instance_mutation;
}
pappso::Enums::AtomIsotopeSurvey
AtomIsotopeSurvey
Definition types.h:110
pappso::Enums::AtomIsotopeSurvey::last
@ last
Definition types.h:117

References AaModification(), pappso::Enums::C, pappso::AaBase::getLetter(), pappso::Aa::getMass(), pappso::Aa::getNumberOfAtom(), pappso::Enums::last, m_atomCount, and m_name.

Referenced by createInstance(), and getInstanceMutation().

## getAccession()

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

Definition at line 94 of file aamodification.cpp.

{
// qDebug();
return m_accession;
}

References m_accession.

Referenced by pappso::Aa::addAaModification(), pappso::PeptideProFormaParser::parseStringToPeptide(), pappso::Peptide::setCleavageCterModification(), pappso::Peptide::setCleavageNterModification(), toProForma(), and pappso::MzIdentMlWriter::writeCvParam().

## getInstance() [1/2]

AaModificationP pappso::AaModification::getInstance | ( | const OboPsiModTerm & | oboterm | ) |

static

Definition at line 631 of file aamodification.cpp.

{
QMutexLocker locker(&m_mutex);
std::pair<MapAccessionModifications::iterator, bool> insert_res =
m_mapAccessionModifications.insert(
std::pair<QString, AaModificationP>(oboterm.getAccession(), nullptr));
if(!insert_res.second)
{
// Failed to insert, was there already by same key.
}
else
{
// Could insert (albeit with nullptr), was not there already by same key.
// Just assign to the *correct* pair member the pointer to an
// extemporaneously allocated AaModification.
insert_res.first->second = AaModification::createInstance(oboterm);
}
return insert_res.first->second;
}
pappso::AaModification::m_mutex
static QMutex m_mutex
Definition aamodification.h:159
pappso::AaModification::m_mapAccessionModifications
static MapAccessionModifications m_mapAccessionModifications
Definition aamodification.h:157

References createInstance(), pappso::OboPsiModTerm::getAccession(), m_mapAccessionModifications, and m_mutex.

## getInstance() [2/2]

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

static

Definition at line 368 of file aamodification.cpp.

{
try
{
QMutexLocker locker(&m_mutex);
MapAccessionModifications::iterator it = m_mapAccessionModifications.find(accession);
if(it == m_mapAccessionModifications.end())
{
// not found
std::pair<MapAccessionModifications::iterator, bool> insert_res =
m_mapAccessionModifications.insert(std::pair<QString, AaModificationP>(
accession, AaModification::createInstance(accession)));
it = insert_res.first;
}
else
{
// found
}
return it->second;
}
catch(ExceptionNotFound &e)
{
throw ExceptionNotFound(
QObject::tr("ERROR getting instance of : %1 NOT FOUND\n%2").arg(accession).arg(e.qwhat()));
}
catch(PappsoException &e)
{
throw PappsoException(
QObject::tr("ERROR getting instance of %1\n%2").arg(accession).arg(e.qwhat()));
}
catch(std::exception &e)
{
throw PappsoException(
QObject::tr("ERROR getting instance of %1\n%2").arg(accession).arg(e.what()));
}
}

References createInstance(), m_mapAccessionModifications, m_mutex, pappso::PappsoException::qwhat(), and pappso::PappsoException::what().

Referenced by pappso::Peptide::Peptide(), pappso::PeptideFragmentIonListBase::PeptideFragmentIonListBase(), pappso::cbor::psm::PsmSpecPeptidOms::PsmSpecPeptidOms(), pappso::specglob::PostTreatment::findReplaceMutations(), getInstanceInsertionAccessionByAaLetter(), getInstanceRemovalAccessionByAaLetter(), getInstanceXtandemMod(), pappso::Utils::guessAaModificationPbyMonoisotopicMassDelta(), pappso::PeptideModificatorPipeline::parseFixedModification(), pappso::PeptideModificatorPipeline::parseLabeledModification(), pappso::PeptideModificatorPipeline::parsePotentialModification(), pappso::PeptideProFormaParser::parseStringToPeptide(), pappso::PeptideStrParser::parseStringToPeptide(), pappso::cbor::psm::MzIdentMlReader::readPeptide(), and pappso::Utils::translateAaModificationFromUnimod().

## getInstanceCustomizedMod()

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

static

Definition at line 349 of file aamodification.cpp.

{
QString accession = QString("%1").arg(modificationMass);
qDebug() << accession;
QMutexLocker locker(&m_mutex);
if(m_mapAccessionModifications.find(accession) == m_mapAccessionModifications.end())
{
// not found
m_mapAccessionModifications.insert(std::pair<QString, AaModification *>(
accession, new AaModification(accession, modificationMass)));
}
else
{
// found
}
return m_mapAccessionModifications.at(accession);
}

References AaModification(), m_mapAccessionModifications, and m_mutex.

Referenced by pappso::Utils::guessAaModificationPbyMonoisotopicMassDelta(), pappso::PeptideStrParser::parseStringToPeptide(), and pappso::cbor::psm::MzIdentMlReader::readPeptide().

## getInstanceInsertionAccessionByAaLetter()

AaModificationP pappso::AaModification::getInstanceInsertionAccessionByAaLetter | ( | const QChar & | amino_acid | ) |

static

get a PSI MOD instance corresponding to the insertion of the given amino acid find the modifications.

insertion of residue id: MOD:01441 name: natural, standard, encoded residue

Parameters

  amino_acid | orginal amino acid letter

Returns
  AaModificationP

Definition at line 513 of file aamodification.cpp.

{
pappso::AaModificationP aa_insert = nullptr;
switch(amino_acid.toLatin1())
{
// Enums::AminoAcidChar::alanine
case 'A':
aa_insert = getInstance("MOD:00010");
break;
// Enums::AminoAcidChar::arginine,
case 'R':
aa_insert = getInstance("MOD:00011");
break;
// Enums::AminoAcidChar::cysteine,
case 'C':
aa_insert = getInstance("MOD:00014");
break;
// Enums::AminoAcidChar::aspartic_acid,
case 'D':
aa_insert = getInstance("MOD:00013");
break;
// Enums::AminoAcidChar::glutamic_acid,
case 'E':
aa_insert = getInstance("MOD:00015");
break;
// Enums::AminoAcidChar::phenylalanine,
case 'F':
aa_insert = getInstance("MOD:00023");
break;
// Enums::AminoAcidChar::glycine,
case 'G':
aa_insert = getInstance("MOD:00017");
break;
// Enums::AminoAcidChar::histidine,
case 'H':
aa_insert = getInstance("MOD:00018");
break;
// Enums::AminoAcidChar::isoleucine,
case 'I':
aa_insert = getInstance("MOD:00019");
break;
// Enums::AminoAcidChar::lysine,
case 'K':
aa_insert = getInstance("MOD:00021");
break;
// Enums::AminoAcidChar::leucine,
case 'L':
aa_insert = getInstance("MOD:00020");
break;
// Enums::AminoAcidChar::methionine,
case 'M':
aa_insert = getInstance("MOD:00022");
break;
// Enums::AminoAcidChar::asparagine,
case 'N':
aa_insert = getInstance("MOD:00012");
break;
// Enums::AminoAcidChar::proline,
case 'P':
aa_insert = getInstance("MOD:00024");
break;
// Enums::AminoAcidChar::glutamine,
case 'Q':
aa_insert = getInstance("MOD:00016");
break;
// Enums::AminoAcidChar::serine,
case 'S':
aa_insert = getInstance("MOD:00025");
break;
// Enums::AminoAcidChar::threonine,
case 'T':
aa_insert = getInstance("MOD:00026");
break;
// Enums::AminoAcidChar::valine,
case 'V':
aa_insert = getInstance("MOD:00029");
break;
// Enums::AminoAcidChar::tryptophan,
case 'W':
aa_insert = getInstance("MOD:00027");
break;
// Enums::AminoAcidChar::tyrosine,
case 'Y':
aa_insert = getInstance("MOD:00028");
break;
// Enums::AminoAcidChar::selenocysteine,
case 'U':
aa_insert = getInstance("MOD:00031");
break;
default:
throw ExceptionNotFound(
QObject::tr("ERROR getting removal accession instance of amino acid: "
"%1 NOT FOUND")
.arg(amino_acid));
}
return aa_insert;
}
pappso::AaModification::getInstance
static AaModificationP getInstance(const QString &accession)
Definition aamodification.cpp:368

References getInstance().

Referenced by pappso::specglob::PeptideModel::checkForMutation(), pappso::specglob::PeptideModel::checkForMutations(), and toProForma().

## 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_from | orginal amino acid
  mut_to | targeted amino acid

Definition at line 825 of file aamodification.cpp.

{
QString accession(QString("MUTATION:%1=>%2").arg(mut_from).arg(mut_to));
try
{
QMutexLocker locker(&m_mutex);
MapAccessionModifications::iterator it = m_mapAccessionModifications.find(accession);
if(it == m_mapAccessionModifications.end())
{
Aa aa_from(mut_from.toLatin1());
Aa aa_to(mut_to.toLatin1());
AaModificationP instance_mutation = createInstanceMutation(aa_from, aa_to);
std::pair<MapAccessionModifications::iterator, bool> insert_res =
m_mapAccessionModifications.insert(
std::pair<QString, AaModificationP>(accession, instance_mutation));
it = insert_res.first;
}
else
{
// found
}
return it->second;
}
catch(ExceptionNotFound &e)
{
throw ExceptionNotFound(
QObject::tr("ERROR getting instance of : %1 NOT FOUND\n%2").arg(accession).arg(e.qwhat()));
}
catch(PappsoException &e)
{
throw PappsoException(
QObject::tr("ERROR getting instance of %1\n%2").arg(accession).arg(e.qwhat()));
}
catch(std::exception &e)
{
throw PappsoException(
QObject::tr("ERROR getting instance of %1\n%2").arg(accession).arg(e.what()));
}
}

References createInstanceMutation(), m_mapAccessionModifications, m_mutex, pappso::PappsoException::qwhat(), and pappso::PappsoException::what().

## getInstanceRemovalAccessionByAaLetter()

AaModificationP pappso::AaModification::getInstanceRemovalAccessionByAaLetter | ( | const QChar & | amino_acid | ) |

static

get a PSI MOD instance corresponding to the removal of the given amino acid find the modifications that corresponds to the removal of a residue id: MOD:01651 name: natural, standard, encoded residue removal

Parameters

  amino_acid | orginal amino acid letter

Returns
  AaModificationP

Definition at line 407 of file aamodification.cpp.

{
switch(amino_acid.toLatin1())
{
// Enums::AminoAcidChar::alanine
case 'A':
return getInstance("MOD:01631");
break;
// Enums::AminoAcidChar::arginine,
case 'R':
return getInstance("MOD:01632");
break;
// Enums::AminoAcidChar::cysteine,
case 'C':
return getInstance("MOD:01635");
break;
// Enums::AminoAcidChar::aspartic_acid,
case 'D':
return getInstance("MOD:01634");
break;
// Enums::AminoAcidChar::glutamic_acid,
case 'E':
return getInstance("MOD:01636");
break;
// Enums::AminoAcidChar::phenylalanine,
case 'F':
return getInstance("MOD:01644");
break;
// Enums::AminoAcidChar::glycine,
case 'G':
return getInstance("MOD:01638");
break;
// Enums::AminoAcidChar::histidine,
case 'H':
return getInstance("MOD:01639");
break;
// Enums::AminoAcidChar::isoleucine,
case 'I':
return getInstance("MOD:01640");
break;
// Enums::AminoAcidChar::lysine,
case 'K':
return getInstance("MOD:01642");
break;
// Enums::AminoAcidChar::leucine,
case 'L':
return getInstance("MOD:01641");
break;
// Enums::AminoAcidChar::methionine,
case 'M':
return getInstance("MOD:01643");
break;
// Enums::AminoAcidChar::asparagine,
case 'N':
return getInstance("MOD:01633");
break;
// Enums::AminoAcidChar::proline,
case 'P':
return getInstance("MOD:01645");
break;
// Enums::AminoAcidChar::glutamine,
case 'Q':
return getInstance("MOD:01637");
break;
// Enums::AminoAcidChar::serine,
case 'S':
return getInstance("MOD:01646");
break;
// Enums::AminoAcidChar::threonine,
case 'T':
return getInstance("MOD:01647");
break;
// Enums::AminoAcidChar::valine,
case 'V':
return getInstance("MOD:01650");
break;
// Enums::AminoAcidChar::tryptophan,
case 'W':
return getInstance("MOD:01648");
break;
// Enums::AminoAcidChar::tyrosine,
case 'Y':
return getInstance("MOD:01649");
break;
default:
throw ExceptionNotFound(
QObject::tr("ERROR getting removal accession instance of amino acid: "
"%1 NOT FOUND")
.arg(amino_acid));
}
}

References getInstance().

Referenced by pappso::specglob::PeptideModel::checkForMutation(), pappso::specglob::PeptideModel::checkForMutations(), toProForma(), and pappso::specglob::PeptideModel::toProForma().

## getInstanceXtandemMod()

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

static

Definition at line 657 of file aamodification.cpp.

{
PrecisionPtr precision = PrecisionFactory::getDaltonInstance(0.001);
if(MzRange(mass, precision).contains(getInstance("MOD:00719")->getMass()))
{
if(type == "M")
{
return getInstance("MOD:00719");
}
if(type == "K")
{
return getInstance("MOD:01047");
}
}
// accession== "MOD:00057"
if(MzRange(mass, precision).contains(getInstance("MOD:00408")->getMass()))
{
// id: MOD:00394
// name: acetylated residue
// potential N-terminus modifications
if(position == 0)
{
return getInstance("MOD:00408");
}
}
if(MzRange(mass, precision).contains(getInstance("MOD:01160")->getMass()))
{
//-17.02655
// loss of ammonia [MOD:01160] -17.026549
return getInstance("MOD:01160");
}
if(MzRange(mass, precision).contains(getInstance("MOD:01060")->getMass()))
{
//// iodoacetamide [MOD:00397] 57.021464
if(type == "C")
{
return getInstance("MOD:01060");
}
else
{
return getInstance("MOD:00397");
}
}
if(MzRange(mass, precision).contains(getInstance("MOD:00704")->getMass()))
{
// loss of water
/*
if (position == 0) {
if (peptide_sp.get()->getSequence().startsWith("EG")) {
return getInstance("MOD:00365");
}
if (peptide_sp.get()->getSequence().startsWith("ES")) {
return getInstance("MOD:00953");
}
if (type == "E") {
return getInstance("MOD:00420");
}
}
*/
// dehydrated residue [MOD:00704] -18.010565
return getInstance("MOD:00704");
}
if(MzRange(mass, precision).contains(getInstance("MOD:00696")->getMass()))
{
// phosphorylated residue [MOD:00696] 79.966330
return getInstance("MOD:00696");
}
bool isCter = false;
if(peptide_sp.get()->size() == (position + 1))
{
isCter = true;
}
if((position == 0) || isCter)
{
if(MzRange(mass, precision).contains(getInstance("MOD:00429")->getMass()))
{
// dimethyl
return getInstance("MOD:00429");
}
if(MzRange(mass, precision).contains(getInstance("MOD:00552")->getMass()))
{
// 4x(2)H labeled dimethyl residue
return getInstance("MOD:00552");
}
if(MzRange(mass, precision).contains(getInstance("MOD:00638")->getMass()))
{
// 2x(13)C,6x(2)H-dimethylated arginine
return getInstance("MOD:00638");
}
}
throw PappsoException(QObject::tr("tandem modification not found : %1 %2 %3 %4")
.arg(type)
.arg(mass)
.arg(peptide_sp.get()->getSequence())
.arg(position));
}
pappso::AaModification::getMass
pappso_double getMass() const
Definition aamodification.cpp:759
pappso::PrecisionFactory::getDaltonInstance
static PrecisionPtr getDaltonInstance(pappso_double value)
get a Dalton precision pointer
Definition precision.cpp:136
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition precision.h:122

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

## getMass()

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

Definition at line 759 of file aamodification.cpp.

{
return m_mass;
}

References m_mass.

Referenced by pappso::PeptideRawFragmentMasses::PeptideRawFragmentMasses(), pappso::specglob::PeptideModel::checkForAaModificationP(), pappso::specglob::PeptideModel::checkForMutation(), pappso::specglob::PeptideModel::checkForMutations(), getInstanceXtandemMod(), pappso::cbor::psm::SageReader::getStaticModificationList(), pappso::cbor::psm::SageReader::getVariableModificationList(), and pappso::Utils::guessAaModificationPbyMonoisotopicMassDelta().

## getName()

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

Definition at line 137 of file aamodification.cpp.

{
return m_name;
}

References m_name.

Referenced by pappso::MzIdentMlWriter::writeCvParam().

## getNumberOfAtom()

int pappso::AaModification::getNumberOfAtom | ( | Enums::AtomIsotopeSurvey | atom | ) | const

final override virtual

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

Implements pappso::AtomNumberInterface.

Definition at line 766 of file aamodification.cpp.

{
// qDebug() << "AaModification::getNumberOfAtom(Enums::AtomIsotopeSurvey atom) NOT
// IMPLEMENTED";
return m_atomCount.at(atom);
}

References m_atomCount.

## getNumberOfIsotope()

int pappso::AaModification::getNumberOfIsotope | ( | Enums::Isotope | isotope | ) | const

final override virtual

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

Implements pappso::AtomNumberInterface.

Definition at line 775 of file aamodification.cpp.

{
try
{
return m_mapIsotope.at(isotope);
}
catch(std::exception &e)
{
throw PappsoException(
QObject::tr("ERROR in AaModification::getNumberOfIsotope %2").arg(e.what()));
}
}

References m_mapIsotope.

## getXrefOrigin()

const QString & pappso::AaModification::getXrefOrigin | ( |  | ) | const

get list of amino acid on which this modification takes place

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

Definition at line 143 of file aamodification.cpp.

{
return m_origin;
}

References m_origin.

## isInternal()

bool pappso::AaModification::isInternal | ( |  | ) | const

Definition at line 790 of file aamodification.cpp.

{
if(m_accession.startsWith("internal:"))
{
return true;
}
return false;
}

References m_accession.

## setDiffFormula()

void pappso::AaModification::setDiffFormula | ( | const pappso::ChemicalFormula & | diff_formula | ) |

protected

Definition at line 962 of file aamodification.cpp.

{
m_atomCount[Enums::AtomIsotopeSurvey::C] =
diff_formula.getNumberOfAtom(Enums::AtomIsotopeSurvey::C);
m_atomCount[Enums::AtomIsotopeSurvey::H] =
diff_formula.getNumberOfAtom(Enums::AtomIsotopeSurvey::H);
m_atomCount[Enums::AtomIsotopeSurvey::N] =
diff_formula.getNumberOfAtom(Enums::AtomIsotopeSurvey::N);
m_atomCount[Enums::AtomIsotopeSurvey::O] =
diff_formula.getNumberOfAtom(Enums::AtomIsotopeSurvey::O);
m_atomCount[Enums::AtomIsotopeSurvey::S] =
diff_formula.getNumberOfAtom(Enums::AtomIsotopeSurvey::S);
m_atomCount[Enums::AtomIsotopeSurvey::P] =
diff_formula.getNumberOfAtom(Enums::AtomIsotopeSurvey::P);
for(Enums::Isotope isotope : {Enums::Isotope::C13,
Enums::Isotope::H2,
Enums::Isotope::N15,
Enums::Isotope::O17,
Enums::Isotope::O18,
Enums::Isotope::S33,
Enums::Isotope::S34,
Enums::Isotope::S36})
{
m_mapIsotope.at(isotope) = diff_formula.getNumberOfIsotope(isotope);
}
calculateMassFromChemicalComponents();
}
pappso::AaModification::calculateMassFromChemicalComponents
void calculateMassFromChemicalComponents()
Definition aamodification.cpp:282
pappso::ChemicalFormula::getNumberOfIsotope
int getNumberOfIsotope(Enums::Isotope isotope) const override
get the number of isotopes C13, H2, O17, O18, N15, S33, S34, S36 in the molecule
Definition chemicalformula.cpp:284
pappso::ChemicalFormula::getNumberOfAtom
int getNumberOfAtom(Enums::AtomIsotopeSurvey atom) const override
get the number of atom C, O, N, H in the molecule
Definition chemicalformula.cpp:240
pappso::Enums::Isotope
Isotope
Definition types.h:126

References pappso::Enums::C, pappso::Enums::C13, calculateMassFromChemicalComponents(), pappso::ChemicalFormula::getNumberOfAtom(), pappso::ChemicalFormula::getNumberOfIsotope(), pappso::Enums::H, pappso::Enums::H2, m_atomCount, m_mapIsotope, pappso::Enums::N, pappso::Enums::N15, pappso::Enums::O, pappso::Enums::O17, pappso::Enums::O18, pappso::Enums::P, pappso::Enums::S, pappso::Enums::S33, pappso::Enums::S34, and pappso::Enums::S36.

Referenced by createInstance().

## 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 274 of file aamodification.cpp.

{
// xref: Origin: "N"
// xref: Origin: "X"
m_origin = origin;
}

References m_origin.

Referenced by createInstance().

## toProForma()

const QString pappso::AaModification::toProForma | ( |  | ) | const

get the amino acid in ProForma notation https://github.com/HUPO-PSI/ProForma/blob/master/README.md

Returns
  QString as described in ProForma

Definition at line 103 of file aamodification.cpp.

{
QString str_return;
// qDebug();
if(m_accession.startsWith("MOD:"))
return m_accession;
if(m_accession.startsWith("UNIMOD:"))
return m_accession;
if(m_accession.startsWith("internal:"))
return str_return;
if(m_accession.startsWith("MUTATION:"))
{
// MUTATION:%1=>%2
QStringList aa_list = m_accession.mid(9).split("=>");
// first, find removal accession
return QString("%1][%2")
.arg(getInstanceRemovalAccessionByAaLetter(aa_list[0].at(0))->getAccession())
.arg(getInstanceInsertionAccessionByAaLetter(aa_list[1].at(0))->getAccession());
}
if(m_mass > 0)
{
return QString("+%1").arg(QString::number(m_mass, 'f', 4));
}
else
{
return QString("%1").arg(QString::number(m_mass, 'f', 4));
}
return str_return;
}
pappso::AaModification::getAccession
const QString & getAccession() const
Definition aamodification.cpp:94
pappso::AaModification::getInstanceRemovalAccessionByAaLetter
static AaModificationP getInstanceRemovalAccessionByAaLetter(const QChar &amino_acid)
get a PSI MOD instance corresponding to the removal of the given amino acid find the modifications th...
Definition aamodification.cpp:407
pappso::AaModification::getInstanceInsertionAccessionByAaLetter
static AaModificationP getInstanceInsertionAccessionByAaLetter(const QChar &amino_acid)
get a PSI MOD instance corresponding to the insertion of the given amino acid find the modifications.
Definition aamodification.cpp:513

References getAccession(), getInstanceInsertionAccessionByAaLetter(), getInstanceRemovalAccessionByAaLetter(), m_accession, and m_mass.

## Member Data Documentation

## m_accession

const QString pappso::AaModification::m_accession

protected

Definition at line 122 of file aamodification.h.

Referenced by AaModification(), AaModification(), calculateMassFromChemicalComponents(), getAccession(), isInternal(), and toProForma().

## m_atomCount

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

private

Definition at line 153 of file aamodification.h.

Referenced by AaModification(), AaModification(), calculateMassFromChemicalComponents(), createInstanceMutation(), getNumberOfAtom(), and setDiffFormula().

## m_mapAccessionModifications

AaModification::MapAccessionModifications pappso::AaModification::m_mapAccessionModifications

static private

Initial value:
= [] {
MapAccessionModifications ret;
return ret;
}()
pappso::AaModification::MapAccessionModifications
std::map< QString, AaModificationP > MapAccessionModifications
Definition aamodification.h:147

Definition at line 157 of file aamodification.h.

Referenced by getInstance(), getInstance(), getInstanceCustomizedMod(), and getInstanceMutation().

## m_mapIsotope

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

private

Definition at line 154 of file aamodification.h.

Referenced by AaModification(), AaModification(), calculateMassFromChemicalComponents(), getNumberOfIsotope(), and setDiffFormula().

## m_mass

pappso_double pappso::AaModification::m_mass

private

Definition at line 151 of file aamodification.h.

Referenced by AaModification(), AaModification(), calculateMassFromChemicalComponents(), createInstance(), getMass(), and toProForma().

## m_mutex

QMutex pappso::AaModification::m_mutex

static private

Definition at line 159 of file aamodification.h.

Referenced by getInstance(), getInstance(), getInstanceCustomizedMod(), and getInstanceMutation().

## m_name

QString pappso::AaModification::m_name

protected

Definition at line 123 of file aamodification.h.

Referenced by AaModification(), createInstance(), createInstanceMutation(), and getName().

## m_origin

QString pappso::AaModification::m_origin

private

Definition at line 152 of file aamodification.h.

Referenced by AaModification(), getXrefOrigin(), and setXrefOrigin().

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

- pappsomspp/core/amino_acid/aamodification.h
- pappsomspp/core/amino_acid/aamodification.cpp