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

#include <xtandemspectrumprocess.h>

Public Member Functions

 XtandemSpectrumProcess ()
 
 XtandemSpectrumProcess (const XtandemSpectrumProcess &copy)
 
 ~XtandemSpectrumProcess ()
 
MassSpectrum process (const MassSpectrum &spectrum, pappso_double parent_ion_mass, unsigned int parent_charge) const
 process raw spectrum to prepare hyperscore computation
 
void setMinimumMz (pappso_double minimum_mz)
 
void setNmostIntense (unsigned int nmost_intense)
 
void setDynamicRange (pappso::pappso_double dynamic_range)
 
void setRemoveIsotope (bool remove_isotope)
 
void setExcludeParent (bool exclude_parent)
 
void setExcludeParentNeutralLoss (bool neutral_loss)
 
void setNeutralLossMass (pappso::pappso_double neutral_loss_mass)
 
void setNeutralLossWindowDalton (pappso::pappso_double neutral_loss_precision)
 
void setRefineSpectrumModel (bool refine)
 
void setIonScore (Enums::PeptideIon ion_type, bool compute_score)
 
pappso_double getMinimumMz () const
 
unsigned int getNmostIntense () const
 
pappso::pappso_double getDynamicRange () const
 
bool getRemoveIsotope () const
 
bool getExcludeParent () const
 
bool getExcludeParentNeutralLoss () const
 
pappso::pappso_double getNeutralLossMass () const
 
pappso::pappso_double getNeutralLossWindowDalton () const
 
bool getRefineSpectrumModel () const
 
bool getIonScore (Enums::PeptideIon ion_type) const
 

Private Attributes

FilterResampleKeepGreater m_filter_keep_greater
 
FilterGreatestY m_n_most_intense
 
FilterRescaleY m_filter_rescale
 
FilterTandemDeisotope m_filter_remove_c13 = FilterTandemDeisotope(1.5, 200)
 
FilterFloorY m_filter_floor
 
FilterHighPass m_filter_highpass
 
bool m_isRemoveIsotope = true
 
bool m_isExcludeParent = false
 
pappso::pappso_double m_isExcludeParent_lower_dalton = 2
 
pappso::pappso_double m_isExcludeParent_upper_dalton = 2
 
bool m_isExcludeParent_neutral_loss = false
 
pappso::pappso_double m_neutralLossMass = MASSH2O
 
pappso::pappso_double m_neutralLossWindowDalton = 0.5
 
bool m_isRefineSpectrumModel = true
 
bool _y_ions = true
 
bool _ystar_ions = false
 
bool _b_ions = true
 
bool _bstar_ions = false
 
bool _c_ions = false
 
bool _z_ions = false
 
bool _a_ions = false
 
bool _x_ions = false
 
bool _astar_ions = false
 
bool _ao_ions = false
 
bool _bo_ions = false
 
bool _yo_ions = false
 

Detailed Description

Definition at line 41 of file xtandemspectrumprocess.h.

Constructor & Destructor Documentation

◆ XtandemSpectrumProcess() [1/2]

pappso::XtandemSpectrumProcess::XtandemSpectrumProcess ( )

◆ XtandemSpectrumProcess() [2/2]

pappso::XtandemSpectrumProcess::XtandemSpectrumProcess ( const XtandemSpectrumProcess & copy)

Definition at line 42 of file xtandemspectrumprocess.cpp.

43 : m_filter_keep_greater(copy.m_filter_keep_greater),
44 m_n_most_intense(copy.m_n_most_intense),
45 m_filter_rescale(copy.m_filter_rescale),
46 m_filter_highpass(copy.m_filter_highpass)
47{
48 m_isRemoveIsotope = copy.m_isRemoveIsotope;
49 m_isExcludeParent_neutral_loss = copy.m_isExcludeParent_neutral_loss;
50 m_neutralLossMass = copy.m_neutralLossMass;
51 m_neutralLossWindowDalton = copy.m_neutralLossWindowDalton;
52
53 m_isExcludeParent = copy.m_isExcludeParent;
54 m_isExcludeParent_lower_dalton = copy.m_isExcludeParent_lower_dalton;
55 m_isExcludeParent_upper_dalton = copy.m_isExcludeParent_upper_dalton;
56 m_isRefineSpectrumModel = copy.m_isRefineSpectrumModel;
57 _y_ions = copy._y_ions; // Enums::PeptideIon::y
58 _b_ions = copy._b_ions; // Enums::PeptideIon::b
59 _ystar_ions = copy._ystar_ions; // Enums::PeptideIon::ystar
60 _bstar_ions = copy._bstar_ions; // Enums::PeptideIon::bstar
61 _c_ions = copy._c_ions; // Enums::PeptideIon::c
62 _z_ions = copy._z_ions; // Enums::PeptideIon::z
63 _a_ions = copy._a_ions; // Enums::PeptideIon::a
64 _x_ions = copy._x_ions; // CO2
65
66 _astar_ions = copy._astar_ions; // Enums::PeptideIon::a
67 _ao_ions = copy._ao_ions;
68 _bo_ions = copy._bo_ions;
69 _yo_ions = copy._yo_ions;
70}
pappso::pappso_double m_isExcludeParent_upper_dalton
pappso::pappso_double m_isExcludeParent_lower_dalton
pappso::pappso_double m_neutralLossWindowDalton

