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

#include <massspectrumwidget.h>

Inheritance diagram for pappso::MassSpectrumWidget:
GraphicDeviceWidget

Signals

void mzChanged (double mz) const
void peakChanged (pappso::DataPointCstSPtr peak_match) const
void ionChanged (pappso::PeakIonIsotopeMatchCstSPtr ion) const

Public Member Functions

 MassSpectrumWidget (QWidget *parent=0)
 ~MassSpectrumWidget ()
void setQualifiedMassSpectrum (const QualifiedMassSpectrum &spectrum)
void setMsLevel (unsigned int ms_level)
void setMassSpectrumCstSPtr (const MassSpectrumCstSPtr &spectrum)
void setPeptideSp (const PeptideSp &peptide_sp)
void plot ()
void rescale ()
void setPeptideCharge (unsigned int parent_ion_charge)
void setMaximumIsotopeNumber (unsigned int max_isotope_number)
void setMaximumIsotopeRank (unsigned int max_isotope_rank)
void setIonList (const std::list< Enums::PeptideIon > &ion_list)
void setMs1Precision (PrecisionPtr precision)
void setMs2Precision (PrecisionPtr precision)
bool savePdf (const QString &fileName, int width=0, int height=0)
void toQPaintDevice (QPaintDevice *device, const QSize &size) override
void highlightPrecursorPeaks ()
QJsonObject getJsonPsmIsotope () const
Public Member Functions inherited from GraphicDeviceWidget
 GraphicDeviceWidget (QWidget *parent)
virtual ~GraphicDeviceWidget ()
virtual void toSvgFile (const QString &filename, const QString &title, const QString &description, const QSize &size) final

Protected Member Functions

void mzChangeEvent (pappso_double mz) const
void peakChangeEvent (const DataPoint *p_peak_match)

Private Member Functions

void peptideAnnotate ()
void setVisibleMassDelta (bool visible)
void clearData ()
void computeIsotopeMassList ()

Private Attributes

unsigned int _tag_nmost_intense = 10
unsigned int _max_isotope_number = 0
unsigned int _max_isotope_rank = 1
MassSpectrumCstSPtr _spectrum_sp
PrecisionPtr _p_ms1_precision = PrecisionFactory::getDaltonInstance(0.1)
PrecisionPtr _p_ms2_precision = PrecisionFactory::getDaltonInstance(0.5)
unsigned int _peptide_charge = 3
unsigned int _ms_level
PeptideSp _peptide_sp
std::list< Enums::PeptideIon_ion_list
std::list< PeakIonIsotopeMatch_peak_ion_isotope_match_list
std::vector< pappso::PeptideNaturalIsotopeAverageSp_isotope_mass_list
 list of isotope precursors
QCPSpectrum_custom_plot = nullptr
bool _is_visible_mass_delta
const DataPoint_p_mouse_peak = nullptr

Friends

class QCPSpectrum

Detailed Description

Definition at line 47 of file massspectrumwidget.h.

Constructor & Destructor Documentation

◆ MassSpectrumWidget()

MassSpectrumWidget::MassSpectrumWidget ( QWidget * parent = 0)

Definition at line 41 of file massspectrumwidget.cpp.

41 : GraphicDeviceWidget(parent)
42{
43 qDebug();
44
45 _ms_level = 1;
47 _custom_plot = nullptr;
48
49 this->setLayout(new QHBoxLayout(this));
50
51 this->layout()->setContentsMargins(0, 0, 0, 0);
53 qDebug();
54}
GraphicDeviceWidget(QWidget *parent)
std::list< Enums::PeptideIon > _ion_list
void setVisibleMassDelta(bool visible)
static std::list< Enums::PeptideIon > getCIDionList()

References GraphicDeviceWidget::GraphicDeviceWidget(), _custom_plot, _ion_list, _ms_level, pappso::PeptideFragmentIonListBase::getCIDionList(), and setVisibleMassDelta().

◆ ~MassSpectrumWidget()

MassSpectrumWidget::~MassSpectrumWidget ( )

Definition at line 55 of file massspectrumwidget.cpp.

56{
57}

Member Function Documentation

◆ clearData()

void MassSpectrumWidget::clearData ( )
private

Definition at line 119 of file massspectrumwidget.cpp.

120{
121 qDebug();
122 _custom_plot->clearData();
123 qDebug();
124 _custom_plot->clearItems();
125 _custom_plot->setSpectrumP(_spectrum_sp.get());
126 qDebug();
127}
MassSpectrumCstSPtr _spectrum_sp

