31#include "../../../../processing/filters/filterchargedeconvolution.h"
32#include "../../../../processing/filters/filterresample.h"
33#include "../../../../processing/filters/filterpass.h"
34#include "../../../../peptide/peptideproformaparser.h"
35#include "../../../../pappsoexception.h"
36#include "../../../../processing/specpeptidoms/semiglobalalignment.h"
37#include "../../../../processing/specpeptidoms/spomsspectrum.h"
41 const QJsonObject ¶meters)
46 if(parameters.value(
"fragment_tolerance_unit").toString() ==
"dalton")
49 parameters.value(
"fragment_tolerance").toDouble());
51 else if(parameters.value(
"fragment_tolerance_unit").toString() ==
"ppm")
57 QJsonObject spectrum_param = parameters.value(
"spectrum").toObject();
59 m_minimumMz = spectrum_param.value(
"minimum_mz").toDouble();
61 m_deisotope = spectrum_param.value(
"deisotope").toBool();
114 if(!keys().contains(
"id"))
118 if(keys().contains(
"psm_list"))
123 mp_psmSpecPeptidOms->filterMassSpectrum(
124 *(qualified_mass_spectrum.get()->getMassSpectrumSPtr().get()));
126 QCborArray new_psm_arr;
127 for(QCborValue cbor_psm : value(
"psm_list").toArray())
129 QCborMap cbor_psm_map = cbor_psm.toMap();
131 if(!cbor_psm_map.keys().contains(
"proforma"))
134 QObject::tr(
"missing proforma in psm %1").arg(cbor_psm_map.keys().size()));
136 QCborMap cbor_psm_eval_specglob;
142 std::make_shared<pappso::specpeptidoms::SpOMSSpectrum>(
143 *qualified_mass_spectrum.get(),
145 mp_psmSpecPeptidOms->getAaCode());
192 remove(QString(
"psm_list"));
193 insert(QString(
"psm_list"), new_psm_arr);
collection of integer code for each amino acid 0 => null 1 to 20 => amino acid sorted by there mass (...
void addAaModification(char aa_letter, AaModificationP aaModification)
add a modification on an amino acid for example carbamido on C
static AaModificationP getInstance(const QString &accession)
Trace & filter(Trace &data_points) const override
get all the datapoints and remove different isotope and add their intensity and change to charge = 1 ...
keep N datapoints form the greatest intensities to the lowest
Trace & filter(Trace &data_points) const override
Trace & filter(Trace &trace) const override
Class to represent a mass spectrum.
static PrecisionPtr getPpmInstance(pappso_double value)
get a ppm precision pointer
static PrecisionPtr getDaltonInstance(pappso_double value)
get a Dalton precision pointer
Basic PSM file reader to process scan (parallelized scan processing) and write a new resulting PSM fi...
virtual ~PsmSpecPeptidOmsScan()
const PsmSpecPeptidOms * mp_psmSpecPeptidOms
PsmSpecPeptidOmsScan(const PsmSpecPeptidOms &psm_specpeptidoms, pappso::PrecisionPtr fragment_tolerance)
pappso::PrecisionPtr m_fragmentTolerance
void parameterMapReady(pappso::UiMonitorInterface &monitor) override
PsmSpecPeptidOms(std::size_t buffer_scan_size, CborStreamWriter *cbor_output_p, const QJsonObject ¶meters)
const pappso::AaCode & getAaCode() const
void filterMassSpectrum(pappso::MassSpectrum &mass_spectrum) const
std::size_t m_nMostIntense
virtual ~PsmSpecPeptidOms()
pappso::PrecisionPtr m_fragmentTolerance
QJsonObject m_specpeptidomsParameters
CborScanMapBase * newCborScanMap() override
std::shared_ptr< const SpOMSSpectrum > SpOMSSpectrumCsp
std::shared_ptr< QualifiedMassSpectrum > QualifiedMassSpectrumSPtr
std::shared_ptr< const Peptide > PeptideSp