libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
xtandemspectrumprocess.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/psm/xtandem/xtandemhyperscore.h
3
* \date 16/8/2016
4
* \author Olivier Langella
5
* \brief process spectrum to compute X!Tandem hyperscore
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2016 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
10
*
11
* This file is part of the PAPPSOms++ library.
12
*
13
* PAPPSOms++ is free software: you can redistribute it and/or modify
14
* it under the terms of the GNU General Public License as published by
15
* the Free Software Foundation, either version 3 of the License, or
16
* (at your option) any later version.
17
*
18
* PAPPSOms++ is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25
*
26
* Contributors:
27
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
28
*implementation
29
******************************************************************************/
30
31
#pragma once
32
33
#include "
pappsomspp/core/massspectrum/massspectrum.h
"
34
#include "
../../peptide/peptide.h
"
35
#include "
pappsomspp/core/processing/filters/filterpass.h
"
36
#include "
pappsomspp/core/processing/filters/filterresample.h
"
37
#include "
pappsomspp/core/processing/filters/filtertandemremovec13.h
"
38
39
namespace
pappso
40
{
41
class
PMSPP_LIB_DECL
XtandemSpectrumProcess
42
{
43
public
:
44
XtandemSpectrumProcess
();
45
XtandemSpectrumProcess
(
const
XtandemSpectrumProcess
©);
46
~XtandemSpectrumProcess
();
47
48
/** \brief process raw spectrum to prepare hyperscore computation
49
*/
50
MassSpectrum
process
(
const
MassSpectrum
&spectrum,
51
pappso_double
parent_ion_mass,
52
unsigned
int
parent_charge)
const
;
53
void
setMinimumMz
(
pappso_double
minimum_mz);
54
void
setNmostIntense
(
unsigned
int
nmost_intense);
55
void
setDynamicRange
(
pappso::pappso_double
dynamic_range);
56
void
setRemoveIsotope
(
bool
remove_isotope);
57
void
setExcludeParent
(
bool
exclude_parent);
58
void
setExcludeParentNeutralLoss
(
bool
neutral_loss);
59
void
setNeutralLossMass
(
pappso::pappso_double
neutral_loss_mass);
60
void
setNeutralLossWindowDalton
(
pappso::pappso_double
neutral_loss_precision);
61
void
setRefineSpectrumModel
(
bool
refine);
62
void
setIonScore
(
Enums::PeptideIon
ion_type,
bool
compute_score);
63
64
pappso_double
getMinimumMz
()
const
;
65
unsigned
int
getNmostIntense
()
const
;
66
pappso::pappso_double
getDynamicRange
()
const
;
67
bool
getRemoveIsotope
()
const
;
68
bool
getExcludeParent
()
const
;
69
bool
getExcludeParentNeutralLoss
()
const
;
70
pappso::pappso_double
getNeutralLossMass
()
const
;
71
pappso::pappso_double
getNeutralLossWindowDalton
()
const
;
72
bool
getRefineSpectrumModel
()
const
;
73
bool
getIonScore
(
Enums::PeptideIon
ion_type)
const
;
74
75
76
private
:
77
// MassSpectrum spectrum_simple =
78
// _spectrum.getOriginalSpectrumSp()->applyCutOff(150).takeNmostIntense(100).applyDynamicRange(100);
79
// pappso_double m_minimumMz = 150;
80
FilterResampleKeepGreater
m_filter_keep_greater
;
81
FilterGreatestY
m_n_most_intense
;
82
FilterRescaleY
m_filter_rescale
;
83
FilterTandemDeisotope
m_filter_remove_c13
=
FilterTandemDeisotope
(1.5, 200);
84
FilterFloorY
m_filter_floor
;
85
FilterHighPass
m_filter_highpass
;
86
bool
m_isRemoveIsotope
=
true
;
87
bool
m_isExcludeParent
=
false
;
88
pappso::pappso_double
m_isExcludeParent_lower_dalton
= 2;
89
pappso::pappso_double
m_isExcludeParent_upper_dalton
= 2;
90
bool
m_isExcludeParent_neutral_loss
=
false
;
91
pappso::pappso_double
m_neutralLossMass
=
MASSH2O
;
92
pappso::pappso_double
m_neutralLossWindowDalton
= 0.5;
93
bool
m_isRefineSpectrumModel
=
true
;
94
bool
_y_ions
=
true
;
// Enums::PeptideIon::y
95
bool
_ystar_ions
=
false
;
// Enums::PeptideIon::ystar
96
bool
_b_ions
=
true
;
// Enums::PeptideIon::b
97
bool
_bstar_ions
=
false
;
// Enums::PeptideIon::bstar
98
bool
_c_ions
=
false
;
// Enums::PeptideIon::ystar
99
bool
_z_ions
=
false
;
// Enums::PeptideIon::z
100
bool
_a_ions
=
false
;
// Enums::PeptideIon::a
101
bool
_x_ions
=
false
;
// CO2
102
bool
_astar_ions
=
false
;
// Enums::PeptideIon::a
103
bool
_ao_ions
=
false
;
// Enums::PeptideIon::ao
104
bool
_bo_ions
=
false
;
// Enums::PeptideIon::bo
105
bool
_yo_ions
=
false
;
// Enums::PeptideIon::yo
106
};
107
}
// namespace pappso
pappso::FilterFloorY
apply std::floor (round to lowest integer) to all Y values
Definition
filterpass.h:163
pappso::FilterGreatestY
keep N datapoints form the greatest intensities to the lowest
Definition
filterpass.h:96
pappso::FilterHighPass
remove datapoints below or equal to the given Y value (intensity)
Definition
filterpass.h:58
pappso::FilterResampleKeepGreater
Definition
filterresample.h:55
pappso::FilterRescaleY
rescales Y values into a dynamic range if the dynamic range is set to 0, this filter is ignored
Definition
filterpass.h:193
pappso::FilterTandemDeisotope
Deisotope the mass spectrum this mass spectrum is iterated over and according to a data point-based m...
Definition
filtertandemremovec13.h:58
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition
massspectrum.h:70
pappso::XtandemSpectrumProcess::_astar_ions
bool _astar_ions
Definition
xtandemspectrumprocess.h:102
pappso::XtandemSpectrumProcess::m_isExcludeParent
bool m_isExcludeParent
Definition
xtandemspectrumprocess.h:87
pappso::XtandemSpectrumProcess::m_isExcludeParent_upper_dalton
pappso::pappso_double m_isExcludeParent_upper_dalton
Definition
xtandemspectrumprocess.h:89
pappso::XtandemSpectrumProcess::setRemoveIsotope
void setRemoveIsotope(bool remove_isotope)
Definition
xtandemspectrumprocess.cpp:92
pappso::XtandemSpectrumProcess::getRemoveIsotope
bool getRemoveIsotope() const
Definition
xtandemspectrumprocess.cpp:198
pappso::XtandemSpectrumProcess::setIonScore
void setIonScore(Enums::PeptideIon ion_type, bool compute_score)
Definition
xtandemspectrumprocess.cpp:127
pappso::XtandemSpectrumProcess::_c_ions
bool _c_ions
Definition
xtandemspectrumprocess.h:98
pappso::XtandemSpectrumProcess::m_isRefineSpectrumModel
bool m_isRefineSpectrumModel
Definition
xtandemspectrumprocess.h:93
pappso::XtandemSpectrumProcess::setRefineSpectrumModel
void setRefineSpectrumModel(bool refine)
Definition
xtandemspectrumprocess.cpp:120
pappso::XtandemSpectrumProcess::_b_ions
bool _b_ions
Definition
xtandemspectrumprocess.h:96
pappso::XtandemSpectrumProcess::XtandemSpectrumProcess
XtandemSpectrumProcess()
Definition
xtandemspectrumprocess.cpp:37
pappso::XtandemSpectrumProcess::_bstar_ions
bool _bstar_ions
Definition
xtandemspectrumprocess.h:97
pappso::XtandemSpectrumProcess::getDynamicRange
pappso::pappso_double getDynamicRange() const
Definition
xtandemspectrumprocess.cpp:193
pappso::XtandemSpectrumProcess::m_filter_keep_greater
FilterResampleKeepGreater m_filter_keep_greater
Definition
xtandemspectrumprocess.h:80
pappso::XtandemSpectrumProcess::getRefineSpectrumModel
bool getRefineSpectrumModel() const
Definition
xtandemspectrumprocess.cpp:224
pappso::XtandemSpectrumProcess::getExcludeParentNeutralLoss
bool getExcludeParentNeutralLoss() const
Definition
xtandemspectrumprocess.cpp:208
pappso::XtandemSpectrumProcess::m_filter_floor
FilterFloorY m_filter_floor
Definition
xtandemspectrumprocess.h:84
pappso::XtandemSpectrumProcess::getNeutralLossMass
pappso::pappso_double getNeutralLossMass() const
Definition
xtandemspectrumprocess.cpp:213
pappso::XtandemSpectrumProcess::getNmostIntense
unsigned int getNmostIntense() const
Definition
xtandemspectrumprocess.cpp:188
pappso::XtandemSpectrumProcess::m_isExcludeParent_lower_dalton
pappso::pappso_double m_isExcludeParent_lower_dalton
Definition
xtandemspectrumprocess.h:88
pappso::XtandemSpectrumProcess::_ao_ions
bool _ao_ions
Definition
xtandemspectrumprocess.h:103
pappso::XtandemSpectrumProcess::setExcludeParentNeutralLoss
void setExcludeParentNeutralLoss(bool neutral_loss)
Definition
xtandemspectrumprocess.cpp:103
pappso::XtandemSpectrumProcess::m_filter_rescale
FilterRescaleY m_filter_rescale
Definition
xtandemspectrumprocess.h:82
pappso::XtandemSpectrumProcess::setNeutralLossMass
void setNeutralLossMass(pappso::pappso_double neutral_loss_mass)
Definition
xtandemspectrumprocess.cpp:108
pappso::XtandemSpectrumProcess::m_n_most_intense
FilterGreatestY m_n_most_intense
Definition
xtandemspectrumprocess.h:81
pappso::XtandemSpectrumProcess::getMinimumMz
pappso_double getMinimumMz() const
Definition
xtandemspectrumprocess.cpp:183
pappso::XtandemSpectrumProcess::m_neutralLossMass
pappso::pappso_double m_neutralLossMass
Definition
xtandemspectrumprocess.h:91
pappso::XtandemSpectrumProcess::_ystar_ions
bool _ystar_ions
Definition
xtandemspectrumprocess.h:95
pappso::XtandemSpectrumProcess::m_filter_remove_c13
FilterTandemDeisotope m_filter_remove_c13
Definition
xtandemspectrumprocess.h:83
pappso::XtandemSpectrumProcess::setMinimumMz
void setMinimumMz(pappso_double minimum_mz)
Definition
xtandemspectrumprocess.cpp:76
pappso::XtandemSpectrumProcess::_y_ions
bool _y_ions
Definition
xtandemspectrumprocess.h:94
pappso::XtandemSpectrumProcess::setNeutralLossWindowDalton
void setNeutralLossWindowDalton(pappso::pappso_double neutral_loss_precision)
Definition
xtandemspectrumprocess.cpp:113
pappso::XtandemSpectrumProcess::getNeutralLossWindowDalton
pappso::pappso_double getNeutralLossWindowDalton() const
Definition
xtandemspectrumprocess.cpp:218
pappso::XtandemSpectrumProcess::_bo_ions
bool _bo_ions
Definition
xtandemspectrumprocess.h:104
pappso::XtandemSpectrumProcess::_a_ions
bool _a_ions
Definition
xtandemspectrumprocess.h:100
pappso::XtandemSpectrumProcess::getIonScore
bool getIonScore(Enums::PeptideIon ion_type) const
Definition
xtandemspectrumprocess.cpp:231
pappso::XtandemSpectrumProcess::_x_ions
bool _x_ions
Definition
xtandemspectrumprocess.h:101
pappso::XtandemSpectrumProcess::setDynamicRange
void setDynamicRange(pappso::pappso_double dynamic_range)
Definition
xtandemspectrumprocess.cpp:86
pappso::XtandemSpectrumProcess::m_isRemoveIsotope
bool m_isRemoveIsotope
Definition
xtandemspectrumprocess.h:86
pappso::XtandemSpectrumProcess::m_neutralLossWindowDalton
pappso::pappso_double m_neutralLossWindowDalton
Definition
xtandemspectrumprocess.h:92
pappso::XtandemSpectrumProcess::getExcludeParent
bool getExcludeParent() const
Definition
xtandemspectrumprocess.cpp:203
pappso::XtandemSpectrumProcess::process
MassSpectrum process(const MassSpectrum &spectrum, pappso_double parent_ion_mass, unsigned int parent_charge) const
process raw spectrum to prepare hyperscore computation
Definition
xtandemspectrumprocess.cpp:275
pappso::XtandemSpectrumProcess::m_filter_highpass
FilterHighPass m_filter_highpass
Definition
xtandemspectrumprocess.h:85
pappso::XtandemSpectrumProcess::setExcludeParent
void setExcludeParent(bool exclude_parent)
Definition
xtandemspectrumprocess.cpp:98
pappso::XtandemSpectrumProcess::_yo_ions
bool _yo_ions
Definition
xtandemspectrumprocess.h:105
pappso::XtandemSpectrumProcess::setNmostIntense
void setNmostIntense(unsigned int nmost_intense)
Definition
xtandemspectrumprocess.cpp:81
pappso::XtandemSpectrumProcess::_z_ions
bool _z_ions
Definition
xtandemspectrumprocess.h:99
pappso::XtandemSpectrumProcess::m_isExcludeParent_neutral_loss
bool m_isExcludeParent_neutral_loss
Definition
xtandemspectrumprocess.h:90
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition
export-import-config.h:14
filterpass.h
filterresample.h
filtertandemremovec13.h
massspectrum.h
pappso::Enums::PeptideIon
PeptideIon
Enums::PeptideIon enum defines all types of ions (Nter or Cter).
Definition
types.h:272
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::MASSH2O
const pappso_double MASSH2O((MPROTIUM *2)+MASSOXYGEN)
peptide.h
pappsomspp
core
psm
xtandem
xtandemspectrumprocess.h
Generated on
for libpappsomspp by
1.17.0