References _custom_plot, and _spectrum_sp.

Referenced by peptideAnnotate(), QCPSpectrum, and setMassSpectrumCstSPtr().

◆ computeIsotopeMassList()

void MassSpectrumWidget::computeIsotopeMassList ( )
private

Definition at line 405 of file massspectrumwidget.cpp.

406{
407 qDebug() << "_p_ms1_precision->toString()=" << _p_ms1_precision->toString();
408 _isotope_mass_list.resize(0);
409 // compute isotope masses :
410 if(_peptide_sp != nullptr)
411 {
412 pappso::PeptideNaturalIsotopeList isotope_list(_peptide_sp);
413 std::map<unsigned int, pappso::pappso_double> map_isotope_number =
414 isotope_list.getIntensityRatioPerIsotopeNumber();
415
416 for(unsigned int i = 0; i < map_isotope_number.size(); i++)
417 {
418
419 unsigned int asked_rank = 0;
420 unsigned int given_rank = 0;
421 bool more_rank = true;
422 while(more_rank)
423 {
424 asked_rank++;
425 pappso::PeptideNaturalIsotopeAverage isotopeAverageMono(
426 isotope_list, asked_rank, i, _peptide_charge, _p_ms1_precision);
427 given_rank = isotopeAverageMono.getIsotopeRank();
428 if(given_rank < asked_rank)
429 {
430 more_rank = false;
431 }
432 else if(isotopeAverageMono.getIntensityRatio() == 0)
433 {
434 more_rank = false;
435 }
436 else
437 {
438 // isotopeAverageMono.makePeptideNaturalIsotopeAverageSp();
439 _isotope_mass_list.push_back(
440 isotopeAverageMono.makePeptideNaturalIsotopeAverageSp());
441 }
442 }
443 }
444 }
445 qDebug() << "_isotope_mass_list.size()=" << _isotope_mass_list.size();
446}
std::vector< pappso::PeptideNaturalIsotopeAverageSp > _isotope_mass_list
list of isotope precursors

References _isotope_mass_list, _p_ms1_precision, _peptide_charge, _peptide_sp, pappso::PeptideNaturalIsotopeAverage::getIntensityRatio(), pappso::PeptideNaturalIsotopeList::getIntensityRatioPerIsotopeNumber(), pappso::PeptideNaturalIsotopeAverage::getIsotopeRank(), and pappso::PeptideNaturalIsotopeAverage::makePeptideNaturalIsotopeAverageSp().

Referenced by peptideAnnotate(), and QCPSpectrum.

◆ getJsonPsmIsotope()

QJsonObject pappso::MassSpectrumWidget::getJsonPsmIsotope ( ) const

Definition at line 463 of file massspectrumwidget.cpp.

