libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
proteinpresenceabsencematrix.h
Go to the documentation of this file.
1
/**
2
* \file protein/proteinpresenceabsencematrix.h
3
* \date 07/02/2024
4
* \author Olivier Langella
5
* \brief presence/absence matrix of amino acid code along the protein sequence
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2024 Olivier Langella
10
*<Olivier.Langella@universite-paris-saclay.fr>.
11
*
12
* This file is part of PAPPSOms++.
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
******************************************************************************/
28
29
#pragma once
30
31
#include "
pappsomspp/export-import-config.h
"
32
#include <vector>
33
#include <boost/numeric/ublas/matrix.hpp>
34
35
namespace
pappso
36
{
37
38
class
ProteinIntegerCode
;
39
40
/**
41
* @brief
42
*/
43
class
PMSPP_LIB_DECL
ProteinPresenceAbsenceMatrix
44
{
45
public
:
46
/**
47
* Default constructor
48
*/
49
ProteinPresenceAbsenceMatrix
();
50
51
52
/**
53
* copy constructor
54
*/
55
ProteinPresenceAbsenceMatrix
(
const
ProteinPresenceAbsenceMatrix
&other);
56
57
/**
58
* Destructor
59
*/
60
virtual
~ProteinPresenceAbsenceMatrix
();
61
62
ProteinPresenceAbsenceMatrix
&
63
operator=
(
const
ProteinPresenceAbsenceMatrix
&other);
64
65
void
fillMatrix
(
const
pappso::ProteinIntegerCode
&coded_protein,
66
const
std::vector<uint32_t> &code_list_from_spectrum);
67
68
/** @brief process convolution of spectrum code list along protein sequence
69
*/
70
std::vector<double>
convolution
()
const
;
71
72
enum class
ProteinPresenceAbsenceMatrixElement
: std::uint8_t
73
{
74
absent = 0,
///< the aa sequence code is not present
75
present = 1,
///< the aa sequence code is present
76
};
77
78
79
const
boost::numeric::ublas::matrix<
80
pappso::ProteinPresenceAbsenceMatrix::ProteinPresenceAbsenceMatrixElement
> &
81
getPresenceAbsenceMatrix()
const
;
82
83
84
private
:
85
double
convolutionKernel(std::size_t position)
const
;
86
double
getScore(std::size_t seq_position, std::size_t aa_fragment_size)
const
;
87
88
89
private
:
90
boost::numeric::ublas::matrix<ProteinPresenceAbsenceMatrixElement>
91
m_presenceAbsenceMatrix
;
92
};
93
}
// namespace pappso
pappso::ProteinIntegerCode
Definition
proteinintegercode.h:44
pappso::ProteinPresenceAbsenceMatrix::convolution
std::vector< double > convolution() const
process convolution of spectrum code list along protein sequence
Definition
proteinpresenceabsencematrix.cpp:139
pappso::ProteinPresenceAbsenceMatrix::operator=
ProteinPresenceAbsenceMatrix & operator=(const ProteinPresenceAbsenceMatrix &other)
Definition
proteinpresenceabsencematrix.cpp:48
pappso::ProteinPresenceAbsenceMatrix::ProteinPresenceAbsenceMatrix
ProteinPresenceAbsenceMatrix()
Definition
proteinpresenceabsencematrix.cpp:32
pappso::ProteinPresenceAbsenceMatrix::ProteinPresenceAbsenceMatrixElement
ProteinPresenceAbsenceMatrixElement
Definition
proteinpresenceabsencematrix.h:73
pappso::ProteinPresenceAbsenceMatrix::fillMatrix
void fillMatrix(const pappso::ProteinIntegerCode &coded_protein, const std::vector< uint32_t > &code_list_from_spectrum)
Definition
proteinpresenceabsencematrix.cpp:64
pappso::ProteinPresenceAbsenceMatrix::m_presenceAbsenceMatrix
boost::numeric::ublas::matrix< ProteinPresenceAbsenceMatrixElement > m_presenceAbsenceMatrix
Definition
proteinpresenceabsencematrix.h:91
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition
export-import-config.h:14
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappsomspp
core
protein
proteinpresenceabsencematrix.h
Generated on
for libpappsomspp by
1.17.0