libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::masschroq::MbrPeptideMeasurements Class Reference

#include <mbrpeptidemeasurements.h>

Inheritance diagram for pappso::masschroq::MbrPeptideMeasurements:
pappso::masschroq::PeptideMeasurementsBase

Public Member Functions

 MbrPeptideMeasurements (const PeptideSp &peptide_sp)
 
 MbrPeptideMeasurements (const MbrPeptideMeasurements &other)
 
virtual ~MbrPeptideMeasurements ()
 
void prepareMeasurements (const pappso::MsRunId &targeted_msrun, const MsRunGroup *msrun_group_p, const pappso::MsRunRetentionTime< QString > &msrun_retention_time, const QuantificationMethodSp &quantification_method)
 
virtual void detectQuantifyPeaks (const QuantificationMethodSp &quantification_method) override
 
const PeptideSpgetPeptideSp () const
 
- Public Member Functions inherited from pappso::masschroq::PeptideMeasurementsBase
 PeptideMeasurementsBase ()
 
 PeptideMeasurementsBase (const PeptideMeasurementsBase &other)
 
virtual ~PeptideMeasurementsBase ()
 
virtual const std::vector< Measurement > & getMeasurementList () const
 
virtual void pushBackXicCoordList (std::vector< pappso::XicCoordSPtr > &xic_coord_list) const final
 
virtual void flushXics () final
 
virtual void clear () final
 clear the measurement vector
 

Private Attributes

PeptideSp msp_peptide
 
double m_consensusMs2RetentionTime = 0
 

Additional Inherited Members

- Protected Member Functions inherited from pappso::masschroq::PeptideMeasurementsBase
virtual void prepareMeasurementsForPeptide (Peptide &the_peptide, const QuantificationMethodSp &quantification_method, const pappso::XicCoordSPtr &best_xic_coord, std::uint8_t charge, double best_rt) final
 
virtual void generateMeasurementsForIsotopeList (PeptideBase &peptide_base, const PeptideLabel *label_p, const QuantificationMethodSp &quantification_method, std::uint8_t charge, double isotope_minimum_ratio, const pappso::XicCoordSPtr &best_xic_coord, double best_rt) final
 
- Protected Attributes inherited from pappso::masschroq::PeptideMeasurementsBase
std::vector< Measurementm_measurementList
 

Detailed Description

Todo
write docs

Definition at line 48 of file mbrpeptidemeasurements.h.

Constructor & Destructor Documentation

◆ MbrPeptideMeasurements() [1/2]

pappso::masschroq::MbrPeptideMeasurements::MbrPeptideMeasurements ( const PeptideSp & peptide_sp)

Default constructor

Definition at line 35 of file mbrpeptidemeasurements.cpp.

37 : msp_peptide(peptide_sp)
38{
39 if(msp_peptide.get() == nullptr)
40 {
41 throw pappso::PappsoException("msp_peptide.get() == nullptr");
42 }
43}

References msp_peptide.

◆ MbrPeptideMeasurements() [2/2]

pappso::masschroq::MbrPeptideMeasurements::MbrPeptideMeasurements ( const MbrPeptideMeasurements & other)

◆ ~MbrPeptideMeasurements()

pappso::masschroq::MbrPeptideMeasurements::~MbrPeptideMeasurements ( )
virtual

Destructor

Definition at line 55 of file mbrpeptidemeasurements.cpp.

56{
57}

Member Function Documentation

◆ detectQuantifyPeaks()

void pappso::masschroq::MbrPeptideMeasurements::detectQuantifyPeaks ( const QuantificationMethodSp & quantification_method)
overridevirtual

Implements pappso::masschroq::PeptideMeasurementsBase.

Definition at line 121 of file mbrpeptidemeasurements.cpp.

123{
124
125 qDebug();
126 pappso::TracePeakList peak_list;
127 std::vector<std::uint8_t> all_charge_states = msp_peptide.get()->getAllObservedChargeStateList();
128
129
130 for(auto &measure_one : m_measurementList)
131 {
132 qDebug();
133 double rt_target = measure_one.msp_xicCoord.get()->rtTarget;
134 peak_list.clear();
135 quantification_method.get()->getTraceDetectionInterfaceCstSPtr().get()->detect(
136 *(measure_one.msp_xicCoord.get()->xicSptr.get()), peak_list, false);
137
138 qDebug();
139 measure_one.m_peakQualityCategory = PeakQualityCategory::missed;
141 {
142 qDebug();
143 auto it_best_matched_peak = pappso::findTracePeakGivenRt(
144 peak_list.begin(), peak_list.end(), m_consensusMs2RetentionTime);
145
146 if(it_best_matched_peak != peak_list.end())
147 {
148 measure_one.m_tracePeakSp = it_best_matched_peak->makeTracePeakCstSPtr();
149 measure_one.m_peakQualityCategory = PeakQualityCategory::c;
150 if(it_best_matched_peak->containsRt(rt_target))
151 {
152 measure_one.m_peakQualityCategory = PeakQualityCategory::b;
153 }
154 }
155 else
156 {
157
158 it_best_matched_peak =
159 pappso::findTracePeakGivenRt(peak_list.begin(), peak_list.end(), rt_target);
160
161 if(it_best_matched_peak != peak_list.end())
162 {
163 measure_one.m_tracePeakSp = it_best_matched_peak->makeTracePeakCstSPtr();
164 measure_one.m_peakQualityCategory = PeakQualityCategory::d;
165 }
166 }
167 }
168 }
169}
@ missed
no peak found at all
Definition types.h:60
PMSPP_LIB_DECL std::vector< TracePeak >::iterator findTracePeakGivenRt(std::vector< TracePeak >::iterator begin, std::vector< TracePeak >::iterator end, double rt)
find the peak matching a retention time

