libpappsomspp
Library for mass spectrometry
filtertandemremovec13.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/filers/filtertandemremovec13.h
3
* \date 26/04/2019
4
* \author Olivier Langella
5
* \brief new implementation of the X!Tandem filter to remove isotopes in an MS2
6
* signal
7
*/
8
9
/*******************************************************************************
10
* Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.fr>.
11
*
12
* This file is part of the PAPPSOms++ library.
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 "
filterinterface.h
"
32
#include <cstddef>
33
34
namespace
pappso
35
{
36
37
38
/** @brief Deisotope the mass spectrum
39
* \c this mass spectrum is iterated over and according to a data point-based
40
* moving window progression does the following tests:
41
*
42
* - any data point having a x value (m/z value) less than 200 is conserved;
43
*
44
* - any data point having a x value greater than the previous data point's x
45
* value by at least 0.95 is conserved;
46
*
47
*
48
remove isotopes as in X!Tandem algorithm this method doesn't
49
* really remove isotopes: it cleans up multiple intensities within one
50
* Dalton of each other.
51
52
53
first tandem filter is 0.95 (remove_isotopes(_s);)
54
second tandem filter is 1.5 (clean_isotopes(_s);)
55
* */
56
57
class
PMSPP_LIB_DECL
FilterTandemDeisotope
:
public
MassSpectrumFilterInterface
58
{
59
60
public
:
61
FilterTandemDeisotope
(
double
mz_range_max = 0.95,
double
minimum_mz = 200.0);
62
FilterTandemDeisotope
(
const
FilterTandemDeisotope
&other);
63
MassSpectrum
&filter(
MassSpectrum
&data_points)
const override
;
64
65
66
private
:
67
double
m_arbitrary_range_between_isotopes = 0.95;
68
double
m_arbitrary_minimum_mz = 200.0;
69
};
70
}
// namespace pappso
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition:
exportinmportconfig.h:14
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition:
aa.cpp:39
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition:
massspectrum.h:71
filterinterface.h
pappso::MassSpectrumFilterInterface
generic interface to apply a filter on a MassSpectrum This is the same as FilterInterface,...
Definition:
filterinterface.h:56
pappso::FilterTandemDeisotope
Deisotope the mass spectrum this mass spectrum is iterated over and according to a data point-based m...
Definition:
filtertandemremovec13.h:58
pappsomspp
processing
filters
filtertandemremovec13.h
Generated on Mon Dec 21 2020 17:05:07 for libpappsomspp by
1.8.20