Home
·
Classes
·
Annotated Classes
·
Modules
·
Members
·
Namespaces
·
Related Pages
include
OpenMS
CHEMISTRY
SvmTheoreticalSpectrumGeneratorTrainer.h
Go to the documentation of this file.
1
// --------------------------------------------------------------------------
2
// OpenMS -- Open-Source Mass Spectrometry
3
// --------------------------------------------------------------------------
4
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
6
//
7
// This software is released under a three-clause BSD license:
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// * Neither the name of any author or any participating institution
14
// may be used to endorse or promote products derived from this software
15
// without specific prior written permission.
16
// For a full list of authors, refer to the file AUTHORS.
17
// --------------------------------------------------------------------------
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
//
30
// --------------------------------------------------------------------------
31
// $Maintainer: Sandro Andreotti $
32
// $Authors: Sandro Andreotti $
33
// --------------------------------------------------------------------------
34
35
#ifndef OPENMS_CHEMISTRY_SVMTHEORETICALSPECTRUMGENERATORTRAINER_H
36
#define OPENMS_CHEMISTRY_SVMTHEORETICALSPECTRUMGENERATORTRAINER_H
37
38
#include <
OpenMS/DATASTRUCTURES/DefaultParamHandler.h
>
39
#include <
OpenMS/CHEMISTRY/SvmTheoreticalSpectrumGenerator.h
>
40
#include <
OpenMS/SIMULATION/SimTypes.h
>
41
#include <
OpenMS/FORMAT/TextFile.h
>
42
43
namespace
OpenMS
44
{
62
class
OPENMS_DLLAPI
SvmTheoreticalSpectrumGeneratorTrainer
:
63
public
DefaultParamHandler
64
{
65
typedef
SvmTheoreticalSpectrumGenerator::IonType
IonType
;
66
typedef
SvmTheoreticalSpectrumGenerator::DescriptorSet
DescriptorSet
;
67
typedef
std::map<std::pair<IonType, Size>, std::vector<DoubleReal> >
ObservedIntensMap
;
68
70
void
countIntensities_(
const
PeakSpectrum
& spectrum,
71
const
AASequence
& annotation,
72
IonType
type,
73
std::map<std::pair<IonType, Size>, std::vector<DoubleReal> > & observed_intensities,
74
DoubleReal
tolerance,
75
Size
number_of_regions
76
);
77
79
void
trainSecondaryTypes_(
TextFile
& info_outfile,
80
Size
number_of_regions,
81
Size
number_of_intensity_levels,
82
ObservedIntensMap
& observed_intensities,
83
const
std::vector<IonType> & ion_types,
84
const
std::vector<bool> & is_primary
85
);
86
public
:
87
91
SvmTheoreticalSpectrumGeneratorTrainer
();
93
95
SvmTheoreticalSpectrumGeneratorTrainer
(
const
SvmTheoreticalSpectrumGeneratorTrainer
& source);
96
98
virtual
~
SvmTheoreticalSpectrumGeneratorTrainer
();
100
102
SvmTheoreticalSpectrumGeneratorTrainer
& operator=(
const
SvmTheoreticalSpectrumGeneratorTrainer
& tsg);
103
105
void
trainModel(
const
PeakMap
& spectra,
const
std::vector<AASequence> & annotations,
String
filename,
Int
precursor_charge);
106
108
void
normalizeIntensity(
PeakSpectrum
& S)
const
;
109
110
protected
:
111
113
void
writeTrainingFile_(std::vector<DescriptorSet> & training_input, std::vector<DoubleReal> & training_output,
String
filename);
114
115
};
116
}
117
118
#endif // SvmTheoreticalSpectrumGeneratorTrainer_H
OpenMS::SvmTheoreticalSpectrumGenerator::IonType
nested class
Definition:
SvmTheoreticalSpectrumGenerator.h:80
OpenMS::String
A more convenient string class.
Definition:
String.h:56
SimTypes.h
double
OpenMS::AASequence
Representation of a peptide/protein sequence.
Definition:
AASequence.h:84
DefaultParamHandler.h
OpenMS::SvmTheoreticalSpectrumGeneratorTrainer::IonType
SvmTheoreticalSpectrumGenerator::IonType IonType
Definition:
SvmTheoreticalSpectrumGeneratorTrainer.h:65
OpenMS::MSSpectrum< Peak1D >
SvmTheoreticalSpectrumGenerator.h
OpenMS::SvmTheoreticalSpectrumGeneratorTrainer
Train SVM models that are used by SvmTheoreticalSpectrumGenerator.
Definition:
SvmTheoreticalSpectrumGeneratorTrainer.h:62
OpenMS::SvmTheoreticalSpectrumGenerator::DescriptorSet
A set of descriptors for a single training row.
Definition:
SvmTheoreticalSpectrumGenerator.h:138
OpenMS::MSExperiment< Peak1D >
OpenMS::Size
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition:
Types.h:144
TextFile.h
OpenMS::SvmTheoreticalSpectrumGeneratorTrainer::ObservedIntensMap
std::map< std::pair< IonType, Size >, std::vector< DoubleReal > > ObservedIntensMap
Definition:
SvmTheoreticalSpectrumGeneratorTrainer.h:67
OpenMS::DefaultParamHandler
A base class for all classes handling default parameters.
Definition:
DefaultParamHandler.h:90
OpenMS::Int
int Int
Signed integer type.
Definition:
Types.h:100
OpenMS::SvmTheoreticalSpectrumGeneratorTrainer::DescriptorSet
SvmTheoreticalSpectrumGenerator::DescriptorSet DescriptorSet
Definition:
SvmTheoreticalSpectrumGeneratorTrainer.h:66
OpenMS::TextFile
This class provides some basic file handling methods for text files.
Definition:
TextFile.h:47
OpenMS / TOPP release 1.11.1
Documentation generated on Thu Nov 14 2013 11:19:21 using doxygen 1.8.5