libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
grpprotein.h
Go to the documentation of this file.
1
2/*******************************************************************************
3 * Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
4 *
5 * This file is part of the PAPPSOms++ library.
6 *
7 * PAPPSOms++ is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * PAPPSOms++ is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * Contributors:
21 * Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
22 *implementation
23 ******************************************************************************/
24
25#pragma once
26
27#include <memory>
28#include <vector>
29#include <QString>
30
31#include "grppeptide.h"
32
33namespace pappso
34{
35class GrpProtein;
36typedef std::shared_ptr<const GrpProtein> GrpProteinSpConst;
37typedef std::shared_ptr<GrpProtein> GrpProteinSp;
38
40{
41 friend class GrpExperiment;
42
43
44 public:
45 GrpProtein(const GrpProtein &other);
47 void push_back(GrpPeptide *p_grpPeptide);
48 bool operator==(const GrpProtein &other) const;
49
50 const QString &getAccession() const;
51 const QString &getDescription() const;
52 const QString getGroupingId() const;
53
54 typedef std::vector<GrpPeptide *>::const_iterator const_iterator;
55 const_iterator begin() const;
56 const_iterator end() const;
57 void setRank(unsigned int i);
58 void setGroupNumber(unsigned int i);
59 void setSubGroupNumber(unsigned int i);
60 unsigned int getGroupNumber() const;
61 unsigned int getSubGroupNumber() const;
62 unsigned int getRank() const;
63 unsigned int getCount() const;
64
65
66 protected:
67 GrpProtein(const QString &accession, const QString &description);
68
69 void countPlus();
70
71 /** @brief ensure that each peptide in peptide list is unique and sorted by
72 * pointer adress
73 */
74 void strip();
75
76
77 std::vector<GrpPeptide *> m_grpPeptidePtrList;
78
79 private:
80 const QString m_accession;
81 const QString m_description;
82 unsigned int m_groupNumber = 0;
83 unsigned int m_subGroupNumber = 0;
84 unsigned int m_rank = 0;
85 unsigned int m_count = 0;
86};
87} // namespace pappso
const QString m_accession
Definition grpprotein.h:80
const QString m_description
Definition grpprotein.h:81
std::vector< GrpPeptide * > m_grpPeptidePtrList
Definition grpprotein.h:77
std::vector< GrpPeptide * >::const_iterator const_iterator
Definition grpprotein.h:54
#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< GrpProtein > GrpProteinSp
Definition grpprotein.h:37
std::shared_ptr< const GrpProtein > GrpProteinSpConst
Definition grpprotein.h:36
bool operator==(Aa const &l, Aa const &r)
Definition aa.cpp:288