464{
465 QJsonObject psm_json;
466
467 try
468 {
469
470 if(_peptide_sp.get() != nullptr)
471 {
472 psm_json.insert("proforma", _peptide_sp.get()->toProForma());
473 }
474
475 if(_spectrum_sp.get() != nullptr)
476 {
477 struct data_plot
478 {
479 pappso::DataPoint point;
480 double mz_th;
481 int charge;
482 int size;
483 int isotope_number;
484 int isotope_rank;
485 };
486
487 std::map<pappso::Enums::PeptideIon, std::vector<data_plot>> ion_map;
488
489 QJsonObject spectrum_json;
490 spectrum_json.insert("mz", pappso::Utils::toJson(_spectrum_sp.get()->xValues()));
491 spectrum_json.insert("intensity", pappso::Utils::toJson(_spectrum_sp.get()->yValues()));
492
493
494 for(const pappso::PeakIonIsotopeMatch &peakion_match : _peak_ion_isotope_match_list)
495 {
496 data_plot one_ion_match;
497 one_ion_match.charge = (int)peakion_match.getCharge();
498 one_ion_match.isotope_number =
499 (int)peakion_match.getPeptideNaturalIsotopeAverageSp().get()->getIsotopeNumber();
500 one_ion_match.isotope_rank =
501 (int)peakion_match.getPeptideNaturalIsotopeAverageSp().get()->getIsotopeRank();
502 one_ion_match.mz_th =
503 peakion_match.getPeptideNaturalIsotopeAverageSp().get()->getMz();
504 one_ion_match.point = peakion_match.getPeak();
505 one_ion_match.size = (int)peakion_match.getPeptideFragmentIonSp().get()->size();
506
507 auto it = ion_map.insert({peakion_match.getPeptideIonType(), {}});
508 it.first->second.push_back(one_ion_match);
509 }
510
511 QJsonObject psm_ion_json;
512 for(auto &cle_valeur : ion_map)
513 {
514 std::vector<data_plot> &current_vector = cle_valeur.second;
515
516 std::sort(
517 current_vector.begin(),
518 current_vector.end(),
519 [](const data_plot &a, const data_plot &b) { return a.point.x < b.point.x; });
520 QJsonArray current_ion_json_arr;
521
522 for(const data_plot &one_point : current_vector)
523 {
524 QJsonObject current_ion;
525 current_ion.insert("mz", one_point.point.x);
526 current_ion.insert("mzth", one_point.mz_th);
527 current_ion.insert("intensity", one_point.point.y);
528 current_ion.insert("size", one_point.size);
529 current_ion.insert("charge", one_point.charge);
530 current_ion.insert("isotope", one_point.isotope_number);
531 current_ion.insert("rank", one_point.isotope_rank);
532
533 current_ion_json_arr.push_back(current_ion);
534 }
535
536
537 psm_ion_json.insert(pappso::Utils::toString(cle_valeur.first), current_ion_json_arr);
538 }
539
540 psm_json.insert("ion-series", psm_ion_json);
541 psm_json.insert("spectra", spectrum_json);
542 }
543 }
544 catch(const pappso::PappsoException &error)
545 {
546 throw pappso::PappsoException(
547 QObject::tr("Unable to build JSON PSM object:\n%1").arg(error.qwhat()));
548 }
549 return psm_json;
550}
std::list< PeakIonIsotopeMatch > _peak_ion_isotope_match_list
virtual const QString & qwhat() const
static QString toString(specglob::SpectralAlignmentType type)
Convenience function to return a string describing the specglob alingment type.
Definition utils.cpp:544
static QJsonArray toJson(const std::vector< double > &myVec)
convert vector of double into json array
Definition utils.cpp:774

References _peak_ion_isotope_match_list, _peptide_sp, _spectrum_sp, pappso::a, pappso::b, pappso::PappsoException::qwhat(), pappso::Utils::toJson(), and pappso::Utils::toString().

◆ highlightPrecursorPeaks()

void pappso::MassSpectrumWidget::highlightPrecursorPeaks ( )

Definition at line 449 of file massspectrumwidget.cpp.

450{
451
452 if(_ms_level > 1)
453 {
454 pappso_double precursor_mz_1 = _peptide_sp->getMz(1);
455 _custom_plot->highlightPrecursorPeaks(precursor_mz_1, 1, _p_ms2_precision);
456 pappso_double precursor_mz_charge = _peptide_sp->getMz(_peptide_charge);
457 _custom_plot->highlightPrecursorPeaks(precursor_mz_charge, _peptide_charge, _p_ms2_precision);
458 }
459}
double pappso_double
A type definition for doubles.
Definition types.h:60

References _custom_plot, _ms_level, _p_ms2_precision, _peptide_charge, and _peptide_sp.

◆ ionChanged

void pappso::MassSpectrumWidget::ionChanged ( pappso::PeakIonIsotopeMatchCstSPtr ion) const
signal

Referenced by peakChangeEvent().

◆ mzChanged

void pappso::MassSpectrumWidget::mzChanged ( double mz) const
signal

Referenced by mzChangeEvent().

◆ mzChangeEvent()

void MassSpectrumWidget::mzChangeEvent ( pappso_double mz) const
protected

Definition at line 360 of file massspectrumwidget.cpp.

361{
362 emit mzChanged(mz);
363}
void mzChanged(double mz) const

References mzChanged().

Referenced by QCPSpectrum.

◆ peakChanged

void pappso::MassSpectrumWidget::peakChanged ( pappso::DataPointCstSPtr peak_match) const
signal

Referenced by peakChangeEvent().

◆ peakChangeEvent()

void MassSpectrumWidget::peakChangeEvent ( const DataPoint * p_peak_match)
protected

Definition at line 366 of file massspectrumwidget.cpp.

