libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
timsmsfilereader.cpp
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/msfile/timsmsfilereader.cpp
3
* \date 06/09/2019
4
* \author Olivier Langella
5
* \brief MSrun file reader for native Bruker TimsTOF raw data
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.fr>.
10
*
11
* This file is part of the PAPPSOms++ library.
12
*
13
* PAPPSOms++ is free software: you can redistribute it and/or modify
14
* it under the terms of the GNU General Public License as published by
15
* the Free Software Foundation, either version 3 of the License, or
16
* (at your option) any later version.
17
*
18
* PAPPSOms++ is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25
*
26
******************************************************************************/
27
28
#include "
pappsomspp/core/msfile/timsmsfilereader.h
"
29
#include "
pappsomspp/core/vendors/tims/timsdata.h
"
30
#include "
pappsomspp/core/pappsoexception.h
"
31
#include "
pappsomspp/core/exception/exceptionnotrecognized.h
"
32
#include <QDebug>
33
#include <QFileInfo>
34
35
namespace
pappso
36
{
37
38
39
TimsMsFileReader::TimsMsFileReader
(
const
QString &file_name) :
MsFileReader
(file_name)
40
{
41
initialize
();
42
}
43
44
45
TimsMsFileReader::~TimsMsFileReader
()
46
{
47
}
48
49
50
std::size_t
51
TimsMsFileReader::initialize
()
52
{
53
54
m_fileFormat
=
Enums::MsDataFormat::unknown
;
55
try
56
{
57
TimsData
tims_data(
m_fileName
);
58
m_fileFormat
=
Enums::MsDataFormat::brukerTims
;
59
}
60
61
catch
(
ExceptionNotRecognized
&error)
62
{
63
qWarning() <<
"tims data not recognized initializing TimsData object:\n"
<< error.
qwhat
();
64
65
throw
pappso::ExceptionNotRecognized
(
66
QObject::tr(
"Bruker tims data file not recognized in %1 :\n%2"
)
67
.arg(
m_fileName
)
68
.arg(error.
qwhat
()));
69
return
0;
70
}
71
catch
(
PappsoException
&error)
72
{
73
m_fileFormat
=
Enums::MsDataFormat::brukerTims
;
74
throw
pappso::PappsoException
(QObject::tr(
"Error reading Bruker tims data in %1 :\n%2"
)
75
.arg(
m_fileName
)
76
.arg(error.
qwhat
()));
77
}
78
79
return
1;
80
}
81
82
83
Enums::MsDataFormat
84
TimsMsFileReader::getFileFormat
()
85
{
86
return
m_fileFormat
;
87
}
88
89
90
std::vector<MsRunIdCstSPtr>
91
TimsMsFileReader::getMsRunIds
(
const
QString &run_prefix)
92
{
93
std::vector<MsRunIdCstSPtr> ms_run_ids;
94
95
if
(!
initialize
())
96
return
ms_run_ids;
97
98
// Finally create the MsRunId with the file name.
99
MsRunId
ms_run_id(
m_fileName
);
100
ms_run_id.
setMsDataFormat
(
m_fileFormat
);
101
102
// We need to set the unambiguous xmlId string.
103
ms_run_id.
setXmlId
(QString(
"%1a1"
).arg(run_prefix));
104
105
ms_run_id.
setRunId
(
"a1"
);
106
107
// Now set the sample name to the run id:
108
109
ms_run_id.
setSampleName
(QFileInfo(
m_fileName
).baseName());
110
111
qDebug() <<
"Current ms_run_id:"
<< ms_run_id.
toString
();
112
113
// Finally make a shared pointer out of it and append it to the vector.
114
ms_run_ids.push_back(std::make_shared<MsRunId>(ms_run_id));
115
116
return
ms_run_ids;
117
}
118
119
120
}
// namespace pappso
pappso::ExceptionNotRecognized
excetion to use when an item type is not recognized
Definition
exceptionnotrecognized.h:42
pappso::MsFileReader::MsFileReader
MsFileReader(const QString &file_name)
Definition
msfilereader.cpp:19
pappso::MsFileReader::m_fileFormat
Enums::MsDataFormat m_fileFormat
Definition
msfilereader.h:17
pappso::MsFileReader::m_fileName
QString m_fileName
Definition
msfilereader.h:16
pappso::MsRunId
MS run identity MsRunId identifies an MS run with a unique ID (XmlId) and contains eventually informa...
Definition
msrunid.h:54
pappso::MsRunId::toString
QString toString() const
Definition
msrunid.cpp:203
pappso::MsRunId::setMsDataFormat
void setMsDataFormat(Enums::MsDataFormat format)
Definition
msrunid.cpp:168
pappso::MsRunId::setRunId
void setRunId(const QString &run_id)
Definition
msrunid.cpp:133
pappso::MsRunId::setXmlId
void setXmlId(const QString &xml_id)
set an XML unique identifier for this MsRunId
Definition
msrunid.cpp:147
pappso::MsRunId::setSampleName
void setSampleName(const QString &name)
set a sample name for this MsRunId
Definition
msrunid.cpp:77
pappso::PappsoException
Definition
pappsoexception.h:41
pappso::PappsoException::qwhat
virtual const QString & qwhat() const
Definition
pappsoexception.h:66
pappso::TimsData
Definition
timsdata.h:68
pappso::TimsMsFileReader::getFileFormat
virtual Enums::MsDataFormat getFileFormat() override
Definition
timsmsfilereader.cpp:84
pappso::TimsMsFileReader::~TimsMsFileReader
virtual ~TimsMsFileReader()
Definition
timsmsfilereader.cpp:45
pappso::TimsMsFileReader::initialize
virtual std::size_t initialize()
Definition
timsmsfilereader.cpp:51
pappso::TimsMsFileReader::getMsRunIds
virtual std::vector< MsRunIdCstSPtr > getMsRunIds(const QString &run_prefix) override
Definition
timsmsfilereader.cpp:91
pappso::TimsMsFileReader::TimsMsFileReader
TimsMsFileReader(const QString &file_name)
Definition
timsmsfilereader.cpp:39
exceptionnotrecognized.h
pappso::Enums::MsDataFormat
MsDataFormat
Definition
types.h:141
pappso::Enums::MsDataFormat::brukerTims
@ brukerTims
Definition
types.h:158
pappso::Enums::MsDataFormat::unknown
@ unknown
unknown format
Definition
types.h:142
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappsoexception.h
timsdata.h
timsmsfilereader.h
pappsomspp
core
msfile
timsmsfilereader.cpp
Generated on
for libpappsomspp by
1.17.0