libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
psmfilescanprocessandcopy.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/processing/cbor/psm/psmfilescanprocessandcopy.h
3 * \date 15/07/2025
4 * \author Olivier Langella
5 * \brief PSM file reader designed to parallelize scan process and then copy the results in PSM cbor
6 * output stream
7 */
8
9/*******************************************************************************
10 * Copyright (c) 2025 Olivier Langella <Olivier.Langella@universite-paris-saclay.fr>.
11 *
12 * This file is part of PAPPSOms-tools.
13 *
14 * PAPPSOms-tools 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 * PAPPSOms-tools 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 PAPPSOms-tools. If not, see <http://www.gnu.org/licenses/>.
26 *
27 ******************************************************************************/
28#pragma once
29
30#include <QBuffer>
31
32#include "psmfilescanprocess.h"
35
36
37namespace pappso
38{
39namespace cbor
40{
41namespace psm
42{
43
44/**
45 * @brief Basic PSM file reader to process scan (parallelized scan processing) and write a new
46 * resulting PSM file
47 */
49{
50 public:
51 /**
52 * Default constructor
53 */
54 PsmFileScanProcessAndCopy(std::size_t buffer_scan_size,
55 CborStreamWriter *cbor_output_p,
56 const QString &operation);
57
58 /**
59 * Destructor
60 */
62
63 void close() override;
64
65
66 protected:
67 /**
68 */
70 void informationsReady(pappso::UiMonitorInterface &monitor) override;
71 void logReady(pappso::UiMonitorInterface &monitor) override;
72 void parameterMapReady(pappso::UiMonitorInterface &monitor) override;
73 void fastaFilesReady(pappso::UiMonitorInterface &monitor) override;
74 virtual void proteinMapReady(pappso::UiMonitorInterface &monitor) override;
75
76 virtual void processBufferScanDone(pappso::UiMonitorInterface &monitor) override;
77
78 void sampleStarted(pappso::UiMonitorInterface &monitor) override;
79
80 void sampleFinished(pappso::UiMonitorInterface &monitor) override;
81
82
83 void sampleListStarted(pappso::UiMonitorInterface &monitor) override;
84 void sampleListFinished(pappso::UiMonitorInterface &monitor) override;
85
86 protected:
89 QString m_operation;
90
91
93 QBuffer *mpa_bufferAfterProteinMap = nullptr;
95};
96
97} // namespace psm
98} // namespace cbor
99} // namespace pappso
overrides QCborStreamWriter base class to provide convenient functions
void sampleStarted(pappso::UiMonitorInterface &monitor) override
void fastaFilesReady(pappso::UiMonitorInterface &monitor) override
void sampleFinished(pappso::UiMonitorInterface &monitor) override
PsmFileScanProcessAndCopy(std::size_t buffer_scan_size, CborStreamWriter *cbor_output_p, const QString &operation)
void sampleListStarted(pappso::UiMonitorInterface &monitor) override
pappso::cbor::CborStreamWriter * mpa_bufferWriterAfterProteinMap
void sampleListFinished(pappso::UiMonitorInterface &monitor) override
virtual void proteinMapReady(pappso::UiMonitorInterface &monitor) override
void close() override
convenient function to clean pointer before leaving
void informationsReady(pappso::UiMonitorInterface &monitor) override
virtual void processBufferScanDone(pappso::UiMonitorInterface &monitor) override
void parameterMapReady(pappso::UiMonitorInterface &monitor) override
void logReady(pappso::UiMonitorInterface &monitor) override
PsmFileScanProcess(std::size_t buffer_scan_size)
store PsmProtein in a map with accession as key
#define PMSPP_LIB_DECL
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39