ProteoWizard
pwiz
utility
chemistry
IsotopeEnvelopeEstimator.hpp
Go to the documentation of this file.
1
//
2
// $Id: IsotopeEnvelopeEstimator.hpp 1638 2009-12-18 23:26:34Z chambm $
3
//
4
//
5
// Original author: Darren Kessner <darren@proteowizard.org>
6
//
7
// Copyright 2007 Spielberg Family Center for Applied Proteomics
8
// Cedars Sinai Medical Center, Los Angeles, California 90048
9
//
10
// Licensed under the Apache License, Version 2.0 (the "License");
11
// you may not use this file except in compliance with the License.
12
// You may obtain a copy of the License at
13
//
14
// http://www.apache.org/licenses/LICENSE-2.0
15
//
16
// Unless required by applicable law or agreed to in writing, software
17
// distributed under the License is distributed on an "AS IS" BASIS,
18
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
// See the License for the specific language governing permissions and
20
// limitations under the License.
21
//
22
23
24
#ifndef _ISOTOPEENVELOPEESTIMATOR_HPP_
25
#define _ISOTOPEENVELOPEESTIMATOR_HPP_
26
27
28
#include "
pwiz/utility/misc/Export.hpp
"
29
#include "
Chemistry.hpp
"
30
#include "
IsotopeCalculator.hpp
"
31
32
33
namespace
pwiz
{
34
namespace
chemistry {
35
36
37
/// Class used for calculating a theoretical isotope envelope for a given mass,
38
/// based on an estimate of the elemental composition for that mass. For peptides,
39
/// the elemental composition estimate is based on the average elemental composition
40
/// of amino acid residues. Mass distributions are calculated on construction of the
41
/// object and cached for quick access.
42
class
PWIZ_API_DECL
IsotopeEnvelopeEstimator
43
{
44
public
:
45
46
struct
PWIZ_API_DECL
Config
47
{
48
enum
Type
{Peptide};
49
50
Type
type
;
51
unsigned
int
cacheSize
;
52
double
cacheMaxMass
;
53
int
normalization
;
54
const
IsotopeCalculator
*
isotopeCalculator
;
// must be valid during construction only
55
56
Config
()
57
: type(Peptide),
58
cacheSize(10000),
59
cacheMaxMass(100000),
60
normalization(
IsotopeCalculator
::
NormalizeMass
|
// monoisotopic == 0
61
IsotopeCalculator
::NormalizeAbundance),
// norm_2 == 1
62
isotopeCalculator(0)
63
{}
64
};
65
66
IsotopeEnvelopeEstimator
(
const
Config
& config);
67
~
IsotopeEnvelopeEstimator
();
68
69
MassDistribution
isotopeEnvelope(
double
mass)
const
;
70
71
private
:
72
73
class
Impl;
74
std::auto_ptr<Impl>
impl_
;
75
76
// no copying
77
IsotopeEnvelopeEstimator
(
const
IsotopeEnvelopeEstimator
&);
78
IsotopeEnvelopeEstimator
& operator=(
const
IsotopeEnvelopeEstimator
&);
79
};
80
81
82
}
// namespace chemistry
83
}
// namespace pwiz
84
85
86
#endif // _ISOTOPEENVELOPEESTIMATOR_HPP_
pwiz
Definition:
CwtPeakDetector.hpp:35
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::normalization
int normalization
Definition:
IsotopeEnvelopeEstimator.hpp:53
IsotopeCalculator.hpp
Chemistry.hpp
pwiz::chemistry::IsotopeEnvelopeEstimator
Class used for calculating a theoretical isotope envelope for a given mass, based on an estimate of t...
Definition:
IsotopeEnvelopeEstimator.hpp:42
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::cacheMaxMass
double cacheMaxMass
Definition:
IsotopeEnvelopeEstimator.hpp:52
Export.hpp
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::Type
Type
Definition:
IsotopeEnvelopeEstimator.hpp:48
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::type
Type type
Definition:
IsotopeEnvelopeEstimator.hpp:50
pwiz::chemistry::IsotopeCalculator
Definition:
IsotopeCalculator.hpp:37
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::Config
Config()
Definition:
IsotopeEnvelopeEstimator.hpp:56
PWIZ_API_DECL
#define PWIZ_API_DECL
Definition:
Export.hpp:32
NormalizeMass
NormalizeMass
Definition:
IsotopeCalculator.hpp:46
pwiz::chemistry::IsotopeEnvelopeEstimator::Config
Definition:
IsotopeEnvelopeEstimator.hpp:46
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::cacheSize
unsigned int cacheSize
Definition:
IsotopeEnvelopeEstimator.hpp:51
pwiz::chemistry::MassDistribution
std::vector< MassAbundance > MassDistribution
struct for holding isotope distribution
Definition:
Chemistry.hpp:66
pwiz::chemistry::IsotopeEnvelopeEstimator::impl_
std::auto_ptr< Impl > impl_
Definition:
IsotopeEnvelopeEstimator.hpp:73
pwiz::chemistry::IsotopeEnvelopeEstimator::Config::isotopeCalculator
const IsotopeCalculator * isotopeCalculator
Definition:
IsotopeEnvelopeEstimator.hpp:54
Generated by
1.8.12