367{
368 qDebug() << "p_peak_match=" << p_peak_match;
369 if(_p_mouse_peak != p_peak_match)
370 {
371 _p_mouse_peak = p_peak_match;
372 DataPointCstSPtr peak_shp;
373 // emit peakChanged(peak_shp);
374 if(_p_mouse_peak != nullptr)
375 {
376 qDebug() << "_p_mouse_peak->x=" << _p_mouse_peak->x;
377 peak_shp = _p_mouse_peak->makeDataPointCstSPtr();
378 emit peakChanged(peak_shp);
379 // try to find matched ion (if it exists)
380 bool found = false;
381 for(const PeakIonIsotopeMatch &peak_ion_match : _peak_ion_isotope_match_list)
382 {
383 if(peak_ion_match.getPeak().x == _p_mouse_peak->x)
384 {
385 // found
386 emit ionChanged(std::make_shared<const PeakIonIsotopeMatch>(
387 PeakIonIsotopeMatch(peak_ion_match)));
388 found = true;
389 }
390 }
391 if(!found)
392 {
393 emit ionChanged(std::shared_ptr<const PeakIonIsotopeMatch>());
394 }
395 }
396 else
397 {
398 qDebug() << "no peak";
399 emit peakChanged(peak_shp);
400 }
401 }
402}
void peakChanged(pappso::DataPointCstSPtr peak_match) const
void ionChanged(pappso::PeakIonIsotopeMatchCstSPtr ion) const
std::shared_ptr< const DataPoint > DataPointCstSPtr
Definition datapoint.h:18

References _p_mouse_peak, _peak_ion_isotope_match_list, ionChanged(), and peakChanged().

Referenced by QCPSpectrum.

◆ peptideAnnotate()

void MassSpectrumWidget::peptideAnnotate ( )
private

Definition at line 185 of file massspectrumwidget.cpp.

186{
187 qDebug() << " _max_isotope_number=" << _max_isotope_number;
188 clearData();
190 if((_spectrum_sp == nullptr) || (_peptide_sp == nullptr))
191 {
192 }
193 else
194 {
195 if(_ms_level > 1)
196 {
197 qDebug();
198 PeptideIsotopeSpectrumMatch psm_match(*(_spectrum_sp.get()),
202 _ion_list,
205
206 _peak_ion_isotope_match_list = psm_match.getPeakIonIsotopeMatchList();
207 qDebug() << "_peak_ion_isotope_match_list.size()=" << _peak_ion_isotope_match_list.size();
208 }
209 else
210 {
211 }
213 }
214 qDebug();
215}

References _ion_list, _max_isotope_number, _max_isotope_rank, _ms_level, _p_ms2_precision, _peak_ion_isotope_match_list, _peptide_charge, _peptide_sp, _spectrum_sp, clearData(), computeIsotopeMassList(), and pappso::PeptideIsotopeSpectrumMatch::getPeakIonIsotopeMatchList().

Referenced by plot(), and QCPSpectrum.

◆ plot()

void MassSpectrumWidget::plot ( )

Definition at line 265 of file massspectrumwidget.cpp.

266{
267
268 qDebug() << "_ms_level=" << _ms_level;
270 if(_ms_level == 1)
271 {
272 qDebug();
273 if(_spectrum_sp != nullptr)
274 {
275 qDebug();
276 if(_isotope_mass_list.size() > 0)
277 {
278
279 qDebug() << "_isotope_mass_list.size()=" << _isotope_mass_list.size();
280 std::sort(_isotope_mass_list.begin(),
281 _isotope_mass_list.end(),
284 return a.get()->getMz() < b.get()->getMz();
285 });
286
287 if(_isotope_mass_list.size() > 0)
288 {
289 PeptideNaturalIsotopeAverageSp precursor_peptide = _isotope_mass_list.at(0);
290 qDebug() << "precursor_peptide.get()->getMz()="
291 << precursor_peptide.get()->getMz();
292 MzRange precursor_mass(precursor_peptide.get()->getMz(), _p_ms1_precision);
293 DataPoint monoisotope_peak;
294 monoisotope_peak.y = 0;
295
296 for(const DataPoint &peak : *(_spectrum_sp.get()))
297 {
298 if(precursor_mass.contains(peak.x))
299 {
300 if(peak.y > monoisotope_peak.y)
301 {
302 qDebug() << "SpectrumWidget::plot "
303 "(peak.intensity > "
304 "monoisotope_peak.intensity) ";
305 monoisotope_peak = peak;
306 }
307 }
308 }
309 if(monoisotope_peak.y > 0)
310 {
311 qDebug() << "addMs1IsotopePattern";
312 _custom_plot->addMs1IsotopePattern(_isotope_mass_list, monoisotope_peak.y);
313 }
314 }
315 }
316 }
317 }
318 else
319 {
320 qDebug() << "_peak_ion_isotope_match_list.size()=" << _peak_ion_isotope_match_list.size();
322 [](const PeakIonIsotopeMatch &a, const PeakIonIsotopeMatch &b) {
323 return a.getPeak().y > b.getPeak().y;
324 });
325 unsigned int i = 0;
326 for(const PeakIonIsotopeMatch &peak_ion_match : _peak_ion_isotope_match_list)
327 {
328 _custom_plot->addPeakIonIsotopeMatch(peak_ion_match);
329
330 _custom_plot->addMassDelta(peak_ion_match);
331 //_p_delta_graph->addData(peak_ion_match.getPeak().x,
332 // peak_ion_match.getPeak().y);
333 if(i < _tag_nmost_intense)
334 {
335 QCPItemText *text_label = new QCPItemText(_custom_plot);
336 text_label->setVisible(true);
337 //_custom_plot->addItem(text_label);
338 text_label->setPositionAlignment(Qt::AlignBottom | Qt::AlignHCenter);
339 text_label->position->setType(QCPItemPosition::ptPlotCoords);
340 text_label->position->setCoords(
341 peak_ion_match.getPeak().x,
342 peak_ion_match.getPeak().y); // place position at center/top of axis rect
343 text_label->setFont(QFont(font().family(), 8));
344 text_label->setText(
345 peak_ion_match.getPeptideFragmentIonSp().get()->getCompletePeptideIonName(
346 peak_ion_match.getCharge()));
347 // text_label->setPen(QPen(PeptideFragmentIon::getPeptideIonColor(peak_ion_match.getPeptideIonType()),
348 // 1)); // show black border around text
349 text_label->setColor(
350 QColor(PeptideFragmentIon::getPeptideIonColor(peak_ion_match.getPeptideIonType())));
351 }
352 i++;
353 }
354 }
355
356 _custom_plot->replot();
357 qDebug();
358}
static const QColor getPeptideIonColor(Enums::PeptideIon ion_type)
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp
pappso_double y
Definition datapoint.h:25

