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

#include <peptidemeasurements.h>

Inheritance diagram for pappso::masschroq::PeptideMeasurements:
pappso::masschroq::PeptideMeasurementsBase

Public Member Functions

 PeptideMeasurements (const PeptideObservationSp &peptide_observations)
 
 PeptideMeasurements (const PeptideMeasurements &other)
 
virtual ~PeptideMeasurements ()
 
void prepareMeasurements (const pappso::MsRunId &targeted_msrun, const MsRunGroup *msrun_group_p, const QuantificationMethodSp &quantification_method)
 
virtual void detectQuantifyPeaks (const QuantificationMethodSp &quantification_method) override
 
const PeptideObservationSpgetPeptideObservationSp () 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

PeptideObservationSp msp_peptideObservation
 

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

group together a peptide and measurements made on this peptide

Definition at line 57 of file peptidemeasurements.h.

Constructor & Destructor Documentation

◆ PeptideMeasurements() [1/2]

pappso::masschroq::PeptideMeasurements::PeptideMeasurements ( const PeptideObservationSp & peptide_observations)

Default constructor

Definition at line 35 of file peptidemeasurements.cpp.

37{
38 msp_peptideObservation = peptide;
39}

References msp_peptideObservation.

Referenced by PeptideMeasurements().

◆ PeptideMeasurements() [2/2]

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

◆ ~PeptideMeasurements()

pappso::masschroq::PeptideMeasurements::~PeptideMeasurements ( )
virtual

Destructor

Definition at line 47 of file peptidemeasurements.cpp.

48{
49}

Member Function Documentation

◆ detectQuantifyPeaks()

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

Implements pappso::masschroq::PeptideMeasurementsBase.

Definition at line 101 of file peptidemeasurements.cpp.

103{
104
105 qDebug();
106 pappso::TracePeakList peak_list;
107 std::vector<double> observed_rt_list =
108 msp_peptideObservation.get()->getObservedRetentionTimesOverallChargeStates();
109
110 std::vector<std::uint8_t> observed_charge_states =
111 msp_peptideObservation->getObservedChargeStates();
112
113 for(auto &measure_one : m_measurementList)
114 {
115 qDebug();
116 pappso::Xic *xic_p = measure_one.msp_xicCoord.get()->xicSptr.get();
117 if(xic_p == nullptr)
118 {
119 throw pappso::PappsoException(QObject::tr("xic_p == nullptr"));
120 }
121 peak_list.clear();
122 std::size_t nb_peaks = 0;
123 quantification_method.get()->getTraceDetectionInterfaceCstSPtr().get()->detect(
124 *xic_p, peak_list, false);
125
126 qDebug();
127 auto it_best_matched_peak = findBestTracePeakGivenRtList(
128 peak_list.begin(), peak_list.end(), observed_rt_list, nb_peaks);
129
130 qDebug();
131 measure_one.m_peakQualityCategory = PeakQualityCategory::missed;
132 bool direct_charge_observation_in_msrun = true;
133 if(observed_charge_states.end() ==
134 find(observed_charge_states.begin(), observed_charge_states.end(), measure_one.m_charge))
135 {
136 direct_charge_observation_in_msrun = false;
137 }
138 if(it_best_matched_peak != peak_list.end())
139 {
140 measure_one.m_tracePeakSp = it_best_matched_peak->makeTracePeakCstSPtr();
141 if(nb_peaks == 1)
142 {
143
144 measure_one.m_peakQualityCategory = PeakQualityCategory::za;
145 if(direct_charge_observation_in_msrun)
146 measure_one.m_peakQualityCategory = PeakQualityCategory::a;
147
148 if(observed_rt_list.size() > 1)
149 {
150 measure_one.m_peakQualityCategory = PeakQualityCategory::zaa;
151 if(direct_charge_observation_in_msrun)
152 measure_one.m_peakQualityCategory = PeakQualityCategory::aa;
153 }
154 }
155 else if(nb_peaks > 1)
156 {
157 measure_one.m_peakQualityCategory = PeakQualityCategory::zab;
158 if(direct_charge_observation_in_msrun)
159 measure_one.m_peakQualityCategory = PeakQualityCategory::ab;
160 }
161 }
162 }
163}
@ a
peak detected using a single direct MS2 observation
Definition types.h:46
@ missed
no peak found at all
Definition types.h:60
@ aa
best possible : more than one direct MS2 fragmentation in same MSRUN
Definition types.h:45
PMSPP_LIB_DECL std::vector< TracePeak >::iterator findBestTracePeakGivenRtList(std::vector< TracePeak >::iterator begin, std::vector< TracePeak >::iterator end, const std::vector< double > &rt_list, std::size_t &nb_peaks)
find the best peak matching a list of retention times

References pappso::masschroq::a, pappso::masschroq::aa, pappso::masschroq::ab, pappso::findBestTracePeakGivenRtList(), pappso::masschroq::QuantificationMethod::getTraceDetectionInterfaceCstSPtr(), pappso::masschroq::PeptideMeasurementsBase::m_measurementList, pappso::masschroq::missed, msp_peptideObservation, pappso::masschroq::za, pappso::masschroq::zaa, and pappso::masschroq::zab.

◆ getPeptideObservationSp()

const pappso::masschroq::PeptideObservationSp & pappso::masschroq::PeptideMeasurements::getPeptideObservationSp ( ) const

◆ prepareMeasurements()

void pappso::masschroq::PeptideMeasurements::prepareMeasurements ( const pappso::MsRunId & targeted_msrun,
const MsRunGroup * msrun_group_p,
const QuantificationMethodSp & quantification_method )

Definition at line 52 of file peptidemeasurements.cpp.

56{
57 // for one peptide
58 pappso::masschroq::Peptide *the_peptide_p = msp_peptideObservation.get()->getPeptideSp().get();
59 // 1) charge states
60 // 2) isotope list
61 std::vector<std::uint8_t> charge_states = the_peptide_p->getAllObservedChargeStateList();
62
63 double best_rt = msp_peptideObservation.get()->getBestRtOverallChargeStates();
64
65
66 pappso::XicCoordSPtr best_xic_coord = msp_peptideObservation.get()->getBestXicCoord();
67
68 if(best_xic_coord.get() == nullptr)
69 {
70 throw pappso::PappsoException("best_xic_coord.get() == nullptr");
71 }
72
73 for(std::uint8_t charge : charge_states)
74 {
75
76 if(msrun_group_p->getIonMobilityGridSp().get() != nullptr)
77 {
78 // Ion mobility TimsTOF coordinates
79 best_xic_coord = msp_peptideObservation.get()->getBestXicCoordSPtrForCharge(charge);
80
81 if(best_xic_coord.get() == nullptr)
82 {
83 // now in this ms run, we do not have ion mobility index for
84 // this charge we must chek out in other msrun for this charge
85 best_xic_coord = the_peptide_p->getBestIonMobilityXicCoordToExtractOverallMsRunGroup(
86 *msrun_group_p, targeted_msrun, charge);
87 }
88 if(best_xic_coord.get() == nullptr)
89 continue;
90
91 best_xic_coord.get()->rtTarget = best_rt;
92 }
93
95 *the_peptide_p, quantification_method, best_xic_coord, charge, best_rt);
96 }
97}
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
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::MsRunGroup::getIonMobilityGridSp(), msp_peptideObservation, and pappso::masschroq::PeptideMeasurementsBase::prepareMeasurementsForPeptide().

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

Member Data Documentation

◆ msp_peptideObservation

PeptideObservationSp pappso::masschroq::PeptideMeasurements::msp_peptideObservation
private

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