libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::cbor::psm::PsmSpecPeptidOmsScan Class Reference

#include <psmspecpeptidoms.h>

Inheritance diagram for pappso::cbor::psm::PsmSpecPeptidOmsScan:
pappso::cbor::psm::CborScanMapBase

Public Member Functions

 PsmSpecPeptidOmsScan (const PsmSpecPeptidOms &psm_specpeptidoms, pappso::PrecisionPtr fragment_tolerance)
 
virtual ~PsmSpecPeptidOmsScan ()
 
- Public Member Functions inherited from pappso::cbor::psm::CborScanMapBase
 CborScanMapBase (const PsmFileScanProcess &psm_file_scan_process)
 
virtual ~CborScanMapBase ()
 
std::vector< double >::iterator addPsmEvalVectorDouble (const QString &eval_name, const QString &eval_value_key, std::vector< double >::iterator begin, std::vector< double >::const_iterator end)
 add a new eval key and double values (from a vector) to each PSM
 
QCborMap getCborScanId () const
 
QCborMap getCborScanPrecursor () const
 
QCborArray getCborPsmList () const
 

Protected Member Functions

void process () override
 
- Protected Member Functions inherited from pappso::cbor::psm::CborScanMapBase
pappso::QualifiedMassSpectrumSPtr getCurrentQualifiedMassSpectrumSPtr () const
 

Private Attributes

const PsmSpecPeptidOmsmp_psmSpecPeptidOms
 
pappso::PrecisionPtr m_fragmentTolerance
 
bool m_checkMutations = false
 

Additional Inherited Members

- Protected Attributes inherited from pappso::cbor::psm::CborScanMapBase
const PsmFileScanProcessm_PsmFileScanProcess
 

Detailed Description

Definition at line 79 of file psmspecpeptidoms.h.

Constructor & Destructor Documentation

◆ PsmSpecPeptidOmsScan()

pappso::cbor::psm::PsmSpecPeptidOmsScan::PsmSpecPeptidOmsScan ( const PsmSpecPeptidOms & psm_specpeptidoms,
pappso::PrecisionPtr fragment_tolerance )

Default constructor

Definition at line 97 of file psmspecpeptidoms.cpp.

100 : CborScanMapBase(psm_specpeptidoms)
101{
102 m_fragmentTolerance = fragment_tolerance;
103 mp_psmSpecPeptidOms = &psm_specpeptidoms;
104}
CborScanMapBase(const PsmFileScanProcess &psm_file_scan_process)
const PsmSpecPeptidOms * mp_psmSpecPeptidOms

References pappso::cbor::psm::CborScanMapBase::CborScanMapBase(), m_fragmentTolerance, and mp_psmSpecPeptidOms.

◆ ~PsmSpecPeptidOmsScan()

pappso::cbor::psm::PsmSpecPeptidOmsScan::~PsmSpecPeptidOmsScan ( )
virtual

Destructor

Definition at line 106 of file psmspecpeptidoms.cpp.

107{
108}

Member Function Documentation

◆ process()

void pappso::cbor::psm::PsmSpecPeptidOmsScan::process ( )
overrideprotectedvirtual

Reimplemented from pappso::cbor::psm::CborScanMapBase.

Definition at line 111 of file psmspecpeptidoms.cpp.