References _custom_plot, _isotope_mass_list, _ms_level, _p_ms1_precision, _peak_ion_isotope_match_list, _spectrum_sp, _tag_nmost_intense, pappso::a, pappso::b, pappso::MzRange::contains(), pappso::PeptideNaturalIsotopeAverage::getMz(), pappso::PeptideFragmentIon::getPeptideIonColor(), peptideAnnotate(), and pappso::DataPoint::y.

◆ rescale()

void MassSpectrumWidget::rescale ( )

Definition at line 238 of file massspectrumwidget.cpp.

239{
240 qDebug();
241
242 _custom_plot->rescale();
243
244 /*
245 if (_p_delta_axis_rect != nullptr) {
246 _p_delta_axis_rect->axis(QCPAxis::AxisType::atLeft)->rescale();
247 }
248 */
249 _custom_plot->replot();
250 qDebug();
251}

References _custom_plot.

◆ savePdf()

bool MassSpectrumWidget::savePdf ( const QString & fileName,
int width = 0,
int height = 0 )

Definition at line 60 of file massspectrumwidget.cpp.

61{
62
63 if(_custom_plot != nullptr)
64 {
65 return _custom_plot->savePdf(fileName, width, height);
66 }
67 else
68 {
69 return false;
70 }
71}

References _custom_plot.

◆ setIonList()

void MassSpectrumWidget::setIonList ( const std::list< Enums::PeptideIon > & ion_list)

Definition at line 135 of file massspectrumwidget.cpp.

136{
137 _ion_list = ion_list;
138}

References _ion_list.

◆ setMassSpectrumCstSPtr()

void MassSpectrumWidget::setMassSpectrumCstSPtr ( const MassSpectrumCstSPtr & spectrum)

Definition at line 228 of file massspectrumwidget.cpp.

229{
230 qDebug();
231 _spectrum_sp = spectrum;
232
233 clearData();
234 qDebug();
235}

References _spectrum_sp, and clearData().

Referenced by setQualifiedMassSpectrum().

◆ setMaximumIsotopeNumber()

void MassSpectrumWidget::setMaximumIsotopeNumber ( unsigned int max_isotope_number)

Definition at line 174 of file massspectrumwidget.cpp.

