pappsomspp
Library for mass spectrometry
timsxicextractorinterface.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/vendors/tims/xicextractor/timsxicextractorinterface.h
3
* \date 21/09/2019
4
* \author Olivier Langella
5
* \brief minimum functions to extract XICs from Tims Data
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.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
******************************************************************************/
27
28
#pragma once
29
30
31
#include "../../../mzrange.h"
32
#include "../../../xic/xic.h"
33
#include "../timsdata.h"
34
35
namespace
pappso
36
{
37
38
struct
TimsXicStructure
39
{
40
std::size_t
precursorId
;
41
MzRange
mzRange
;
42
std::size_t
mobilityIndexBegin
;
43
std::size_t
mobilityIndexEnd
;
44
pappso::pappso_double
rtTarget
;
45
XicSPtr
xicSptr
=
nullptr
;
46
double
tmpIntensity
= 0;
47
};
48
49
/**
50
* @todo set of minimum functions to build XICs using Tims data
51
*/
52
class
TimsXicExtractorInterface
53
{
54
55
public
:
56
TimsXicExtractorInterface
(
TimsData
*mp_tims_data);
57
virtual
~TimsXicExtractorInterface
();
58
59
/** @brief set the XIC extraction method
60
*/
61
void
setXicExtractMethod
(
XicExtractMethod
method);
// sum or max
62
63
64
protected
:
65
/** @brief extract XICs for given coordinates
66
* XICs are extracted given their coordinates : retention time target,
67
* mobility range, mz range
68
* @param timsXicList list of TIMS XIC structures (XIC coordinates)
69
* @param rtRange the range in seconds that will be applied before and after
70
* XIC rtTarget to extract signal
71
*/
72
virtual
void
extractTimsXicList
(std::vector<TimsXicStructure> &timsXicList,
73
double
rtRange)
const
= 0;
74
75
protected
:
76
TimsData
*
mp_timsData
;
77
XicExtractMethod
m_xicExtractMethod
=
XicExtractMethod::max
;
78
};
79
80
}
// namespace pappso
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition:
types.h:67
pappso::XicSPtr
std::shared_ptr< Xic > XicSPtr
Definition:
xic.h:58
pappso::TimsXicStructure::precursorId
std::size_t precursorId
Definition:
timsxicextractorinterface.h:73
pappso::TimsXicExtractorInterface::~TimsXicExtractorInterface
virtual ~TimsXicExtractorInterface()
Definition:
timsxicextractorinterface.cpp:36
pappso
Definition:
aa.cpp:38
pappso::TimsXicExtractorInterface::mp_timsData
TimsData * mp_timsData
Definition:
timsxicextractorinterface.h:92
pappso::TimsData
Definition:
timsdata.h:62
pappso::TimsXicStructure::tmpIntensity
double tmpIntensity
Definition:
timsxicextractorinterface.h:79
pappso::TimsXicStructure::xicSptr
XicSPtr xicSptr
Definition:
timsxicextractorinterface.h:78
pappso::XicExtractMethod
XicExtractMethod
Definition:
types.h:201
pappso::XicExtractMethod::max
maximum of intensities
pappso::TimsXicStructure::mobilityIndexEnd
std::size_t mobilityIndexEnd
Definition:
timsxicextractorinterface.h:76
pappso::TimsXicExtractorInterface::setXicExtractMethod
void setXicExtractMethod(XicExtractMethod method)
set the XIC extraction method
Definition:
timsxicextractorinterface.cpp:41
pappso::TimsXicStructure::mzRange
MzRange mzRange
Definition:
timsxicextractorinterface.h:74
pappso::TimsXicExtractorInterface::m_xicExtractMethod
XicExtractMethod m_xicExtractMethod
Definition:
timsxicextractorinterface.h:93
pappso::TimsXicExtractorInterface::extractTimsXicList
virtual void extractTimsXicList(std::vector< TimsXicStructure > &timsXicList, double rtRange) const =0
extract XICs for given coordinates XICs are extracted given their coordinates : retention time target...
pappso::TimsXicStructure::mobilityIndexBegin
std::size_t mobilityIndexBegin
Definition:
timsxicextractorinterface.h:75
pappso::TimsXicStructure::rtTarget
pappso::pappso_double rtTarget
Definition:
timsxicextractorinterface.h:77
pappso::TimsXicExtractorInterface::TimsXicExtractorInterface
TimsXicExtractorInterface(TimsData *mp_tims_data)
Definition:
timsxicextractorinterface.cpp:31
pappsomspp
vendors
tims
xicextractor
timsxicextractorinterface.h
Generated on Tue Apr 28 2020 14:35:52 for pappsomspp by
1.8.16