References XtandemSpectrumProcess(), _a_ions, _ao_ions, _astar_ions, _b_ions, _bo_ions, _bstar_ions, _c_ions, _x_ions, _y_ions, _yo_ions, _ystar_ions, _z_ions, m_filter_highpass, m_filter_keep_greater, m_filter_rescale, m_isExcludeParent, m_isExcludeParent_lower_dalton, m_isExcludeParent_neutral_loss, m_isExcludeParent_upper_dalton, m_isRefineSpectrumModel, m_isRemoveIsotope, m_n_most_intense, m_neutralLossMass, and m_neutralLossWindowDalton.

◆ ~XtandemSpectrumProcess()

pappso::XtandemSpectrumProcess::~XtandemSpectrumProcess ( )

Definition at line 71 of file xtandemspectrumprocess.cpp.

72{
73}

Member Function Documentation

◆ getDynamicRange()

pappso::pappso_double pappso::XtandemSpectrumProcess::getDynamicRange ( ) const

Definition at line 193 of file xtandemspectrumprocess.cpp.

194{
195 return m_filter_rescale.getDynamicRange();
196}

References m_filter_rescale.

◆ getExcludeParent()

bool pappso::XtandemSpectrumProcess::getExcludeParent ( ) const

Definition at line 203 of file xtandemspectrumprocess.cpp.

204{
205 return m_isExcludeParent;
206}

References m_isExcludeParent.

◆ getExcludeParentNeutralLoss()

bool pappso::XtandemSpectrumProcess::getExcludeParentNeutralLoss ( ) const

Definition at line 208 of file xtandemspectrumprocess.cpp.

209{
211}

References m_isExcludeParent_neutral_loss.

◆ getIonScore()

bool pappso::XtandemSpectrumProcess::getIonScore ( Enums::PeptideIon ion_type) const

Definition at line 231 of file xtandemspectrumprocess.cpp.

232{
233 switch(ion_type)
234 {
236 return _y_ions;
237
239 return _b_ions;
240
242 return _ystar_ions;
243
245 return _bstar_ions;
246
248 return _yo_ions;
249
251 return _bo_ions;
252
254 return _z_ions;
255
257 return _a_ions;
258
260 return _astar_ions;
262 return _ao_ions;
263
265 return _c_ions;
267 return _x_ions;
268 default:
269 break;
270 }
271 return false;
272}
@ a
Nter aldimine ions.
Definition types.h:290
@ y
Cter amino ions.
Definition types.h:295
@ c
Nter amino ions.
Definition types.h:294
@ astar
Nter aldimine ions + NH3 loss.
Definition types.h:291
@ ystar
Cter amino ions + NH3 loss.
Definition types.h:296
@ yo
Cter amino ions + H2O loss.
Definition types.h:297
@ bstar
Nter acylium ions + NH3 loss.
Definition types.h:288
@ b
Nter acylium ions.
Definition types.h:287
@ x
Cter acylium ions.
Definition types.h:300
@ bo
Nter acylium ions + H2O loss.
Definition types.h:289
@ ao
Nter aldimine ions + H2O loss.
Definition types.h:292
@ z
Cter carbocations.
Definition types.h:298

