libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
peptidebase.cpp
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/masschroq/peptidebase.cpp
3
* \date 24/01/2025
4
* \author Olivier Langella
5
* \brief peptide model base in masschroqlite
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2025 Olivier Langella
10
*<Olivier.Langella@universite-paris-saclay.fr>.
11
*
12
* This file is part of MassChroQ.
13
*
14
* MassChroQ is free software: you can redistribute it and/or modify
15
* it under the terms of the GNU General Public License as published by
16
* the Free Software Foundation, either version 3 of the License, or
17
* (at your option) any later version.
18
*
19
* MassChroQ is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
* GNU General Public License for more details.
23
*
24
* You should have received a copy of the GNU General Public License
25
* along with MassChroQ. If not, see <http://www.gnu.org/licenses/>.
26
*
27
******************************************************************************/
28
29
#include "
peptidebase.h
"
30
31
pappso::masschroq::PeptideBase::PeptideBase
(
const
pappso::PeptideSp
&peptide_sp)
32
:
msp_peptide
(peptide_sp)
33
{
34
}
35
36
pappso::masschroq::PeptideBase::~PeptideBase
()
37
{
38
}
39
40
41
const
pappso::PeptideSp
&
42
pappso::masschroq::PeptideBase::getPappsoPeptideSp
()
const
43
{
44
return
msp_peptide
;
45
}
46
47
void
48
pappso::masschroq::PeptideBase::computeIsotopologues
(
double
ni_min_abundance)
49
{
50
qDebug();
51
if
(ni_min_abundance > 0)
52
{
53
qDebug() <<
"if (_minimum_isotope_abundance > 0)"
;
54
mpa_peptideNaturalIsotopeList
=
new
pappso::PeptideNaturalIsotopeList
(
msp_peptide
, 0.001);
55
}
56
qDebug();
57
}
58
59
60
const
pappso::PeptideNaturalIsotopeList
*
61
pappso::masschroq::PeptideBase::getPeptideNaturalIsotopeList
()
const
62
{
63
return
mpa_peptideNaturalIsotopeList
;
64
}
65
66
const
std::vector<pappso::PeptideNaturalIsotopeAverageSp> &
67
pappso::masschroq::PeptideBase::getPeptideNaturalIsotopeAverageSpList
(
68
pappso::PrecisionPtr
precision, std::uint8_t charge,
double
ni_min_abundance)
69
{
70
71
QMutexLocker lock(&
m_mutex
);
72
if
(
m_niMinAbundance
== ni_min_abundance)
73
{
74
}
75
else
76
{
77
m_peptideNaturalIsotopeAverageSpListByCharge
.clear();
78
m_niMinAbundance
= ni_min_abundance;
79
}
80
81
auto
it =
m_peptideNaturalIsotopeAverageSpListByCharge
.find(charge);
82
if
(it !=
m_peptideNaturalIsotopeAverageSpListByCharge
.end())
83
{
84
if
(it->second.size() == 0)
85
{
86
it->second =
87
mpa_peptideNaturalIsotopeList
->getByIntensityRatio(charge, precision, ni_min_abundance);
88
}
89
90
return
it->second;
91
}
92
else
93
{
94
auto
it_insert =
m_peptideNaturalIsotopeAverageSpListByCharge
.insert(
95
{charge,
96
mpa_peptideNaturalIsotopeList
->getByIntensityRatio(charge, precision, ni_min_abundance)});
97
98
return
it_insert.first->second;
99
}
100
}
pappso::PeptideNaturalIsotopeList
Definition
peptidenaturalisotopelist.h:49
pappso::masschroq::PeptideBase::m_niMinAbundance
double m_niMinAbundance
Definition
peptidebase.h:92
pappso::masschroq::PeptideBase::msp_peptide
const pappso::PeptideSp msp_peptide
Definition
peptidebase.h:88
pappso::masschroq::PeptideBase::m_mutex
QMutex m_mutex
Definition
peptidebase.h:93
pappso::masschroq::PeptideBase::getPeptideNaturalIsotopeList
virtual const pappso::PeptideNaturalIsotopeList * getPeptideNaturalIsotopeList() const
get list of isotopes for this peptide needs computeIsotopologues before
Definition
peptidebase.cpp:61
pappso::masschroq::PeptideBase::computeIsotopologues
virtual void computeIsotopologues(double ni_min_abundance)
compute possible isotopes for this molecule
Definition
peptidebase.cpp:48
pappso::masschroq::PeptideBase::~PeptideBase
virtual ~PeptideBase()
Definition
peptidebase.cpp:36
pappso::masschroq::PeptideBase::getPeptideNaturalIsotopeAverageSpList
virtual const std::vector< pappso::PeptideNaturalIsotopeAverageSp > & getPeptideNaturalIsotopeAverageSpList(pappso::PrecisionPtr precision, std::uint8_t charge, double ni_min_abundance)
get possible and distinguishable masses of isotopes get list of distinguishable isotopes given the ch...
Definition
peptidebase.cpp:67
pappso::masschroq::PeptideBase::getPappsoPeptideSp
virtual const pappso::PeptideSp & getPappsoPeptideSp() const
get the peptide sequence
Definition
peptidebase.cpp:42
pappso::masschroq::PeptideBase::PeptideBase
PeptideBase(const pappso::PeptideSp &peptide_sp)
Definition
peptidebase.cpp:31
pappso::masschroq::PeptideBase::mpa_peptideNaturalIsotopeList
pappso::PeptideNaturalIsotopeList * mpa_peptideNaturalIsotopeList
Definition
peptidebase.h:89
pappso::masschroq::PeptideBase::m_peptideNaturalIsotopeAverageSpListByCharge
std::map< std::uint8_t, std::vector< pappso::PeptideNaturalIsotopeAverageSp > > m_peptideNaturalIsotopeAverageSpListByCharge
Definition
peptidebase.h:91
pappso::PeptideSp
std::shared_ptr< const Peptide > PeptideSp
Definition
aamodification.h:48
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition
precision.h:122
peptidebase.h
pappsomspp
core
masschroq
peptidebase.cpp
Generated on
for libpappsomspp by
1.17.0