libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
psmfilereaderbase.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/processing/cbor/psm/psmfilereaderbase.h
3 * \date 05/07/2025
4 * \author Olivier Langella
5 * \brief Base class to read CBOR PSM file
6 */
7
8/*******************************************************************************
9 * Copyright (c) 2025 Olivier Langella <Olivier.Langella@universite-paris-saclay.fr>.
10 *
11 * This file is part of PAPPSOms-tools.
12 *
13 * PAPPSOms-tools 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-tools 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-tools. If not, see <http://www.gnu.org/licenses/>.
25 *
26 ******************************************************************************/
27#pragma once
28
31#include "psmproteinmap.h"
34#include <QCborArray>
35
36
37namespace pappso
38{
39namespace cbor
40{
41namespace psm
42{
43
44
45struct PsmFile
46{
47 QString name;
48};
49
50
51/**
52 * @todo write docs
53 */
55{
56 public:
57 /**
58 * Default constructor
59 */
61
62 /**
63 * Destructor
64 */
65 virtual ~PsmFileReaderBase();
66 void readCbor(QFile *cborp, pappso::UiMonitorInterface &monitor);
67
69 {
70 QString accession;
71 std::vector<std::size_t> positions;
72 };
73
74 virtual void close();
75
76 protected:
78 virtual void readInformations(pappso::UiMonitorInterface &monitor);
79 virtual void readLog(pappso::UiMonitorInterface &monitor);
80 virtual void readParameterMap(pappso::UiMonitorInterface &monitor);
81 virtual void readProteinMap(pappso::UiMonitorInterface &monitor);
82 virtual void readSample(pappso::UiMonitorInterface &monitor);
83 virtual void readScan(pappso::UiMonitorInterface &monitor);
84 virtual void readPsm(pappso::UiMonitorInterface &monitor);
85 virtual void psmReady(pappso::UiMonitorInterface &monitor);
86 virtual void logReady(pappso::UiMonitorInterface &monitor);
87 virtual void informationsReady(pappso::UiMonitorInterface &monitor);
88 virtual void parameterMapReady(pappso::UiMonitorInterface &monitor);
89 virtual void fastaFilesReady(pappso::UiMonitorInterface &monitor);
90 virtual void proteinMapReady(pappso::UiMonitorInterface &monitor);
91 virtual void sampleListStarted(pappso::UiMonitorInterface &monitor);
92 virtual void sampleStarted(pappso::UiMonitorInterface &monitor);
93 virtual void scanStarted(pappso::UiMonitorInterface &monitor);
94 virtual void scanFinished(pappso::UiMonitorInterface &monitor);
95 virtual void sampleFinished(pappso::UiMonitorInterface &monitor);
97 PsmFile readPsmFile(bool &is_ok);
98 void writePsmFile(CborStreamWriter &writer, const PsmFile &psm_file);
99 void writePsmFileList(CborStreamWriter &writer, const std::vector<PsmFile> &file_list);
100 PsmProteinRef readPsmProteinRef(bool &is_ok);
101
102
105
106
109
110 /** @brief convenient function do compute precusor ion mass
111 */
112 double getPrecursorMass(double mz_prec, uint charge) const;
113
114
115 protected:
117 QStringList m_decoyFastaFiles;
123 QCborArray m_cborLog;
125 QCborMap m_cborScanId;
130 std::vector<PsmProteinRef> m_currentPsmProteinRefList;
131};
132
133} // namespace psm
134} // namespace cbor
135} // namespace pappso
std::vector< PsmProteinRef > m_currentPsmProteinRefList
pappso::QualifiedMassSpectrumSPtr getCurrentQualifiedMassSpectrumSPtr() const
pappso::PeptideSp getCurrentPsmPeptideSp() const
virtual void sampleListStarted(pappso::UiMonitorInterface &monitor)
void writePsmFileList(CborStreamWriter &writer, const std::vector< PsmFile > &file_list)
double getPrecursorMass(double mz_prec, uint charge) const
convenient function do compute precusor ion mass
virtual void logReady(pappso::UiMonitorInterface &monitor)
virtual void scanStarted(pappso::UiMonitorInterface &monitor)
virtual void readPsm(pappso::UiMonitorInterface &monitor)
virtual void readLog(pappso::UiMonitorInterface &monitor)
virtual void proteinMapReady(pappso::UiMonitorInterface &monitor)
virtual void sampleStarted(pappso::UiMonitorInterface &monitor)
virtual void readParameterMap(pappso::UiMonitorInterface &monitor)
void readCbor(QFile *cborp, pappso::UiMonitorInterface &monitor)
virtual void readScan(pappso::UiMonitorInterface &monitor)
virtual void readInformations(pappso::UiMonitorInterface &monitor)
virtual void scanFinished(pappso::UiMonitorInterface &monitor)
virtual void sampleListFinished(pappso::UiMonitorInterface &monitor)
virtual void psmReady(pappso::UiMonitorInterface &monitor)
virtual void informationsReady(pappso::UiMonitorInterface &monitor)
void readRoot(pappso::UiMonitorInterface &monitor)
std::vector< PsmFile > m_currentIdentificationFileList
void writePsmFile(CborStreamWriter &writer, const PsmFile &psm_file)
virtual void fastaFilesReady(pappso::UiMonitorInterface &monitor)
virtual void parameterMapReady(pappso::UiMonitorInterface &monitor)
virtual void readProteinMap(pappso::UiMonitorInterface &monitor)
virtual void readSample(pappso::UiMonitorInterface &monitor)
PsmProteinRef readPsmProteinRef(bool &is_ok)
virtual void sampleFinished(pappso::UiMonitorInterface &monitor)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< QualifiedMassSpectrum > QualifiedMassSpectrumSPtr
std::shared_ptr< const Peptide > PeptideSp
unsigned int uint
Definition types.h:68