175{
176 _max_isotope_number = max_isotope_number;
177}

References _max_isotope_number.

◆ setMaximumIsotopeRank()

void MassSpectrumWidget::setMaximumIsotopeRank ( unsigned int max_isotope_rank)

Definition at line 180 of file massspectrumwidget.cpp.

181{
182 _max_isotope_rank = max_isotope_rank;
183}

References _max_isotope_rank.

◆ setMs1Precision()

void MassSpectrumWidget::setMs1Precision ( PrecisionPtr precision)

Definition at line 159 of file massspectrumwidget.cpp.

160{
161 qDebug() << "precision->toString()=" << precision->toString();
162 _p_ms1_precision = precision;
163 //_precision._precision = precision._precision;
164}
virtual QString toString() const =0

References _p_ms1_precision, and pappso::PrecisionBase::toString().

◆ setMs2Precision()

void MassSpectrumWidget::setMs2Precision ( PrecisionPtr precision)

Definition at line 166 of file massspectrumwidget.cpp.

167{
168 qDebug() << "precision->toString()=" << precision->toString();
169 _p_ms2_precision = precision;
170 //_precision._precision = precision._precision;
171}

References _p_ms2_precision, and pappso::PrecisionBase::toString().

◆ setMsLevel()

void MassSpectrumWidget::setMsLevel ( unsigned int ms_level)

Definition at line 141 of file massspectrumwidget.cpp.

142{
143 qDebug() << "ms_level=" << ms_level;
144 _ms_level = ms_level;
145
146
147 if(_ms_level == 1)
148 {
149 setVisibleMassDelta(false);
150 }
151 else
152 {
154 }
155
156 //_precision._precision = precision._precision;
157}

References _ms_level, and setVisibleMassDelta().

Referenced by setQualifiedMassSpectrum().

◆ setPeptideCharge()

void MassSpectrumWidget::setPeptideCharge ( unsigned int parent_ion_charge)

Definition at line 130 of file massspectrumwidget.cpp.

131{
132 _peptide_charge = parent_ion_charge;
133}

References _peptide_charge.

◆ setPeptideSp()

void MassSpectrumWidget::setPeptideSp ( const PeptideSp & peptide_sp)

Definition at line 218 of file massspectrumwidget.cpp.

219{
220 qDebug();
221 _peptide_sp = peptide_sp;
222
223 // clearData();
224 qDebug();
225}

References _peptide_sp.

◆ setQualifiedMassSpectrum()

void MassSpectrumWidget::setQualifiedMassSpectrum ( const QualifiedMassSpectrum & spectrum)

Definition at line 254 of file massspectrumwidget.cpp.

255{
256 qDebug() << "spectrum.getPrecursorCharge()=" << spectrum.getPrecursorCharge();
257
258 setMsLevel(spectrum.getMsLevel());
260
261 qDebug();
262}
void setMassSpectrumCstSPtr(const MassSpectrumCstSPtr &spectrum)
void setMsLevel(unsigned int ms_level)
uint getMsLevel() const
Get the mass spectrum level.
MassSpectrumCstSPtr getMassSpectrumCstSPtr() const
Get the MassSpectrumCstSPtr.
uint getPrecursorCharge(bool *ok=nullptr) const
get precursor charge

References pappso::QualifiedMassSpectrum::getMassSpectrumCstSPtr(), pappso::QualifiedMassSpectrum::getMsLevel(), pappso::QualifiedMassSpectrum::getPrecursorCharge(), setMassSpectrumCstSPtr(), and setMsLevel().

◆ setVisibleMassDelta()

void MassSpectrumWidget::setVisibleMassDelta ( bool visible)
private

Definition at line 87 of file massspectrumwidget.cpp.

88{
89 qDebug();
90 if(_custom_plot != nullptr)
91 {
92 if(visible == _is_visible_mass_delta)
93 return;
94 delete _custom_plot;
95 }
96 _is_visible_mass_delta = visible;
97 while(auto item = this->layout()->takeAt(0))
98 {
99 delete item->widget();
100 }
101 qDebug();
102 _custom_plot = new QCPSpectrum(this, visible);
103 this->layout()->addWidget(_custom_plot);
104 qDebug();
105 _custom_plot->xAxis->setLabel("m/z");
106 _custom_plot->yAxis->setLabel("intensity");
107 qDebug();
108 _custom_plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
109 _custom_plot->axisRect()->setRangeDrag(Qt::Horizontal);
110 _custom_plot->axisRect()->setRangeZoom(Qt::Horizontal);
111 qDebug();
112 // legend->setVisible(false);
113 // legend->setFont(QFont("Helvetica",9));
114 // set locale to english, so we get english decimal separator:
115 // setLocale(QLocale(QLocale::English, QLocale::UnitedKingdom));
116 qDebug();
117}

