libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
massspectrumid.cpp
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
25
#include <QRegularExpressionMatch>
26
#include <limits>
27
#include "
massspectrumid.h
"
28
29
namespace
pappso
30
{
31
32
33
MassSpectrumId::MassSpectrumId
()
34
{
35
}
36
37
38
MassSpectrumId::MassSpectrumId
(
const
MsRunIdCstSPtr
&msRunId) :
mcsp_msRunId
(msRunId)
39
{
40
}
41
42
43
MassSpectrumId::MassSpectrumId
(
const
MsRunIdCstSPtr
&msRunId, std::size_t spectrum_index)
44
:
mcsp_msRunId
(msRunId),
m_nativeId
(
""
),
m_spectrumIndex
(spectrum_index)
45
{
46
}
47
48
49
MassSpectrumId::MassSpectrumId
(
const
MassSpectrumId
&other)
50
:
mcsp_msRunId
(other.
mcsp_msRunId
),
51
m_nativeId
(other.
m_nativeId
),
52
m_spectrumIndex
(other.
m_spectrumIndex
)
53
{
54
}
55
56
57
MassSpectrumId::~MassSpectrumId
()
58
{
59
}
60
61
62
MassSpectrumId
&
63
MassSpectrumId::operator=
(
const
MassSpectrumId
&other)
64
{
65
if
(&other ==
this
)
66
return
*
this
;
67
68
mcsp_msRunId
= other.
mcsp_msRunId
;
69
m_spectrumIndex
= other.
m_spectrumIndex
;
70
m_nativeId
= other.
m_nativeId
;
71
72
return
*
this
;
73
}
74
75
76
void
77
MassSpectrumId::setMsRunId
(
MsRunIdCstSPtr
other)
78
{
79
80
mcsp_msRunId
= other;
81
};
82
83
84
const
MsRunIdCstSPtr
&
85
MassSpectrumId::getMsRunIdCstSPtr
()
const
86
{
87
return
mcsp_msRunId
;
88
};
89
90
91
void
92
MassSpectrumId::setNativeId
(
const
QString &native_id)
93
{
94
m_nativeId
= native_id;
95
}
96
97
98
const
QString &
99
MassSpectrumId::getNativeId
()
const
100
{
101
return
m_nativeId
;
102
}
103
104
105
void
106
MassSpectrumId::setSpectrumIndex
(std::size_t index)
107
{
108
m_spectrumIndex
= index;
109
}
110
111
112
std::size_t
113
MassSpectrumId::getSpectrumIndex
()
const
114
{
115
return
m_spectrumIndex
;
116
}
117
118
119
bool
120
MassSpectrumId::operator==
(
const
MassSpectrumId
&other)
const
121
{
122
return
(
mcsp_msRunId
== other.
mcsp_msRunId
&&
m_spectrumIndex
== other.
m_spectrumIndex
);
123
}
124
125
bool
126
MassSpectrumId::isValid
()
const
127
{
128
return
mcsp_msRunId
->isValid() &&
m_spectrumIndex
!= std::numeric_limits<std::size_t>::max();
129
}
130
131
132
QString
133
MassSpectrumId::toString
()
const
134
{
135
return
QString(
136
"ms run id: %1 \n"
137
"native id: %2 \n"
138
"m_spectrumIndex: %3\n"
)
139
.arg(
mcsp_msRunId
!=
nullptr
?
mcsp_msRunId
->toString() :
"nullptr"
)
140
.arg(
m_nativeId
)
141
.arg(
m_spectrumIndex
);
142
}
143
144
std::size_t
145
MassSpectrumId::extractScanNumberFromNativeId
(
bool
*is_ok)
const
146
{
147
*is_ok =
false
;
148
149
QRegularExpression regexp_scan(
"scan=([0-9]+)"
);
150
QRegularExpressionMatch match = regexp_scan.match(
m_nativeId
);
151
if
(match.hasMatch())
152
{
153
return
match.captured(0).toInt(is_ok);
154
}
155
return
0;
156
}
157
}
// namespace pappso
pappso::MassSpectrumId
Definition
massspectrumid.h:41
pappso::MassSpectrumId::setNativeId
void setNativeId(const QString &native_id)
Definition
massspectrumid.cpp:92
pappso::MassSpectrumId::setMsRunId
void setMsRunId(MsRunIdCstSPtr other)
Definition
massspectrumid.cpp:77
pappso::MassSpectrumId::operator=
MassSpectrumId & operator=(const MassSpectrumId &other)
Definition
massspectrumid.cpp:63
pappso::MassSpectrumId::MassSpectrumId
MassSpectrumId()
Definition
massspectrumid.cpp:33
pappso::MassSpectrumId::toString
QString toString() const
Definition
massspectrumid.cpp:133
pappso::MassSpectrumId::getSpectrumIndex
std::size_t getSpectrumIndex() const
Definition
massspectrumid.cpp:113
pappso::MassSpectrumId::setSpectrumIndex
void setSpectrumIndex(std::size_t index)
Definition
massspectrumid.cpp:106
pappso::MassSpectrumId::getNativeId
const QString & getNativeId() const
Definition
massspectrumid.cpp:99
pappso::MassSpectrumId::extractScanNumberFromNativeId
std::size_t extractScanNumberFromNativeId(bool *is_ok) const
try to find scan id in the native id string
Definition
massspectrumid.cpp:145
pappso::MassSpectrumId::~MassSpectrumId
~MassSpectrumId()
Definition
massspectrumid.cpp:57
pappso::MassSpectrumId::m_spectrumIndex
std::size_t m_spectrumIndex
Definition
massspectrumid.h:90
pappso::MassSpectrumId::isValid
bool isValid() const
Definition
massspectrumid.cpp:126
pappso::MassSpectrumId::operator==
bool operator==(const MassSpectrumId &other) const
Definition
massspectrumid.cpp:120
pappso::MassSpectrumId::mcsp_msRunId
MsRunIdCstSPtr mcsp_msRunId
Definition
massspectrumid.h:76
pappso::MassSpectrumId::m_nativeId
QString m_nativeId
Definition
massspectrumid.h:85
pappso::MassSpectrumId::getMsRunIdCstSPtr
const MsRunIdCstSPtr & getMsRunIdCstSPtr() const
Definition
massspectrumid.cpp:85
massspectrumid.h
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::MsRunIdCstSPtr
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
Definition
msrunid.h:46
pappsomspp
core
massspectrum
massspectrumid.cpp
Generated on
for libpappsomspp by
1.17.0