OpenMS  2.4.0
Private Types | Private Member Functions | List of all members
SvmTheoreticalSpectrumGeneratorTrainer Class Reference

Train SVM models that are used by SvmTheoreticalSpectrumGenerator. More...

#include <OpenMS/CHEMISTRY/SvmTheoreticalSpectrumGeneratorTrainer.h>

Inheritance diagram for SvmTheoreticalSpectrumGeneratorTrainer:
DefaultParamHandler

Private Types

typedef SvmTheoreticalSpectrumGenerator::IonType IonType
 
typedef SvmTheoreticalSpectrumGenerator::DescriptorSet DescriptorSet
 
typedef std::map< std::pair< IonType, Size >, std::vector< double > > ObservedIntensMap
 

Private Member Functions

void countIntensities_ (const PeakSpectrum &spectrum, const AASequence &annotation, IonType type, std::map< std::pair< IonType, Size >, std::vector< double > > &observed_intensities, double tolerance, Size number_of_regions)
 stores the observed intensities for each sector-type combination in a vector More...
 
void trainSecondaryTypes_ (TextFile &info_outfile, Size number_of_regions, Size number_of_intensity_levels, ObservedIntensMap &observed_intensities, const std::vector< IonType > &ion_types, const std::vector< bool > &is_primary)
 trains the Bayesian secondary peak types models More...
 

Constructors and Destructors

 SvmTheoreticalSpectrumGeneratorTrainer ()
 Default constructor. More...
 
 SvmTheoreticalSpectrumGeneratorTrainer (const SvmTheoreticalSpectrumGeneratorTrainer &source)
 Copy constructor. More...
 
 ~SvmTheoreticalSpectrumGeneratorTrainer () override
 Destructor. More...
 
SvmTheoreticalSpectrumGeneratorTraineroperator= (const SvmTheoreticalSpectrumGeneratorTrainer &tsg)
 Assignment operator. More...
 
void trainModel (const PeakMap &spectra, const std::vector< AASequence > &annotations, String filename, Int precursor_charge)
 trains an SVM for each ion_type and stores them in files <filename>_residue_loss_charge.svm More...
 
void normalizeIntensity (PeakSpectrum &S) const
 Normalizes the intensity of the peaks in the input data. More...
 
void writeTrainingFile_ (std::vector< DescriptorSet > &training_input, std::vector< double > &training_output, String filename)
 Write a training file that can be passed to libsvm command line tools. More...
 

Additional Inherited Members

- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
virtual DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 
- Protected Member Functions inherited from DefaultParamHandler
virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Detailed Description

Train SVM models that are used by SvmTheoreticalSpectrumGenerator.

This class implements the algorithm used by the homonymous tool which can be used to train models for MS/MS spectrum simulation.
For the primary ion types (y, b) a SVM is trained using the libSVM library.
All important libSVM parameters are accessible as parameters.
Please refer to the libSVM manuals for detailed description of the parameters. Default values are chosen as in the svm-training tool delivered with libSVM.
For the secondary types (a, c, x, z, losses, b2, y2) a simple Bayesian model is used.

Member Typedef Documentation

◆ DescriptorSet

◆ IonType

◆ ObservedIntensMap

typedef std::map<std::pair<IonType, Size>, std::vector<double> > ObservedIntensMap
private

Constructor & Destructor Documentation

◆ SvmTheoreticalSpectrumGeneratorTrainer() [1/2]

Default constructor.

◆ SvmTheoreticalSpectrumGeneratorTrainer() [2/2]

Copy constructor.

◆ ~SvmTheoreticalSpectrumGeneratorTrainer()

Destructor.

Member Function Documentation

◆ countIntensities_()

void countIntensities_ ( const PeakSpectrum spectrum,
const AASequence annotation,
IonType  type,
std::map< std::pair< IonType, Size >, std::vector< double > > &  observed_intensities,
double  tolerance,
Size  number_of_regions 
)
private

stores the observed intensities for each sector-type combination in a vector

◆ normalizeIntensity()

void normalizeIntensity ( PeakSpectrum S) const

Normalizes the intensity of the peaks in the input data.

◆ operator=()

Assignment operator.

◆ trainModel()

void trainModel ( const PeakMap spectra,
const std::vector< AASequence > &  annotations,
String  filename,
Int  precursor_charge 
)

trains an SVM for each ion_type and stores them in files <filename>_residue_loss_charge.svm

◆ trainSecondaryTypes_()

void trainSecondaryTypes_ ( TextFile info_outfile,
Size  number_of_regions,
Size  number_of_intensity_levels,
ObservedIntensMap observed_intensities,
const std::vector< IonType > &  ion_types,
const std::vector< bool > &  is_primary 
)
private

trains the Bayesian secondary peak types models

◆ writeTrainingFile_()

void writeTrainingFile_ ( std::vector< DescriptorSet > &  training_input,
std::vector< double > &  training_output,
String  filename 
)
protected

Write a training file that can be passed to libsvm command line tools.