References _a_ions, _ao_ions, _astar_ions, _b_ions, _bo_ions, _bstar_ions, _c_ions, _x_ions, _y_ions, _yo_ions, _ystar_ions, _z_ions, pappso::Enums::a, pappso::Enums::ao, pappso::Enums::astar, pappso::Enums::b, pappso::Enums::bo, pappso::Enums::bstar, pappso::Enums::c, pappso::Enums::x, pappso::Enums::y, pappso::Enums::yo, pappso::Enums::ystar, and pappso::Enums::z.

◆ getMinimumMz()

pappso_double pappso::XtandemSpectrumProcess::getMinimumMz ( ) const

Definition at line 183 of file xtandemspectrumprocess.cpp.

184{
185 return m_filter_keep_greater.getThresholdX();
186}

References m_filter_keep_greater.

◆ getNeutralLossMass()

pappso::pappso_double pappso::XtandemSpectrumProcess::getNeutralLossMass ( ) const

Definition at line 213 of file xtandemspectrumprocess.cpp.

214{
215 return m_neutralLossMass;
216}

References m_neutralLossMass.

◆ getNeutralLossWindowDalton()

pappso_double pappso::XtandemSpectrumProcess::getNeutralLossWindowDalton ( ) const

Definition at line 218 of file xtandemspectrumprocess.cpp.

219{
221}

References m_neutralLossWindowDalton.

◆ getNmostIntense()

unsigned int pappso::XtandemSpectrumProcess::getNmostIntense ( ) const

Definition at line 188 of file xtandemspectrumprocess.cpp.

189{
190 return m_n_most_intense.getNumberOfPoints();
191}

References m_n_most_intense.

◆ getRefineSpectrumModel()

bool pappso::XtandemSpectrumProcess::getRefineSpectrumModel ( ) const

Definition at line 224 of file xtandemspectrumprocess.cpp.

225{
227}

References m_isRefineSpectrumModel.

◆ getRemoveIsotope()

bool pappso::XtandemSpectrumProcess::getRemoveIsotope ( ) const

Definition at line 198 of file xtandemspectrumprocess.cpp.

199{
200 return m_isRemoveIsotope;
201}

References m_isRemoveIsotope.

◆ process()

MassSpectrum pappso::XtandemSpectrumProcess::process ( const MassSpectrum & spectrum,
pappso_double parent_ion_mass,
unsigned int parent_charge ) const

process raw spectrum to prepare hyperscore computation

Definition at line 275 of file xtandemspectrumprocess.cpp.

