libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
peptidebase.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/masschroq/peptidebase.h
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
#pragma once
30
31
32
#include "
../peptide/peptidenaturalisotopelist.h
"
33
34
namespace
pappso::masschroq
35
{
36
/**
37
* @todo write docs
38
*/
39
class
PeptideBase
40
{
41
public
:
42
/**
43
* Default constructor
44
*/
45
PeptideBase
(
const
pappso::PeptideSp
&peptide_sp);
46
47
/**
48
* Destructor
49
*/
50
virtual
~PeptideBase
();
51
52
53
/** @brief get the peptide sequence
54
* @return pappso::PeptideSp const reference
55
*/
56
virtual
const
pappso::PeptideSp
&
getPappsoPeptideSp
()
const
;
57
58
/** @brief compute possible isotopes for this molecule
59
* @param ni_min_abundance the minimal isotop abundance proportion to cover
60
* (0.9 will compute isotopes to reach at least 90% of its theoretical
61
* abundance
62
*/
63
virtual
void
computeIsotopologues
(
double
ni_min_abundance);
64
65
/** @brief get list of isotopes for this peptide
66
* needs computeIsotopologues before
67
*
68
* @return pappso::PeptideNaturalIsotopeList pointer to all possible isotopes
69
* (C13, H2, N15...)
70
*/
71
virtual
const
pappso::PeptideNaturalIsotopeList
*
72
getPeptideNaturalIsotopeList
()
const
;
73
74
75
/** @brief get possible and distinguishable masses of isotopes
76
* get list of distinguishable isotopes given the charge and mass precision
77
* @param precision mass spectrometer MS1 precision
78
* @param charge number of H+
79
* @param ni_min_abundance select isotopes to regroup
80
* @return std::vector<pappso::PeptideNaturalIsotopeAverageSp> list
81
*/
82
virtual
const
std::vector<pappso::PeptideNaturalIsotopeAverageSp> &
83
getPeptideNaturalIsotopeAverageSpList
(
pappso::PrecisionPtr
precision,
84
std::uint8_t charge,
85
double
ni_min_abundance);
86
87
protected
:
88
const
pappso::PeptideSp
msp_peptide
;
89
pappso::PeptideNaturalIsotopeList
*
mpa_peptideNaturalIsotopeList
=
nullptr
;
90
std::map<std::uint8_t, std::vector<pappso::PeptideNaturalIsotopeAverageSp>>
91
m_peptideNaturalIsotopeAverageSpListByCharge
;
92
double
m_niMinAbundance
= 0;
93
QMutex
m_mutex
;
94
};
95
}
// namespace mcql
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::masschroq
Definition
alignmentmethod.h:38
pappso::PeptideSp
std::shared_ptr< const Peptide > PeptideSp
Definition
aamodification.h:48
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition
precision.h:122
peptidenaturalisotopelist.h
pappsomspp
core
masschroq
peptidebase.h
Generated on
for libpappsomspp by
1.17.0