libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
peptidenaturalisotopeaverage.h
Go to the documentation of this file.
1/*******************************************************************************
2 * Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
3 *
4 * This file is part of the PAPPSOms++ library.
5 *
6 * PAPPSOms++ is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * PAPPSOms++ is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * Contributors:
20 * Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
21 *implementation
22 ******************************************************************************/
23
24#pragma once
25
26
27#include <vector>
28
29#include "../exportinmportconfig.h"
31
32namespace pappso
33{
34
35class PeptideNaturalIsotopeList;
36
37class PeptideNaturalIsotopeAverage;
38
39typedef std::shared_ptr<const PeptideNaturalIsotopeAverage>
41
43{
44 public:
45 /** @brief fast constructor
46 * simple isotope build, not computing isotope ratio
47 */
49 unsigned int isotopeNumber,
50 unsigned int charge,
51 PrecisionPtr precision);
52
54 unsigned int askedIsotopeRank,
55 unsigned int isotopeLevel,
56 unsigned int charge,
57 PrecisionPtr precision);
59 unsigned int askedIsotopeRank,
60 unsigned int isotopeLevel,
61 unsigned int charge,
62 PrecisionPtr precision);
63
66
67 PeptideNaturalIsotopeAverageSp makePeptideNaturalIsotopeAverageSp() const;
68 pappso_double getMz() const;
69 pappso_double getIntensityRatio() const;
70 unsigned int getCharge() const;
71 unsigned int getIsotopeNumber() const;
72 unsigned int getIsotopeRank() const;
73 const std::vector<PeptideNaturalIsotopeSp> &getComponents() const;
74 const PeptideInterfaceSp &getPeptideInterfaceSp() const;
75 PrecisionPtr getPrecision() const;
76 virtual bool matchPeak(pappso_double peak_mz) const final;
77 bool isEmpty() const;
78 virtual QString toString() const;
79
80 private:
81 void recursiveDepletion(std::vector<PeptideNaturalIsotopeSp> &v_isotope_list,
82 unsigned int rank);
83
84
85 private:
87 std::vector<PeptideNaturalIsotopeSp> m_peptideNaturalIsotopeSpList;
88
91 unsigned int m_isotopeLevel;
92 unsigned int m_isotopeRank = 1;
93 unsigned int m_z;
94 PrecisionPtr mp_precision = nullptr;
95};
96} // namespace pappso
std::vector< PeptideNaturalIsotopeSp > m_peptideNaturalIsotopeSpList
#define PMSPP_LIB_DECL
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< const PeptideInterface > PeptideInterfaceSp
double pappso_double
A type definition for doubles.
Definition types.h:50
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp
peptide natural isotope model