Loading...
Searching...
No Matches
psmionseries.h
Go to the documentation of this file.
/**
* \file pappsomspp/processing/cbor/psm/evalscan/psmionseries.h
* \date 04/10/2025
* \author Olivier Langella
* \brief compute ion series for a PSM and associated spectrum
*/
/*******************************************************************************
* Copyright (c) 2025 Olivier Langella <Olivier.Langella@universite-paris-saclay.fr>.
*
* This file is part of PAPPSOms-tools.
*
* PAPPSOms-tools is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PAPPSOms-tools is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PAPPSOms-tools. If not, see <http://www.gnu.org/licenses/>.
*
******************************************************************************/
#pragma once
#include "pappsomspp/core/processing/cbor/psm/psmfilescanprocessandcopy.h"
#include <QJsonObject>
#include "pappsomspp/export-import-config.h"
namespace pappso
{
namespace cbor
{
namespace psm
{
/**
* @brief computes spectrum isotope match for each PSM and stores ion series in "props"
*/
class PMSPP_LIB_DECL PsmIonSeries : public PsmFileScanProcessAndCopy
{
public:
/**
* Default constructor
*/
PsmIonSeries(std::size_t buffer_scan_size,
CborStreamWriter *cbor_output_p,
const QJsonObject &parameters);
/**
* Destructor
*/
virtual ~PsmIonSeries();
void filterMassSpectrum(pappso::MassSpectrum &mass_spectrum) const;
protected:
CborScanMapBase *newCborScanMap() override;
void parameterMapReady(pappso::UiMonitorInterface &monitor) override;
protected:
QJsonObject m_psmIonSeriesParameters;
pappso::PrecisionPtr m_fragmentTolerance;
};
class PsmIonSeriesScan : public CborScanMapBase
{
public:
/**
* Default constructor
*/
PsmIonSeriesScan(const PsmIonSeries &psm_specpeptidoms, pappso::PrecisionPtr fragment_tolerance);
/**
* Destructor
*/
virtual ~PsmIonSeriesScan();
protected:
void process() override;
private:
const PsmIonSeries *mp_psmSpecPeptidOms;
pappso::PrecisionPtr m_fragmentTolerance;
};
} // namespace psm
} // namespace cbor
} // namespace pappso
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition massspectrum.h:70
pappso::UiMonitorInterface
Definition uimonitorinterface.h:50
pappso::cbor::CborStreamWriter
overrides QCborStreamWriter base class to provide convenient functions
Definition cborstreamwriter.h:45
pappso::cbor::psm::CborScanMapBase
Definition cborscanmapbase.h:48
pappso::cbor::psm::CborScanMapBase::CborScanMapBase
CborScanMapBase(const PsmFileScanProcess &psm_file_scan_process)
Definition cborscanmapbase.cpp:40
pappso::cbor::psm::PsmFileScanProcessAndCopy::PsmFileScanProcessAndCopy
PsmFileScanProcessAndCopy(std::size_t buffer_scan_size, CborStreamWriter *cbor_output_p, const QString &operation)
Definition psmfilescanprocessandcopy.cpp:41
pappso::cbor::psm::PsmIonSeriesScan::mp_psmSpecPeptidOms
const PsmIonSeries * mp_psmSpecPeptidOms
Definition psmionseries.h:90
pappso::cbor::psm::PsmIonSeriesScan::~PsmIonSeriesScan
virtual ~PsmIonSeriesScan()
Definition psmionseries.cpp:92
pappso::cbor::psm::PsmIonSeriesScan::process
void process() override
Definition psmionseries.cpp:97
pappso::cbor::psm::PsmIonSeriesScan::m_fragmentTolerance
pappso::PrecisionPtr m_fragmentTolerance
Definition psmionseries.h:91
pappso::cbor::psm::PsmIonSeriesScan::PsmIonSeriesScan
PsmIonSeriesScan(const PsmIonSeries &psm_specpeptidoms, pappso::PrecisionPtr fragment_tolerance)
Definition psmionseries.cpp:84
pappso::cbor::psm::PsmIonSeries
computes spectrum isotope match for each PSM and stores ion series in "props"
Definition psmionseries.h:46
pappso::cbor::psm::PsmIonSeries::filterMassSpectrum
void filterMassSpectrum(pappso::MassSpectrum &mass_spectrum) const
pappso::cbor::psm::PsmIonSeries::parameterMapReady
void parameterMapReady(pappso::UiMonitorInterface &monitor) override
Definition psmionseries.cpp:59
pappso::cbor::psm::PsmIonSeries::m_psmIonSeriesParameters
QJsonObject m_psmIonSeriesParameters
Definition psmionseries.h:68
pappso::cbor::psm::PsmIonSeries::PsmIonSeries
PsmIonSeries(std::size_t buffer_scan_size, CborStreamWriter *cbor_output_p, const QJsonObject &parameters)
Definition psmionseries.cpp:35
pappso::cbor::psm::PsmIonSeries::m_fragmentTolerance
pappso::PrecisionPtr m_fragmentTolerance
Definition psmionseries.h:69
pappso::cbor::psm::PsmIonSeries::newCborScanMap
CborScanMapBase * newCborScanMap() override
Definition psmionseries.cpp:78
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition export-import-config.h:14
pappso::cbor::psm
Definition cborscanmapbase.h:40
pappso::cbor
Definition cborstreamreader.cpp:35
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition precision.h:122
psmfilescanprocessandcopy.h