libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
qcpspectrum.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/widget/spectrumwidget/qcpspectrum.h
3
* \date 31/12/2017
4
* \author Olivier Langella
5
* \brief Custom plot derivative to plot a spectrum
6
*/
7
8
9
/*******************************************************************************
10
* Copyright (c) 2017 Olivier Langella <Olivier.Langella@u-psud.fr>.
11
*
12
* This file is part of the PAPPSOms++ library.
13
*
14
* PAPPSOms++ is free software: you can redistribute it and/or modify
15
* it under the terms of the GNU General Public License as published by
16
* the Free Software Foundation, either version 3 of the License, or
17
* (at your option) any later version.
18
*
19
* PAPPSOms++ is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
* GNU General Public License for more details.
23
*
24
* You should have received a copy of the GNU General Public License
25
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
26
*
27
* Contributors:
28
* Olivier Langella <Olivier.Langella@u-psud.fr> - initial API and
29
*implementation
30
******************************************************************************/
31
32
33
#pragma once
34
35
36
#include <qcustomplot.h>
37
#include "
pappsomspp/core/psm/peakionisotopematch.h
"
38
#include "
pappsomspp/core/types.h
"
39
40
namespace
pappso
41
{
42
43
class
MassSpectrumWidget
;
44
45
class
QCPSpectrum
:
public
QCustomPlot
46
{
47
Q_OBJECT
48
protected
:
49
friend
class
MassSpectrumWidget
;
50
QCPSpectrum
(
MassSpectrumWidget
*parent,
bool
visible);
51
~QCPSpectrum
();
52
53
protected
:
54
void
clearData
();
55
void
rescale
();
56
void
setSpectrumP
(
const
MassSpectrum
*spectrum);
57
void
addMassDelta
(
const
PeakIonIsotopeMatch
&peak_ion_match);
58
void
59
addMs1IsotopePattern
(
const
std::vector<pappso::PeptideNaturalIsotopeAverageSp>
60
&isotope_mass_list,
61
pappso_double
intensity);
62
void
addPeakIonIsotopeMatch
(
const
PeakIonIsotopeMatch
&peak_ion_match);
63
void
highlightPrecursorPeaks
(
double
precursor_mz,
64
int
charge,
65
PrecisionPtr
ms2_precision);
66
virtual
void
mouseMoveEvent
(QMouseEvent *event)
override
;
67
virtual
void
mousePressEvent
(QMouseEvent *event)
override
;
68
virtual
void
mouseReleaseEvent
(QMouseEvent *event)
override
;
69
virtual
void
keyPressEvent
(QKeyEvent *event)
override
;
70
virtual
void
keyReleaseEvent
(QKeyEvent *event)
override
;
71
72
private
:
73
void
getNearestPeakBetween
(
pappso_double
mz,
74
pappso_double
mouse_mz_range)
const
;
75
void
getMostIntensePeakBetween
(
pappso_double
mz,
76
pappso_double
mouse_mz_range)
const
;
77
78
private
:
79
Q_SLOT
void
setMzRangeChanged
(QCPRange range);
80
81
private
:
82
MassSpectrumWidget
*
_parent
;
83
const
MassSpectrum
*
_p_spectrum
=
nullptr
;
84
QCPRange
_mz_range
;
85
QCPRange
_intensity_range
;
86
QCPRange
_mass_delta_range
;
87
QCPBars *
_p_peak_bars
;
88
QCPBars *
_p_peak_bars_isotope
;
89
QCPBars *
mp_peak_bars_precursor
;
90
std::map<Enums::PeptideIon, QCPBars *>
_map_ion_type_bars
;
91
QCPAxisRect *
_p_delta_axis_rect
;
92
QCPGraph *
_p_delta_graph
;
93
double
_bar_width
= 0.5;
94
bool
_click
=
false
;
95
bool
_control_key
=
false
;
96
pappso::pappso_double
_old_x
;
97
pappso::pappso_double
_old_y
;
98
};
99
100
101
}
// namespace pappso
pappso::MassSpectrumWidget
Definition
massspectrumwidget.h:48
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition
massspectrum.h:70
pappso::PeakIonIsotopeMatch
Definition
peakionisotopematch.h:47
pappso::QCPSpectrum::_p_delta_graph
QCPGraph * _p_delta_graph
Definition
qcpspectrum.h:92
pappso::QCPSpectrum::highlightPrecursorPeaks
void highlightPrecursorPeaks(double precursor_mz, int charge, PrecisionPtr ms2_precision)
Definition
qcpspectrum.cpp:480
pappso::QCPSpectrum::_mz_range
QCPRange _mz_range
Definition
qcpspectrum.h:84
pappso::QCPSpectrum::keyPressEvent
virtual void keyPressEvent(QKeyEvent *event) override
Definition
qcpspectrum.cpp:267
pappso::QCPSpectrum::_p_delta_axis_rect
QCPAxisRect * _p_delta_axis_rect
Definition
qcpspectrum.h:91
pappso::QCPSpectrum::_p_peak_bars
QCPBars * _p_peak_bars
Definition
qcpspectrum.h:87
pappso::QCPSpectrum::_parent
MassSpectrumWidget * _parent
Definition
qcpspectrum.h:82
pappso::QCPSpectrum::_mass_delta_range
QCPRange _mass_delta_range
Definition
qcpspectrum.h:86
pappso::QCPSpectrum::addPeakIonIsotopeMatch
void addPeakIonIsotopeMatch(const PeakIonIsotopeMatch &peak_ion_match)
Definition
qcpspectrum.cpp:459
pappso::QCPSpectrum::QCPSpectrum
QCPSpectrum(MassSpectrumWidget *parent, bool visible)
Definition
qcpspectrum.cpp:37
pappso::QCPSpectrum::mouseReleaseEvent
virtual void mouseReleaseEvent(QMouseEvent *event) override
Definition
qcpspectrum.cpp:306
pappso::QCPSpectrum::MassSpectrumWidget
friend class MassSpectrumWidget
Definition
qcpspectrum.h:49
pappso::QCPSpectrum::_intensity_range
QCPRange _intensity_range
Definition
qcpspectrum.h:85
pappso::QCPSpectrum::addMassDelta
void addMassDelta(const PeakIonIsotopeMatch &peak_ion_match)
Definition
qcpspectrum.cpp:440
pappso::QCPSpectrum::getNearestPeakBetween
void getNearestPeakBetween(pappso_double mz, pappso_double mouse_mz_range) const
Definition
qcpspectrum.cpp:377
pappso::QCPSpectrum::mouseMoveEvent
virtual void mouseMoveEvent(QMouseEvent *event) override
Definition
qcpspectrum.cpp:315
pappso::QCPSpectrum::_old_x
pappso::pappso_double _old_x
Definition
qcpspectrum.h:96
pappso::QCPSpectrum::getMostIntensePeakBetween
void getMostIntensePeakBetween(pappso_double mz, pappso_double mouse_mz_range) const
Definition
qcpspectrum.cpp:409
pappso::QCPSpectrum::mp_peak_bars_precursor
QCPBars * mp_peak_bars_precursor
Definition
qcpspectrum.h:89
pappso::QCPSpectrum::rescale
void rescale()
Definition
qcpspectrum.cpp:182
pappso::QCPSpectrum::_control_key
bool _control_key
Definition
qcpspectrum.h:95
pappso::QCPSpectrum::setSpectrumP
void setSpectrumP(const MassSpectrum *spectrum)
Definition
qcpspectrum.cpp:151
pappso::QCPSpectrum::clearData
void clearData()
Definition
qcpspectrum.cpp:234
pappso::QCPSpectrum::_map_ion_type_bars
std::map< Enums::PeptideIon, QCPBars * > _map_ion_type_bars
Definition
qcpspectrum.h:90
pappso::QCPSpectrum::addMs1IsotopePattern
void addMs1IsotopePattern(const std::vector< pappso::PeptideNaturalIsotopeAverageSp > &isotope_mass_list, pappso_double intensity)
Definition
qcpspectrum.cpp:466
pappso::QCPSpectrum::keyReleaseEvent
virtual void keyReleaseEvent(QKeyEvent *event) override
Definition
qcpspectrum.cpp:277
pappso::QCPSpectrum::~QCPSpectrum
~QCPSpectrum()
Definition
qcpspectrum.cpp:146
pappso::QCPSpectrum::_p_peak_bars_isotope
QCPBars * _p_peak_bars_isotope
Definition
qcpspectrum.h:88
pappso::QCPSpectrum::_p_spectrum
const MassSpectrum * _p_spectrum
Definition
qcpspectrum.h:83
pappso::QCPSpectrum::_bar_width
double _bar_width
Definition
qcpspectrum.h:93
pappso::QCPSpectrum::mousePressEvent
virtual void mousePressEvent(QMouseEvent *event) override
Definition
qcpspectrum.cpp:287
pappso::QCPSpectrum::setMzRangeChanged
Q_SLOT void setMzRangeChanged(QCPRange range)
Definition
qcpspectrum.cpp:210
pappso::QCPSpectrum::_click
bool _click
Definition
qcpspectrum.h:94
pappso::QCPSpectrum::_old_y
pappso::pappso_double _old_y
Definition
qcpspectrum.h:97
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition
types.h:60
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition
precision.h:122
peakionisotopematch.h
types.h
pappsomspp
gui
massspectrumwidget
qcpspectrum.h
Generated on
for libpappsomspp by
1.17.0