libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
xtandemhyperscorebis.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/psm/xtandem/xtandemhyperscorebis.h
3
* \date 8/9/2016
4
* \author Olivier Langella
5
* \brief computation of the X!Tandem hyperscore
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2015 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
34
#include "
pappsomspp/core/massspectrum/massspectrum.h
"
35
#include "
../../peptide/peptide.h
"
36
37
namespace
pappso
38
{
39
40
class
XtandemHyperscoreBis
41
{
42
using
AaFactorMap
= std::map<char, pappso_double>;
43
44
private
:
45
unsigned
int
getXtandemPredictedIonIntensityFactor
(
const
QString &sequence,
46
Enums::PeptideIon
ion_type,
47
unsigned
int
size)
const
;
48
bool
m_isRefineSpectrumSynthesis
;
49
PrecisionPtr
mp_precision
;
50
std::vector<Enums::PeptideIon>
m_ionList
;
51
52
unsigned
int
m_totalMatchedIons
= 0;
53
unsigned
int
m_ionCount
[
PEPTIDE_ION_TYPE_COUNT
] = {0};
54
55
56
pappso_double
m_protoHyperscore
;
57
58
static
AaFactorMap
m_aaIonFactorY
;
59
static
AaFactorMap
m_aaIonFactorBb
;
60
61
public
:
62
XtandemHyperscoreBis
(
bool
refine_spectrum_synthesis,
63
PrecisionPtr
precision,
64
const
std::vector<Enums::PeptideIon> &ion_list);
65
~XtandemHyperscoreBis
();
66
67
pappso_double
getHyperscore
()
const
;
68
unsigned
int
getMatchedIons
(
Enums::PeptideIon
ion_type)
const
;
69
70
71
void
reset
();
72
73
bool
computeXtandemHyperscore
(
const
MassSpectrum
&spectrum,
74
const
Peptide
&peptide,
75
unsigned
int
parent_charge);
76
unsigned
int
getTotalMatchedIons
()
const
;
77
};
78
79
80
}
// namespace pappso
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition
massspectrum.h:70
pappso::Peptide
Definition
peptide.h:102
pappso::XtandemHyperscoreBis::getTotalMatchedIons
unsigned int getTotalMatchedIons() const
Definition
xtandemhyperscorebis.cpp:256
pappso::XtandemHyperscoreBis::m_protoHyperscore
pappso_double m_protoHyperscore
Definition
xtandemhyperscorebis.h:56
pappso::XtandemHyperscoreBis::reset
void reset()
Definition
xtandemhyperscorebis.cpp:73
pappso::XtandemHyperscoreBis::m_isRefineSpectrumSynthesis
bool m_isRefineSpectrumSynthesis
Definition
xtandemhyperscorebis.h:48
pappso::XtandemHyperscoreBis::m_aaIonFactorY
static AaFactorMap m_aaIonFactorY
Definition
xtandemhyperscorebis.h:58
pappso::XtandemHyperscoreBis::AaFactorMap
std::map< char, pappso_double > AaFactorMap
Definition
xtandemhyperscorebis.h:42
pappso::XtandemHyperscoreBis::m_ionList
std::vector< Enums::PeptideIon > m_ionList
Definition
xtandemhyperscorebis.h:50
pappso::XtandemHyperscoreBis::getMatchedIons
unsigned int getMatchedIons(Enums::PeptideIon ion_type) const
Definition
xtandemhyperscorebis.cpp:66
pappso::XtandemHyperscoreBis::computeXtandemHyperscore
bool computeXtandemHyperscore(const MassSpectrum &spectrum, const Peptide &peptide, unsigned int parent_charge)
Definition
xtandemhyperscorebis.cpp:84
pappso::XtandemHyperscoreBis::mp_precision
PrecisionPtr mp_precision
Definition
xtandemhyperscorebis.h:49
pappso::XtandemHyperscoreBis::m_ionCount
unsigned int m_ionCount[PEPTIDE_ION_TYPE_COUNT]
Definition
xtandemhyperscorebis.h:53
pappso::XtandemHyperscoreBis::~XtandemHyperscoreBis
~XtandemHyperscoreBis()
Definition
xtandemhyperscorebis.cpp:61
pappso::XtandemHyperscoreBis::getXtandemPredictedIonIntensityFactor
unsigned int getXtandemPredictedIonIntensityFactor(const QString &sequence, Enums::PeptideIon ion_type, unsigned int size) const
Definition
xtandemhyperscorebis.cpp:200
pappso::XtandemHyperscoreBis::getHyperscore
pappso_double getHyperscore() const
Definition
xtandemhyperscorebis.cpp:262
pappso::XtandemHyperscoreBis::m_aaIonFactorBb
static AaFactorMap m_aaIonFactorBb
Definition
xtandemhyperscorebis.h:59
pappso::XtandemHyperscoreBis::m_totalMatchedIons
unsigned int m_totalMatchedIons
Definition
xtandemhyperscorebis.h:52
pappso::XtandemHyperscoreBis::XtandemHyperscoreBis
XtandemHyperscoreBis(bool refine_spectrum_synthesis, PrecisionPtr precision, const std::vector< Enums::PeptideIon > &ion_list)
Definition
xtandemhyperscorebis.cpp:50
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::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition
precision.h:122
peptide.h
PEPTIDE_ION_TYPE_COUNT
#define PEPTIDE_ION_TYPE_COUNT
only useful for internal use DO not change this value : it is used to define static array size
Definition
types.h:464
pappsomspp
core
psm
xtandem
xtandemhyperscorebis.h
Generated on
for libpappsomspp by
1.17.0