libpappsomspp
Library for mass spectrometry
sagefilereader.h
Go to the documentation of this file.
1/**
2 * \file input/sage/sagefilereader.h
3 * \date 11/10/2024
4 * \author Olivier Langella
5 * \brief read data files from Sage output containin multiple samples
6 */
7
8/*******************************************************************************
9 * Copyright (c) 2024 Olivier Langella
10 *<Olivier.Langella@universite-paris-saclay.fr>.
11 *
12 * This file is part of i2MassChroQ.
13 *
14 * i2MassChroQ 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 * i2MassChroQ 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 i2MassChroQ. If not, see <http://www.gnu.org/licenses/>.
26 *
27 ******************************************************************************/
28
29#pragma once
30#include "../../../../fasta/fastahandlerinterface.h"
31#include "../../../uimonitor/uimonitorinterface.h"
32#include <QJsonDocument>
33#include "../../cborstreamwriter.h"
34#include <QFileInfo>
35
36namespace pappso::cbor::psm
37{
38/**
39 * @todo write docs
40 */
42{
43 public:
44 /**
45 * Default constructor
46 */
49 const QFileInfo &sage_json_file);
50
51 /**
52 * Destructor
53 */
54 virtual ~SageFileReader();
55
56 const QJsonDocument &getJsonDocument() const;
57 QString getMsRunSpWithFileName(const QString &msrun_filename) const;
58
59 private:
60 void readJson();
61
62 private:
63 const QFileInfo m_sageJsonFile;
64 QJsonDocument m_jsonData;
65
66 std::map<QString, QString> m_mapFilePath2MsRunSp;
69 QString m_decoyTag;
70 bool m_generateDecoy = false;
71 QStringList m_targetFastaFile;
72};
73} // namespace pappso::cbor::psm
SageFileReader(pappso::UiMonitorInterface *p_monitor, pappso::cbor::CborStreamWriter *p_output, const QFileInfo &sage_json_file)
std::map< QString, QString > m_mapFilePath2MsRunSp
pappso::cbor::CborStreamWriter * mp_cborWriter
QString getMsRunSpWithFileName(const QString &msrun_filename) const
const QJsonDocument & getJsonDocument() const