112{
113 // qDebug() << keys();
114 if(!keys().contains("id"))
115 {
116 throw pappso::PappsoException(QObject::tr("missing scan id"));
117 }
118 if(keys().contains("psm_list"))
119 {
121
122
123 mp_psmSpecPeptidOms->filterMassSpectrum(
124 *(qualified_mass_spectrum.get()->getMassSpectrumSPtr().get()));
125
126 QCborArray new_psm_arr;
127 for(QCborValue cbor_psm : value("psm_list").toArray())
128 {
129 QCborMap cbor_psm_map = cbor_psm.toMap();
130
131 if(!cbor_psm_map.keys().contains("proforma"))
132 {
133 throw pappso::PappsoException(
134 QObject::tr("missing proforma in psm %1").arg(cbor_psm_map.keys().size()));
135 }
136 QCborMap cbor_psm_eval_specglob;
137 pappso::PeptideSp peptide_sp =
138 pappso::PeptideProFormaParser::parseString(cbor_psm_map.value("proforma").toString());
139
140
141 pappso::specpeptidoms::SpOMSSpectrumCsp experimental_spectrum =
142 std::make_shared<pappso::specpeptidoms::SpOMSSpectrum>(
143 *qualified_mass_spectrum.get(),
145 mp_psmSpecPeptidOms->getAaCode());
146 /*
147 pappso::specglob::SpectralAlignment
148 spectral_alignment(pappso::specglob::ScoreValues(), m_fragmentTolerance);
149
150 spectral_alignment.align(peptide_spectra, experimental_spectrum);
151
152
153 cbor_psm_eval_specglob.insert(QString("max_score"),
154 spectral_alignment.getMaxScore());
155
156
157 if(spectral_alignment.getMaxScore() > 0)
158 {
159 pappso::specglob::PeptideModel peptide_model =
160 spectral_alignment.buildPeptideModel();
161
162 // peptide_model.eliminateComplementaryDelta(m_fragmentTolerance);
163 // peptide_model.matchExperimentalPeaks(m_fragmentTolerance);
164
165
166 pappso::specglob::PostTreatment post_treatment(m_fragmentTolerance,
167 peptide_model); if(m_checkMutations) post_treatment.findReplaceMutations();
168 peptide_model = post_treatment.getBetterPeptideModel();
169
170 cbor_psm_eval_specglob.insert(QString("count"),
171 (qint64)peptide_model.getCountSharedPeaks());
172
173 cbor_psm_eval_specglob.insert(QString("proforma"),
174 peptide_model.toProForma()); cbor_psm_eval_specglob.insert(QString("bracket"),
175 peptide_model.toString());
176
177 // peptide_model.checkForMutations()
178 }
179
180
181 QCborMap psm_eval = cbor_psm_map.value("eval").toMap();
182 psm_eval.remove(QString("specglob"));
183 psm_eval.insert(QString("specglob"), cbor_psm_eval_specglob);
184 cbor_psm_map.remove(QString("eval"));
185 cbor_psm_map.insert(QString("eval"), psm_eval);
186
187 new_psm_arr.push_back(cbor_psm_map);
188 */
189 }
190
191 // insert(QString("psm_list"), new_psm_arr);
192 remove(QString("psm_list"));
193 insert(QString("psm_list"), new_psm_arr);
194 }
195}
static PeptideSp parseString(const QString &pepstr)
pappso::QualifiedMassSpectrumSPtr getCurrentQualifiedMassSpectrumSPtr() const
std::shared_ptr< const SpOMSSpectrum > SpOMSSpectrumCsp
std::shared_ptr< QualifiedMassSpectrum > QualifiedMassSpectrumSPtr
std::shared_ptr< const Peptide > PeptideSp

References pappso::cbor::psm::CborScanMapBase::getCurrentQualifiedMassSpectrumSPtr(), m_fragmentTolerance, mp_psmSpecPeptidOms, and pappso::PeptideProFormaParser::parseString().

Member Data Documentation

◆ m_checkMutations

bool pappso::cbor::psm::PsmSpecPeptidOmsScan::m_checkMutations = false
private

Definition at line 99 of file psmspecpeptidoms.h.

◆ m_fragmentTolerance

pappso::PrecisionPtr pappso::cbor::psm::PsmSpecPeptidOmsScan::m_fragmentTolerance
private

Definition at line 98 of file psmspecpeptidoms.h.

Referenced by PsmSpecPeptidOmsScan(), and process().

◆ mp_psmSpecPeptidOms

const PsmSpecPeptidOms* pappso::cbor::psm::PsmSpecPeptidOmsScan::mp_psmSpecPeptidOms
private

Definition at line 97 of file psmspecpeptidoms.h.

Referenced by PsmSpecPeptidOmsScan(), and process().


The documentation for this class was generated from the following files: