libpappsomspp
Library for mass spectrometry
pappso::QCPSpectrum Class Reference

#include <qcpspectrum.h>

Inheritance diagram for pappso::QCPSpectrum:

Protected Member Functions

 QCPSpectrum (MassSpectrumWidget *parent, bool visible)
 
 ~QCPSpectrum ()
 
void clearData ()
 
void rescale ()
 
void setSpectrumP (const MassSpectrum *spectrum)
 
void addMassDelta (const PeakIonIsotopeMatch &peak_ion_match)
 
void addMs1IsotopePattern (const std::vector< pappso::PeptideNaturalIsotopeAverageSp > &isotope_mass_list, pappso_double intensity)
 
void addPeakIonIsotopeMatch (const PeakIonIsotopeMatch &peak_ion_match)
 
void highlightPrecursorPeaks (double precursor_mz, PrecisionPtr ms2_precision)
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseReleaseEvent (QMouseEvent *event) override
 
virtual void keyPressEvent (QKeyEvent *event) override
 
virtual void keyReleaseEvent (QKeyEvent *event) override
 

Private Member Functions

void getNearestPeakBetween (pappso_double mz, pappso_double mouse_mz_range) const
 
void getMostIntensePeakBetween (pappso_double mz, pappso_double mouse_mz_range) const
 
Q_SLOT void setMzRangeChanged (QCPRange range)
 

Private Attributes

MassSpectrumWidget_parent
 
const MassSpectrum_p_spectrum = nullptr
 
QCPRange _mz_range
 
QCPRange _intensity_range
 
QCPRange _mass_delta_range
 
QCPBars * _p_peak_bars
 
QCPBars * _p_peak_bars_isotope
 
QCPBars * mp_peak_bars_precursor
 
std::map< PeptideIon, QCPBars * > _map_ion_type_bars
 
QCPAxisRect * _p_delta_axis_rect
 
QCPGraph * _p_delta_graph
 
double _bar_width = 0.5
 
bool _click = false
 
bool _control_key = false
 
pappso::pappso_double _old_x
 
pappso::pappso_double _old_y
 

Friends

class MassSpectrumWidget
 

Detailed Description

Definition at line 45 of file qcpspectrum.h.

Constructor & Destructor Documentation

◆ QCPSpectrum()

QCPSpectrum::QCPSpectrum ( MassSpectrumWidget parent,
bool  visible 
)
protected

< Cter amino ions

< Cter amino ions + NH3 loss

< Cter amino ions + H2O loss

< Cter carbocations

Definition at line 37 of file qcpspectrum.cpp.

38  : QCustomPlot(parent)
39 {
40  qDebug() << "QCPSpectrum::QCPSpectrum begin";
41 
42  setFocusPolicy(Qt::ClickFocus);
43  _parent = parent;
44  _mz_range.lower = 0;
45  _mz_range.upper = 0;
46  _intensity_range.lower = 0;
47  _intensity_range.upper = 0;
48  _mass_delta_range.upper = -100;
49  _mass_delta_range.lower = 100;
50 
51 
52  // make axis rects' left side line up:
53  QCPMarginGroup *group = new QCPMarginGroup(this);
54  this->axisRect()->setMarginGroup(QCP::msLeft | QCP::msRight, group);
55 
56 
57  _p_peak_bars = new QCPBars(xAxis, yAxis);
58  _p_peak_bars->setWidthType(QCPBars::WidthType::wtAbsolute);
59  _p_peak_bars->setWidth(_bar_width);
60  _p_peak_bars->setPen(QPen(Qt::black, 1));
61  _p_peak_bars->setVisible(true);
62 
63  _p_peak_bars_isotope = new QCPBars(xAxis, yAxis);
64  _p_peak_bars_isotope->setWidthType(QCPBars::WidthType::wtAbsolute);
65  _p_peak_bars_isotope->setWidth(_bar_width * 10);
66  QColor red(Qt::red);
67  red.setAlpha(100);
68  _p_peak_bars_isotope->setPen(QPen(red, 1));
69  _p_peak_bars_isotope->setBrush(QBrush(red));
70 
71  mp_peak_bars_precursor = new QCPBars(xAxis, yAxis);
72  mp_peak_bars_precursor->setWidthType(QCPBars::WidthType::wtAbsolute);
73  mp_peak_bars_precursor->setWidth(_bar_width * 1.5);
74  mp_peak_bars_precursor->setPen(QPen(Qt::cyan, 1));
75  mp_peak_bars_precursor->setVisible(true);
76 
77  connect(this->xAxis,
78  SIGNAL(rangeChanged(QCPRange)),
79  this,
80  SLOT(setMzRangeChanged(QCPRange)));
81 
82 
83  std::vector<PeptideIon> all_ion_list = {
92  PeptideIon::y, ///< Cter amino ions
93  PeptideIon::ystar, ///< Cter amino ions + NH3 loss
94  PeptideIon::yo, ///< Cter amino ions + H2O loss
95  PeptideIon::z, ///< Cter carbocations
98  qDebug() << "SpectrumWidget::setVisibleMassDelta 5";
99 
100  for(PeptideIon ion_type : all_ion_list)
101  {
102  QCPBars *p_peak_bars = new QCPBars(xAxis, yAxis);
103  p_peak_bars->setWidthType(QCPBars::WidthType::wtAbsolute);
104  p_peak_bars->setWidth(_bar_width);
105  p_peak_bars->setPen(
106  QPen(PeptideFragmentIon::getPeptideIonColor(ion_type), 1));
107 
108  p_peak_bars->setVisible(true);
109  _map_ion_type_bars.insert(
110  std::pair<PeptideIon, QCPBars *>(ion_type, p_peak_bars));
111  }
112  qDebug() << "SpectrumWidget::setVisibleMassDelta visible ?";
113  setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
114  if(visible)
115  {
116 
117  _p_delta_axis_rect = new QCPAxisRect(this);
118  this->plotLayout()->addElement(1, 0, _p_delta_axis_rect);
119  _p_delta_axis_rect->axis(QCPAxis::atBottom)->setLayer("axes");
120  _p_delta_axis_rect->axis(QCPAxis::atBottom)->grid()->setLayer("grid");
121  _p_delta_axis_rect->axis(QCPAxis::atLeft)->setLabel("mass delta");
122  // bring bottom and main axis rect closer together:
123  this->plotLayout()->setRowSpacing(0);
124  _p_delta_axis_rect->setAutoMargins(QCP::msLeft | QCP::msRight |
125  QCP::msBottom);
126  _p_delta_axis_rect->setMargins(QMargins(0, 0, 0, 0));
127  this->setAutoAddPlottableToLegend(false);
128  _p_delta_graph = new QCPGraph(_p_delta_axis_rect->axis(QCPAxis::atBottom),
129  _p_delta_axis_rect->axis(QCPAxis::atLeft));
130  _p_delta_graph->setLineStyle(QCPGraph::LineStyle::lsNone);
131  _p_delta_graph->setScatterStyle(
132  QCPScatterStyle(QCPScatterStyle::ssDisc, 4.0));
133 
134  _p_delta_axis_rect->setMarginGroup(QCP::msLeft | QCP::msRight, group);
135  _p_delta_axis_rect->setMaximumSize(QSize(QWIDGETSIZE_MAX, 100));
136 
137 
138  //_p_delta_axis_rect->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom );
139  _p_delta_axis_rect->setRangeDrag(Qt::Horizontal | Qt::Vertical);
140  _p_delta_axis_rect->setRangeZoom(Qt::Vertical);
141 
142 
143  connect(_p_delta_axis_rect->axis(QCPAxis::atBottom),
144  SIGNAL(rangeChanged(QCPRange)),
145  this,
146  SLOT(setMzRangeChanged(QCPRange)));
147  }
148  else
149  {
150  _p_delta_axis_rect = nullptr;
151  }
152  qDebug() << "QCPSpectrum::QCPSpectrum end";
153 }
static const QColor getPeptideIonColor(PeptideIon ion_type)
QCPGraph * _p_delta_graph
Definition: qcpspectrum.h:90
QCPAxisRect * _p_delta_axis_rect
Definition: qcpspectrum.h:89
QCPBars * _p_peak_bars
Definition: qcpspectrum.h:85
MassSpectrumWidget * _parent
Definition: qcpspectrum.h:80
QCPRange _mass_delta_range
Definition: qcpspectrum.h:84
QCPRange _intensity_range
Definition: qcpspectrum.h:83
QCPBars * mp_peak_bars_precursor
Definition: qcpspectrum.h:87
std::map< PeptideIon, QCPBars * > _map_ion_type_bars
Definition: qcpspectrum.h:88
QCPBars * _p_peak_bars_isotope
Definition: qcpspectrum.h:86
Q_SLOT void setMzRangeChanged(QCPRange range)
PeptideIon
PeptideIon enum defines all types of ions (Nter or Cter)
Definition: types.h:385
@ a
Nter aldimine ions.
@ y
Cter amino ions.
@ c
Nter amino ions.
@ astar
Nter aldimine ions + NH3 loss.
@ ystar
Cter amino ions + NH3 loss.
@ yo
Cter amino ions + H2O loss.
@ bstar
Nter acylium ions + NH3 loss.
@ b
Nter acylium ions.
@ x
Cter acylium ions.
@ bo
Nter acylium ions + H2O loss.
@ ao
Nter aldimine ions + H2O loss.
@ z
Cter carbocations.

References _bar_width, _intensity_range, _map_ion_type_bars, _mass_delta_range, _mz_range, _p_delta_axis_rect, _p_delta_graph, _p_peak_bars, _p_peak_bars_isotope, _parent, pappso::a, pappso::ao, pappso::astar, pappso::b, pappso::bo, pappso::bp, pappso::bstar, pappso::c, pappso::PeptideFragmentIon::getPeptideIonColor(), mp_peak_bars_precursor, setMzRangeChanged(), pappso::x, pappso::y, pappso::yo, pappso::yp, pappso::ystar, and pappso::z.

◆ ~QCPSpectrum()

QCPSpectrum::~QCPSpectrum ( )
protected

Definition at line 154 of file qcpspectrum.cpp.

155 {
156 }

Member Function Documentation

◆ addMassDelta()

void QCPSpectrum::addMassDelta ( const PeakIonIsotopeMatch peak_ion_match)
protected

Definition at line 425 of file qcpspectrum.cpp.

426 {
427  if(_p_delta_axis_rect != nullptr)
428  {
429  // observed - theoretical
430  double diff =
431  peak_ion_match.getPeak().x -
432  peak_ion_match.getPeptideNaturalIsotopeAverageSp().get()->getMz();
433  _p_delta_graph->addData(peak_ion_match.getPeak().x, diff);
434 
435  if(diff > _mass_delta_range.upper)
436  _mass_delta_range.upper = diff;
437  if(diff < _mass_delta_range.lower)
438  _mass_delta_range.lower = diff;
439 
440  _p_delta_axis_rect->axis(QCPAxis::AxisType::atLeft)
441  ->setRange(_mass_delta_range);
442  }
443 }
virtual const PeptideNaturalIsotopeAverageSp & getPeptideNaturalIsotopeAverageSp() const
const DataPoint & getPeak() const
Definition: peakionmatch.h:55
pappso_double x
Definition: datapoint.h:22

References _mass_delta_range, _p_delta_axis_rect, _p_delta_graph, pappso::PeakIonMatch::getPeak(), pappso::PeakIonIsotopeMatch::getPeptideNaturalIsotopeAverageSp(), and pappso::DataPoint::x.

Referenced by pappso::MassSpectrumWidget::plot().

◆ addMs1IsotopePattern()

void QCPSpectrum::addMs1IsotopePattern ( const std::vector< pappso::PeptideNaturalIsotopeAverageSp > &  isotope_mass_list,
pappso_double  intensity 
)
protected

Definition at line 453 of file qcpspectrum.cpp.

456 {
457  pappso_double total_intensity =
458  ((pappso_double)1.0 / isotope_mass_list.at(0).get()->getIntensityRatio()) *
459  intensity;
460  for(PeptideNaturalIsotopeAverageSp peptide : isotope_mass_list)
461  {
462  _p_peak_bars_isotope->addData(peptide.get()->getMz(),
463  peptide.get()->getIntensityRatio() *
464  total_intensity);
465  }
466 }
double pappso_double
A type definition for doubles.
Definition: types.h:48
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp

References _p_peak_bars_isotope.

Referenced by pappso::MassSpectrumWidget::plot().

◆ addPeakIonIsotopeMatch()

void QCPSpectrum::addPeakIonIsotopeMatch ( const PeakIonIsotopeMatch peak_ion_match)
protected

Definition at line 446 of file qcpspectrum.cpp.

447 {
448  _map_ion_type_bars[peak_ion_match.getPeptideIonType()]->addData(
449  peak_ion_match.getPeak().x, peak_ion_match.getPeak().y);
450 }
PeptideIon getPeptideIonType() const
Definition: peakionmatch.h:67
pappso_double y
Definition: datapoint.h:23

References _map_ion_type_bars, pappso::PeakIonMatch::getPeak(), pappso::PeakIonMatch::getPeptideIonType(), pappso::DataPoint::x, and pappso::DataPoint::y.

Referenced by pappso::MassSpectrumWidget::plot().

◆ clearData()

void QCPSpectrum::clearData ( )
protected

Definition at line 244 of file qcpspectrum.cpp.

245 {
246  qDebug();
247  _p_peak_bars->setData(QVector<double>(), QVector<double>());
248  _p_peak_bars->data().clear();
249  qDebug();
250  _p_peak_bars_isotope->setData(QVector<double>(), QVector<double>());
251  _p_peak_bars_isotope->data().clear();
252  qDebug();
253  for(std::pair<PeptideIon, QCPBars *> pair_ion_bar : _map_ion_type_bars)
254  {
255  pair_ion_bar.second->setData(QVector<double>(), QVector<double>());
256  pair_ion_bar.second->data().clear();
257  }
258  // this->clearPlottables();
259  // this->clearItems();
260  if(_p_delta_axis_rect != nullptr)
261  {
262  _p_delta_graph->setData(QVector<double>(), QVector<double>());
263  _p_delta_graph->data().clear();
264  }
265 
266  _mz_range.lower = 0;
267  _mz_range.upper = 0;
268 
269  _mass_delta_range.upper = -100;
270  _mass_delta_range.lower = 100;
271  qDebug();
272 }

References _map_ion_type_bars, _mass_delta_range, _mz_range, _p_delta_axis_rect, _p_delta_graph, _p_peak_bars, and _p_peak_bars_isotope.

Referenced by pappso::MassSpectrumWidget::clearData().

◆ getMostIntensePeakBetween()

void QCPSpectrum::getMostIntensePeakBetween ( pappso_double  mz,
pappso_double  mouse_mz_range 
) const
private

Definition at line 393 of file qcpspectrum.cpp.

395 {
396  /*qDebug() << "QCPSpectrum::getNearestPeakBetween begin " << mz << " "
397  << mouse_mz_range;*/
398  const DataPoint *p_peak_match;
399  p_peak_match = nullptr;
400  pappso_double min = mz - mouse_mz_range;
401  pappso_double max = mz + mouse_mz_range;
402 
403  for(const DataPoint &peak : *_p_spectrum)
404  {
405  if((peak.x > min) && (peak.x < max))
406  {
407  if(p_peak_match == nullptr)
408  {
409  p_peak_match = &peak;
410  }
411  else
412  {
413  if(p_peak_match->y < peak.y)
414  {
415  p_peak_match = &peak;
416  }
417  }
418  }
419  }
420  _parent->peakChangeEvent(p_peak_match);
421  // qDebug() << "QCPSpectrum::getNearestPeakBetween end";
422 }
void peakChangeEvent(const DataPoint *p_peak_match)
const MassSpectrum * _p_spectrum
Definition: qcpspectrum.h:81
@ max
maximum of intensities

References _p_spectrum, _parent, pappso::max, pappso::mz, pappso::MassSpectrumWidget::peakChangeEvent(), and pappso::DataPoint::y.

Referenced by mouseMoveEvent().

◆ getNearestPeakBetween()

void QCPSpectrum::getNearestPeakBetween ( pappso_double  mz,
pappso_double  mouse_mz_range 
) const
private

Definition at line 360 of file qcpspectrum.cpp.

362 {
363  /*qDebug() << "QCPSpectrum::getNearestPeakBetween begin " << mz << " "
364  << mouse_mz_range;*/
365  const DataPoint *p_peak_match;
366  p_peak_match = nullptr;
367  pappso_double min = mz - mouse_mz_range;
368  pappso_double max = mz + mouse_mz_range;
369 
370  for(const DataPoint &peak : *_p_spectrum)
371  {
372  if((peak.x > min) && (peak.x < max))
373  {
374  if(p_peak_match == nullptr)
375  {
376  p_peak_match = &peak;
377  }
378  else
379  {
380  if(fabs(mz - peak.x) < fabs(mz - p_peak_match->x))
381  {
382  p_peak_match = &peak;
383  }
384  }
385  }
386  }
387  _parent->peakChangeEvent(p_peak_match);
388  // qDebug() << "QCPSpectrum::getNearestPeakBetween end";
389 }

References _p_spectrum, _parent, pappso::max, pappso::mz, pappso::MassSpectrumWidget::peakChangeEvent(), and pappso::DataPoint::x.

◆ highlightPrecursorPeaks()

void pappso::QCPSpectrum::highlightPrecursorPeaks ( double  precursor_mz,
PrecisionPtr  ms2_precision 
)
protected

Definition at line 469 of file qcpspectrum.cpp.

471 {
472  MzRange range(precursor_mz, ms2_precision);
473 
474  for(const DataPoint &peak : *_p_spectrum)
475  {
476  if((peak.x > range.lower()) && (peak.x < range.upper()))
477  {
478  mp_peak_bars_precursor->addData(peak.x, peak.y);
479  QCPItemText *text_label = new QCPItemText(this);
480  text_label->setVisible(true);
481  text_label->setPositionAlignment(Qt::AlignBottom | Qt::AlignHCenter);
482  text_label->position->setType(QCPItemPosition::ptPlotCoords);
483  text_label->position->setCoords(
484  peak.x,
485  peak.y); // place position at center/top of axis rect
486  text_label->setFont(QFont(font().family(), 8));
487  text_label->setText("precursor");
488  text_label->setColor(Qt::cyan);
489  }
490  }
491 }

References pappso::MzRange::lower(), and pappso::MzRange::upper().

◆ keyPressEvent()

void QCPSpectrum::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

Definition at line 275 of file qcpspectrum.cpp.

276 {
277  if(event->key() == Qt::Key_Control)
278  {
279  _control_key = true;
280  }
281  qDebug() << "QCPSpectrum::keyPressEvent end";
282 }

References _control_key.

◆ keyReleaseEvent()

void QCPSpectrum::keyReleaseEvent ( QKeyEvent *  event)
overrideprotectedvirtual

Definition at line 285 of file qcpspectrum.cpp.

286 {
287  if(event->key() == Qt::Key_Control)
288  {
289  _control_key = false;
290  }
291  qDebug() << "QCPSpectrum::keyReleaseEvent end";
292 }

References _control_key.

◆ mouseMoveEvent()

void QCPSpectrum::mouseMoveEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Definition at line 317 of file qcpspectrum.cpp.

318 {
319  pappso::pappso_double x = xAxis->pixelToCoord(event->x());
320  if(_click)
321  {
322  /* qDebug() << "QCPSpectrum::mouseMoveEvent begin "
323  << xAxis->pixelToCoord(event->x()) << " "
324  << yAxis->pixelToCoord(event->y());*/
325  pappso::pappso_double y = yAxis->pixelToCoord(event->y());
326  if(y < 0)
327  {
328  y = 0;
329  }
330  if(_control_key)
331  {
332  if(y > 0)
333  {
334  this->yAxis->scaleRange(_old_y / y, 0);
335  }
336  }
337  else
338  {
339  this->xAxis->moveRange(xAxis->pixelToCoord(_old_x) -
340  xAxis->pixelToCoord(event->x()));
341  }
342  _old_x = event->x();
343  _old_y = y;
344  replot();
345  // qDebug() << "QCPSpectrum::mouseMoveEvent end";
346  }
347  else
348  {
349  if(_p_spectrum != nullptr)
350  {
351  pappso::pappso_double mouse_mz_range =
352  xAxis->pixelToCoord(10) - xAxis->pixelToCoord(8);
353  getMostIntensePeakBetween(x, mouse_mz_range);
355  }
356  }
357 }
void mzChangeEvent(pappso_double mz) const
pappso::pappso_double _old_x
Definition: qcpspectrum.h:94
void getMostIntensePeakBetween(pappso_double mz, pappso_double mouse_mz_range) const
pappso::pappso_double _old_y
Definition: qcpspectrum.h:95

References _click, _control_key, _old_x, _old_y, _p_spectrum, _parent, getMostIntensePeakBetween(), pappso::MassSpectrumWidget::mzChangeEvent(), pappso::x, and pappso::y.

◆ mousePressEvent()

void QCPSpectrum::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Definition at line 295 of file qcpspectrum.cpp.

296 {
297  /*qDebug() << "QCPSpectrum::mousePressEvent begin "
298  << xAxis->pixelToCoord(event->x()) << " "
299  << yAxis->pixelToCoord(event->y());*/
300  _click = true;
301  _old_x = event->x();
302  _old_y = yAxis->pixelToCoord(event->y());
303  if(_old_y < 0)
304  _old_y = 0;
305  /* qDebug() << "QCPSpectrum::mousePressEvent end";*/
306 }

References _click, _old_x, and _old_y.

◆ mouseReleaseEvent()

void QCPSpectrum::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Definition at line 308 of file qcpspectrum.cpp.

309 {
310  /*qDebug() << "QCPSpectrum::mouseReleaseEvent begin "
311  << xAxis->pixelToCoord(event->x()) << " "
312  << yAxis->pixelToCoord(event->y());*/
313  _click = false;
314  // qDebug() << "QCPSpectrum::mouseReleaseEvent end";
315 }

References _click.

◆ rescale()

void QCPSpectrum::rescale ( )
protected

Definition at line 190 of file qcpspectrum.cpp.

191 {
192  _p_peak_bars->setVisible(true);
193 
194  //_p_peak_bars->rescaleAxes(false);
195  // this->rescaleAxes(false);
196 
197 
198  if(_mz_range.lower < 0)
199  {
200  _mz_range.lower = 0;
201  }
202  if(_mz_range.upper < 0)
203  {
204  _mz_range.upper = 1000;
205  }
206  else
207  {
208  xAxis->setRange(_mz_range);
209  yAxis->setRange(_intensity_range);
210  if(_p_delta_axis_rect != nullptr)
211  {
212  _p_delta_axis_rect->axis(QCPAxis::AxisType::atLeft)
213  ->setRange(_mass_delta_range);
214  }
215  }
216 }

References _intensity_range, _mass_delta_range, _mz_range, _p_delta_axis_rect, and _p_peak_bars.

Referenced by pappso::MassSpectrumWidget::rescale().

◆ setMzRangeChanged()

void QCPSpectrum::setMzRangeChanged ( QCPRange  range)
private

Definition at line 219 of file qcpspectrum.cpp.

220 {
221  qDebug() << "QCPSpectrum::setMzRangeChanged _mz_range.lower"
222  << _mz_range.lower;
223  if(_mz_range.lower > 0)
224  {
225  if(range.lower < _mz_range.lower)
226  {
227  range.lower = _mz_range.lower;
228  }
229  if(range.upper > _mz_range.upper)
230  {
231  range.upper = _mz_range.upper;
232  }
233  }
234 
235  xAxis->setRange(range);
236 
237  if(_p_delta_axis_rect != nullptr)
238  {
239  _p_delta_axis_rect->axis(QCPAxis::atBottom)->setRange(range);
240  }
241 }

References _mz_range, and _p_delta_axis_rect.

Referenced by QCPSpectrum().

◆ setSpectrumP()

void QCPSpectrum::setSpectrumP ( const MassSpectrum spectrum)
protected

Definition at line 159 of file qcpspectrum.cpp.

160 {
161  _mass_delta_range.upper = -100;
162  _mass_delta_range.lower = 100;
163  // generate basic peaks:
164  _p_spectrum = spectrum;
165  if((spectrum != nullptr) && (spectrum->size() != 0))
166  {
167  // throw PappsoException(QObject::tr("Error in
168  // SpectrumWidget::setSpectrumSp :\n_spectrum_sp.get() == nullptr"));
169  //}
170  _p_peak_bars->setVisible(true);
171  for(const DataPoint &peak : *spectrum)
172  {
173  _p_peak_bars->addData(peak.x, peak.y);
174  }
175  _mz_range.lower = spectrum->front().x - 1;
176  _mz_range.upper = spectrum->back().x + 1;
177  _intensity_range.lower = 0;
178  _intensity_range.upper = spectrum->maxY();
179  }
180  else
181  {
182  _mz_range.lower = 0;
183  _mz_range.upper = 0;
184  _intensity_range.lower = 0;
185  _intensity_range.upper = 0;
186  }
187 }

References _intensity_range, _mass_delta_range, _mz_range, _p_peak_bars, and _p_spectrum.

Referenced by pappso::MassSpectrumWidget::clearData().

Friends And Related Function Documentation

◆ MassSpectrumWidget

friend class MassSpectrumWidget
friend

Definition at line 49 of file qcpspectrum.h.

Member Data Documentation

◆ _bar_width

double pappso::QCPSpectrum::_bar_width = 0.5
private

Definition at line 91 of file qcpspectrum.h.

Referenced by QCPSpectrum().

◆ _click

bool pappso::QCPSpectrum::_click = false
private

Definition at line 92 of file qcpspectrum.h.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

◆ _control_key

bool pappso::QCPSpectrum::_control_key = false
private

Definition at line 93 of file qcpspectrum.h.

Referenced by keyPressEvent(), keyReleaseEvent(), and mouseMoveEvent().

◆ _intensity_range

QCPRange pappso::QCPSpectrum::_intensity_range
private

Definition at line 83 of file qcpspectrum.h.

Referenced by QCPSpectrum(), rescale(), and setSpectrumP().

◆ _map_ion_type_bars

std::map<PeptideIon, QCPBars *> pappso::QCPSpectrum::_map_ion_type_bars
private

Definition at line 88 of file qcpspectrum.h.

Referenced by QCPSpectrum(), addPeakIonIsotopeMatch(), and clearData().

◆ _mass_delta_range

QCPRange pappso::QCPSpectrum::_mass_delta_range
private

Definition at line 84 of file qcpspectrum.h.

Referenced by QCPSpectrum(), addMassDelta(), clearData(), rescale(), and setSpectrumP().

◆ _mz_range

QCPRange pappso::QCPSpectrum::_mz_range
private

Definition at line 82 of file qcpspectrum.h.

Referenced by QCPSpectrum(), clearData(), rescale(), setMzRangeChanged(), and setSpectrumP().

◆ _old_x

pappso::pappso_double pappso::QCPSpectrum::_old_x
private

Definition at line 94 of file qcpspectrum.h.

Referenced by mouseMoveEvent(), and mousePressEvent().

◆ _old_y

pappso::pappso_double pappso::QCPSpectrum::_old_y
private

Definition at line 95 of file qcpspectrum.h.

Referenced by mouseMoveEvent(), and mousePressEvent().

◆ _p_delta_axis_rect

QCPAxisRect* pappso::QCPSpectrum::_p_delta_axis_rect
private

Definition at line 89 of file qcpspectrum.h.

Referenced by QCPSpectrum(), addMassDelta(), clearData(), rescale(), and setMzRangeChanged().

◆ _p_delta_graph

QCPGraph* pappso::QCPSpectrum::_p_delta_graph
private

Definition at line 90 of file qcpspectrum.h.

Referenced by QCPSpectrum(), addMassDelta(), and clearData().

◆ _p_peak_bars

QCPBars* pappso::QCPSpectrum::_p_peak_bars
private

Definition at line 85 of file qcpspectrum.h.

Referenced by QCPSpectrum(), clearData(), rescale(), and setSpectrumP().

◆ _p_peak_bars_isotope

QCPBars* pappso::QCPSpectrum::_p_peak_bars_isotope
private

Definition at line 86 of file qcpspectrum.h.

Referenced by QCPSpectrum(), addMs1IsotopePattern(), and clearData().

◆ _p_spectrum

const MassSpectrum* pappso::QCPSpectrum::_p_spectrum = nullptr
private

◆ _parent

MassSpectrumWidget* pappso::QCPSpectrum::_parent
private

◆ mp_peak_bars_precursor

QCPBars* pappso::QCPSpectrum::mp_peak_bars_precursor
private

Definition at line 87 of file qcpspectrum.h.

Referenced by QCPSpectrum().


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