References pappso::masschroq::b, pappso::masschroq::c, pappso::masschroq::d, pappso::findTracePeakGivenRt(), pappso::masschroq::QuantificationMethod::getTraceDetectionInterfaceCstSPtr(), m_consensusMs2RetentionTime, pappso::masschroq::PeptideMeasurementsBase::m_measurementList, pappso::masschroq::missed, and msp_peptide.

◆ getPeptideSp()

const pappso::masschroq::PeptideSp & pappso::masschroq::MbrPeptideMeasurements::getPeptideSp ( ) const

Definition at line 172 of file mbrpeptidemeasurements.cpp.

173{
174 return msp_peptide;
175}

References msp_peptide.

Referenced by pappso::masschroq::CborOutputStream::writeMbrPeptideMeasurements().

◆ prepareMeasurements()

void pappso::masschroq::MbrPeptideMeasurements::prepareMeasurements ( const pappso::MsRunId & targeted_msrun,
const MsRunGroup * msrun_group_p,
const pappso::MsRunRetentionTime< QString > & msrun_retention_time,
const QuantificationMethodSp & quantification_method )

Definition at line 61 of file mbrpeptidemeasurements.cpp.

66{
67 // for one peptide
68 pappso::masschroq::Peptide *the_peptide_p = msp_peptide.get();
69 // 1) charge states
70 // 2) isotope list
71 std::vector<std::uint8_t> charge_states = the_peptide_p->getAllObservedChargeStateList();
72
73
75
76 if(msrun_retention_time.isAligned())
77 {
80 }
81
82 double consensus_rt = the_peptide_p->getConsensusPeakRetentionTime();
83
84 if(consensus_rt > 0)
85 {
86 if(msrun_retention_time.isAligned())
87 {
88 consensus_rt = msrun_retention_time.translateAligned2OriginalRetentionTime(consensus_rt);
89 }
90 }
91 for(std::uint8_t charge : charge_states)
92 {
93
94 pappso::XicCoordSPtr best_xic_coord;
95 if(msrun_group_p->getIonMobilityGridSp().get() != nullptr)
96 {
97 best_xic_coord = the_peptide_p->getBestIonMobilityXicCoordToExtractOverallMsRunGroup(
98 *msrun_group_p, targeted_msrun, charge);
99 }
100 else
101 {
102 best_xic_coord =
103 the_peptide_p->getBestXicCoordSPtrForChargeInMsRunGroup(msrun_group_p, charge);
104 }
105
106 if(best_xic_coord.get() == nullptr)
107 {
108 // We can not quantify it in this msrun group
109 }
110 else
111 {
112
114 *the_peptide_p, quantification_method, best_xic_coord, charge, consensus_rt);
115 }
116 }
117}
double translateAligned2OriginalRetentionTime(double aligned_retention_time) const
virtual void prepareMeasurementsForPeptide(Peptide &the_peptide, const QuantificationMethodSp &quantification_method, const pappso::XicCoordSPtr &best_xic_coord, std::uint8_t charge, double best_rt) final
const std::vector< std::uint8_t > & getAllObservedChargeStateList() const
Definition peptide.cpp:116
double getConsensusMs2RetentionTime() const
get consensus retention time based on MS2 fragmenation and identification events
Definition peptide.cpp:264
pappso::XicCoordSPtr getBestXicCoordSPtrForChargeInMsRunGroup(const MsRunGroup *msrun_group_p, std::uint8_t charge) const
get the XIC coordinates of the higher observed intensity for this peptide and charge in other MS run ...
Definition peptide.cpp:278
double getConsensusPeakRetentionTime() const
get consensus retention time based on XIC peak measurements
Definition peptide.cpp:258
pappso::XicCoordSPtr getBestIonMobilityXicCoordToExtractOverallMsRunGroup(const MsRunGroup &msrun_group, const pappso::MsRunId &targeted_msrun, std::uint8_t charge) const
get ion mobility coordinates corrected against other MSruns in the group
Definition peptide.cpp:348
std::shared_ptr< XicCoord > XicCoordSPtr
Definition xiccoord.h:44

References pappso::masschroq::Peptide::getAllObservedChargeStateList(), pappso::masschroq::Peptide::getBestIonMobilityXicCoordToExtractOverallMsRunGroup(), pappso::masschroq::Peptide::getBestXicCoordSPtrForChargeInMsRunGroup(), pappso::masschroq::Peptide::getConsensusMs2RetentionTime(), pappso::masschroq::Peptide::getConsensusPeakRetentionTime(), pappso::masschroq::MsRunGroup::getIonMobilityGridSp(), pappso::MsRunRetentionTime< T >::isAligned(), m_consensusMs2RetentionTime, msp_peptide, pappso::masschroq::PeptideMeasurementsBase::prepareMeasurementsForPeptide(), and pappso::MsRunRetentionTime< T >::translateAligned2OriginalRetentionTime().

Referenced by pappso::masschroq::MsRunPeptideList::addMbrPeptideMeasurementsSp2XicCoordList().

Member Data Documentation

◆ m_consensusMs2RetentionTime

double pappso::masschroq::MbrPeptideMeasurements::m_consensusMs2RetentionTime = 0
private

◆ msp_peptide

PeptideSp pappso::masschroq::MbrPeptideMeasurements::msp_peptide
private

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