References _custom_plot, _is_visible_mass_delta, and QCPSpectrum.

Referenced by MassSpectrumWidget(), QCPSpectrum, and setMsLevel().

◆ toQPaintDevice()

void MassSpectrumWidget::toQPaintDevice ( QPaintDevice * device,
const QSize & size )
overridevirtual

Implements GraphicDeviceWidget.

Definition at line 75 of file massspectrumwidget.cpp.

76{
77
78 if(_custom_plot != nullptr)
79 {
80 QCPPainter painter;
81 painter.begin(device);
82 _custom_plot->toPainter(&painter, size.width(), size.height());
83 painter.end();
84 }
85}

References _custom_plot.

◆ QCPSpectrum

friend class QCPSpectrum
friend

Member Data Documentation

◆ _custom_plot

QCPSpectrum* pappso::MassSpectrumWidget::_custom_plot = nullptr
private

◆ _ion_list

std::list<Enums::PeptideIon> pappso::MassSpectrumWidget::_ion_list
private

Definition at line 105 of file massspectrumwidget.h.

Referenced by MassSpectrumWidget(), peptideAnnotate(), and setIonList().

◆ _is_visible_mass_delta

bool pappso::MassSpectrumWidget::_is_visible_mass_delta
private

Definition at line 114 of file massspectrumwidget.h.

Referenced by setVisibleMassDelta().

◆ _isotope_mass_list

std::vector<pappso::PeptideNaturalIsotopeAverageSp> pappso::MassSpectrumWidget::_isotope_mass_list
private

list of isotope precursors

Definition at line 111 of file massspectrumwidget.h.

Referenced by computeIsotopeMassList(), and plot().

◆ _max_isotope_number

unsigned int pappso::MassSpectrumWidget::_max_isotope_number = 0
private

Definition at line 97 of file massspectrumwidget.h.

Referenced by peptideAnnotate(), and setMaximumIsotopeNumber().

◆ _max_isotope_rank

unsigned int pappso::MassSpectrumWidget::_max_isotope_rank = 1
private

Definition at line 98 of file massspectrumwidget.h.

Referenced by peptideAnnotate(), and setMaximumIsotopeRank().

◆ _ms_level

unsigned int pappso::MassSpectrumWidget::_ms_level
private

◆ _p_mouse_peak

const DataPoint* pappso::MassSpectrumWidget::_p_mouse_peak = nullptr
private

Definition at line 116 of file massspectrumwidget.h.

Referenced by peakChangeEvent().

◆ _p_ms1_precision

PrecisionPtr pappso::MassSpectrumWidget::_p_ms1_precision = PrecisionFactory::getDaltonInstance(0.1)
private

Definition at line 100 of file massspectrumwidget.h.

Referenced by computeIsotopeMassList(), plot(), and setMs1Precision().

◆ _p_ms2_precision

PrecisionPtr pappso::MassSpectrumWidget::_p_ms2_precision = PrecisionFactory::getDaltonInstance(0.5)
private

Definition at line 101 of file massspectrumwidget.h.

Referenced by highlightPrecursorPeaks(), peptideAnnotate(), and setMs2Precision().

◆ _peak_ion_isotope_match_list

std::list<PeakIonIsotopeMatch> pappso::MassSpectrumWidget::_peak_ion_isotope_match_list
private

Definition at line 107 of file massspectrumwidget.h.

Referenced by getJsonPsmIsotope(), peakChangeEvent(), peptideAnnotate(), and plot().

◆ _peptide_charge

unsigned int pappso::MassSpectrumWidget::_peptide_charge = 3
private

◆ _peptide_sp

PeptideSp pappso::MassSpectrumWidget::_peptide_sp
private

◆ _spectrum_sp

MassSpectrumCstSPtr pappso::MassSpectrumWidget::_spectrum_sp
private

◆ _tag_nmost_intense

unsigned int pappso::MassSpectrumWidget::_tag_nmost_intense = 10
private

Definition at line 96 of file massspectrumwidget.h.

Referenced by plot().


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