278{
279 qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__
280 << " parent_charge==" << parent_charge;
281
282 // 1) clean isotopes
283 MassSpectrum spectrum_process(spectrum);
285 {
286 spectrum_process.massSpectrumFilter(FilterTandemDeisotope());
287 }
288 qDebug() << __FILE__ << "@" << __LINE__ << __FUNCTION__ << "()";
289 // 2) remove parent ion mass
291 {
292 spectrum_process.massSpectrumFilter(MassSpectrumFilterResampleRemoveMzRange(MzRange(
293 parent_ion_mz,
296 }
297 qDebug() << spectrum_process.size();
298 // 3) remove low masses
299 // 4) normalization
300 m_filter_keep_greater.filter(spectrum_process);
301 qDebug() << spectrum_process.size();
302 m_filter_rescale.filter(spectrum_process);
303 qDebug() << spectrum_process.size();
304 // m_filter_floor.filter(spectrum_process);
305 m_filter_highpass.filter(spectrum_process);
306
307 qDebug() << spectrum_process.size();
308 // 5) remove neutral loss
310 {
311 pappso_double parent_ion_mhplus =
312 ((parent_ion_mz - (MHPLUS * parent_charge)) * parent_charge) + MHPLUS;
313
314 MassSpectrumFilterResampleRemoveMzRange filter_parent(
315 MzRange(parent_ion_mhplus - m_neutralLossMass,
317
318 filter_parent.filter(spectrum_process);
319 }
320 // 6) clean isotopes
321 // 7) keep n most intense peaks
322 qDebug() << spectrum_process.size() << " parent_charge==" << parent_charge;
323 // return spectrum_process.massSpectrumFilter(m_filter_remove_c13)
324 // .filter(m_nMostIntense);
325
326 m_filter_remove_c13.filter(spectrum_process);
327 m_n_most_intense.filter(spectrum_process);
328 qDebug() << spectrum_process.size();
329 return spectrum_process;
330}
static PrecisionPtr getDaltonInstance(pappso_double value)
get a Dalton precision pointer
FilterTandemDeisotope m_filter_remove_c13
const pappso_double MHPLUS(1.007276466879)
double pappso_double
A type definition for doubles.
Definition types.h:61

References pappso::MassSpectrumFilterResampleRemoveMzRange::filter(), pappso::PrecisionFactory::getDaltonInstance(), m_filter_highpass, m_filter_keep_greater, m_filter_remove_c13, m_filter_rescale, m_isExcludeParent, m_isExcludeParent_lower_dalton, m_isExcludeParent_neutral_loss, m_isExcludeParent_upper_dalton, m_isRemoveIsotope, m_n_most_intense, m_neutralLossMass, m_neutralLossWindowDalton, pappso::MassSpectrum::massSpectrumFilter(), and pappso::MHPLUS().

◆ setDynamicRange()

void pappso::XtandemSpectrumProcess::setDynamicRange ( pappso::pappso_double dynamic_range)

Definition at line 86 of file xtandemspectrumprocess.cpp.

87{
88 m_filter_rescale = FilterRescaleY(dynamic_range);
89}

References m_filter_rescale.

◆ setExcludeParent()

void pappso::XtandemSpectrumProcess::setExcludeParent ( bool exclude_parent)

Definition at line 98 of file xtandemspectrumprocess.cpp.

99{
100 m_isExcludeParent = exclude_parent;
101}

References m_isExcludeParent.

◆ setExcludeParentNeutralLoss()

void pappso::XtandemSpectrumProcess::setExcludeParentNeutralLoss ( bool neutral_loss)

Definition at line 103 of file xtandemspectrumprocess.cpp.

104{
105 m_isExcludeParent_neutral_loss = neutral_loss;
106}

References m_isExcludeParent_neutral_loss.

◆ setIonScore()

void pappso::XtandemSpectrumProcess::setIonScore ( Enums::PeptideIon ion_type,
bool compute_score )

Definition at line 127 of file xtandemspectrumprocess.cpp.

128{
129 switch(ion_type)
130 {
132 _y_ions = compute_score;
133 break;
134
136 _b_ions = compute_score;
137 break;
138
140 _ystar_ions = compute_score;
141 break;
142
144 _bstar_ions = compute_score;
145 break;
146
148 _yo_ions = compute_score;
149 break;
150
152 _bo_ions = compute_score;
153 break;
154
156 _z_ions = compute_score;
157 break;
158
160 _a_ions = compute_score;
161 break;
162
164 _astar_ions = compute_score;
165 break;
167 _ao_ions = compute_score;
168 break;
170 _c_ions = compute_score;
171 break;
173 _x_ions = compute_score;
174 break;
175
178 break;
179 }
180}

References _a_ions, _ao_ions, _astar_ions, _b_ions, _bo_ions, _bstar_ions, _c_ions, _x_ions, _y_ions, _yo_ions, _ystar_ions, _z_ions, pappso::Enums::a, pappso::Enums::ao, pappso::Enums::astar, pappso::Enums::b, pappso::Enums::bo, pappso::Enums::bp, pappso::Enums::bstar, pappso::Enums::c, pappso::Enums::x, pappso::Enums::y, pappso::Enums::yo, pappso::Enums::yp, pappso::Enums::ystar, and pappso::Enums::z.

◆ setMinimumMz()

void pappso::XtandemSpectrumProcess::setMinimumMz ( pappso_double minimum_mz)

Definition at line 76 of file xtandemspectrumprocess.cpp.

77{
78 m_filter_keep_greater = FilterResampleKeepGreater(minimum_mz);
79}

References m_filter_keep_greater.

◆ setNeutralLossMass()

void pappso::XtandemSpectrumProcess::setNeutralLossMass ( pappso::pappso_double neutral_loss_mass)

Definition at line 108 of file xtandemspectrumprocess.cpp.

109{
110 m_neutralLossMass = neutral_loss_mass;
111}

References m_neutralLossMass.

◆ setNeutralLossWindowDalton()

void pappso::XtandemSpectrumProcess::setNeutralLossWindowDalton ( pappso::pappso_double neutral_loss_precision)

Definition at line 113 of file xtandemspectrumprocess.cpp.

114{
115 m_neutralLossWindowDalton = neutral_loss_precision;
116}

References m_neutralLossWindowDalton.

◆ setNmostIntense()

void pappso::XtandemSpectrumProcess::setNmostIntense ( unsigned int nmost_intense)

Definition at line 81 of file xtandemspectrumprocess.cpp.

82{
83 m_n_most_intense = FilterGreatestY(nmost_intense);
84}

References m_n_most_intense.

◆ setRefineSpectrumModel()

void pappso::XtandemSpectrumProcess::setRefineSpectrumModel ( bool refine)

Definition at line 120 of file xtandemspectrumprocess.cpp.

121{
123}

References m_isRefineSpectrumModel.

◆ setRemoveIsotope()

void pappso::XtandemSpectrumProcess::setRemoveIsotope ( bool remove_isotope)

Definition at line 92 of file xtandemspectrumprocess.cpp.

93{
94 m_isRemoveIsotope = remove_isotope;
95}

References m_isRemoveIsotope.

Member Data Documentation

◆ _a_ions

bool pappso::XtandemSpectrumProcess::_a_ions = false
private

Definition at line 100 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _ao_ions

bool pappso::XtandemSpectrumProcess::_ao_ions = false
private

Definition at line 103 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _astar_ions

bool pappso::XtandemSpectrumProcess::_astar_ions = false
private

Definition at line 102 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _b_ions

bool pappso::XtandemSpectrumProcess::_b_ions = true
private

Definition at line 96 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _bo_ions

bool pappso::XtandemSpectrumProcess::_bo_ions = false
private

Definition at line 104 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _bstar_ions

bool pappso::XtandemSpectrumProcess::_bstar_ions = false
private

Definition at line 97 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _c_ions

bool pappso::XtandemSpectrumProcess::_c_ions = false
private

Definition at line 98 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _x_ions

bool pappso::XtandemSpectrumProcess::_x_ions = false
private

Definition at line 101 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _y_ions

bool pappso::XtandemSpectrumProcess::_y_ions = true
private

Definition at line 94 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _yo_ions

bool pappso::XtandemSpectrumProcess::_yo_ions = false
private

Definition at line 105 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _ystar_ions

bool pappso::XtandemSpectrumProcess::_ystar_ions = false
private

Definition at line 95 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ _z_ions

bool pappso::XtandemSpectrumProcess::_z_ions = false
private

Definition at line 99 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), getIonScore(), and setIonScore().

◆ m_filter_floor

FilterFloorY pappso::XtandemSpectrumProcess::m_filter_floor
private

Definition at line 84 of file xtandemspectrumprocess.h.

◆ m_filter_highpass

FilterHighPass pappso::XtandemSpectrumProcess::m_filter_highpass
private

◆ m_filter_keep_greater

FilterResampleKeepGreater pappso::XtandemSpectrumProcess::m_filter_keep_greater
private

◆ m_filter_remove_c13

FilterTandemDeisotope pappso::XtandemSpectrumProcess::m_filter_remove_c13 = FilterTandemDeisotope(1.5, 200)
private

Definition at line 83 of file xtandemspectrumprocess.h.

Referenced by process().

◆ m_filter_rescale

FilterRescaleY pappso::XtandemSpectrumProcess::m_filter_rescale
private

◆ m_isExcludeParent

bool pappso::XtandemSpectrumProcess::m_isExcludeParent = false
private

◆ m_isExcludeParent_lower_dalton

pappso::pappso_double pappso::XtandemSpectrumProcess::m_isExcludeParent_lower_dalton = 2
private

Definition at line 88 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), and process().

◆ m_isExcludeParent_neutral_loss

bool pappso::XtandemSpectrumProcess::m_isExcludeParent_neutral_loss = false
private

◆ m_isExcludeParent_upper_dalton

pappso::pappso_double pappso::XtandemSpectrumProcess::m_isExcludeParent_upper_dalton = 2
private

Definition at line 89 of file xtandemspectrumprocess.h.

Referenced by XtandemSpectrumProcess(), and process().

◆ m_isRefineSpectrumModel

bool pappso::XtandemSpectrumProcess::m_isRefineSpectrumModel = true
private

◆ m_isRemoveIsotope

bool pappso::XtandemSpectrumProcess::m_isRemoveIsotope = true
private

◆ m_n_most_intense

FilterGreatestY pappso::XtandemSpectrumProcess::m_n_most_intense
private

◆ m_neutralLossMass

pappso::pappso_double pappso::XtandemSpectrumProcess::m_neutralLossMass = MASSH2O
private

◆ m_neutralLossWindowDalton

pappso::pappso_double pappso::XtandemSpectrumProcess::m_neutralLossWindowDalton = 0.5
private

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