35 #ifndef OPENMS_ANALYSIS_MAPMATCHING_MAPALIGNMENTALGORITHMSPECTRUMALIGNMENT_H
36 #define OPENMS_ANALYSIS_MAPMATCHING_MAPALIGNMENTALGORITHMSPECTRUMALIGNMENT_H
43 #include <gsl/gsl_errno.h>
44 #include <gsl/gsl_spline.h>
45 #include <gsl/gsl_fft_real.h>
70 virtual void alignPeakMaps(std::vector<
MSExperiment<> > &, std::vector<TransformationDescription> &);
81 return "spectrum_alignment";
112 inline bool operator()(
const std::pair<std::pair<Int, Real>,
Real> & c1,
const std::pair<std::pair<Int, Real>,
Real> & c2)
116 return c1.second > c2.second;
120 return (c1.first).first < (c2.first).first;
125 inline bool operator()(
const std::pair<Real, Real> & c1,
const std::pair<Real, Real> & c2)
129 return c1.first > c2.first;
133 return c1.first < c2.first;
153 void prepareAlign_(
const std::vector<
MSSpectrum<> *> & pattern,
MSExperiment<> & aligned, std::vector<TransformationDescription> & transformation);
173 void fourierActivation_(std::vector<
MSSpectrum<> *> & spectrum_pointer_container);
230 Real scoreCalculation_(
Size i,
Size j,
Size patternbegin,
Size alignbegin,
const std::vector<
MSSpectrum<> *> & pattern, std::vector<
MSSpectrum<> *> & aligned, std::map<
Size, std::map<Size, Real> > & buffer,
bool column_row_orientation);
259 void affineGapalign_(
Size xbegin,
Size ybegin,
Size xend,
Size yend,
const std::vector<
MSSpectrum<> *> & pattern, std::vector<
MSSpectrum<> *> & aligned, std::vector<int> & xcoordinate, std::vector<Real> & ycoordinate, std::vector<int> & xcoordinatepattern);
274 void bucketFilter_(
const std::vector<
MSSpectrum<> *> & pattern, std::vector<
MSSpectrum<> *> & aligned, std::vector<Int> & xcoordinate, std::vector<Real> & ycoordinate, std::vector<Int> & xcoordinatepattern);
291 void eraseFloatDataArrayEntry_(std::vector<
MSSpectrum<> *> & spectrum_pointer_container);
298 void debugscoreDistributionCalculation_(
Real score);
326 void updateMembers_();
333 #endif // OPENMS_ANALYSIS_MAPMATCHING_MAPALIGNMENTALGORITHMSPECTRUMALIGNMENT_H
std::vector< std::pair< Real, Real > > debugtraceback_
Container holding the path of the traceback.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:322
float Real
Real type.
Definition: Types.h:109
A more convenient string class.
Definition: String.h:56
Real gap_
Represent the gap cost for opening o closing a gap in the alignment.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:300
Size anchorPoints_
Defines the amount of ankerpoints which are selected within one bucket.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:310
std::vector< std::vector< Real > > debugscorematrix_
Container holding the only the score of Spectrums.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:320
Real threshold_
This is the minimum score for counting as a match(1-cutoffScore_)
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:316
bool debug_
Debug mode flag default: False.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:312
bool operator()(const std::pair< std::pair< Int, Real >, Real > &c1, const std::pair< std::pair< Int, Real >, Real > &c2)
overloaded operator() for comparing maps of maps std::pair<std::pair<Int,Real>,Real>. If flag is false the second argument of the outer map is selected. The output is an ascending order. If the order flag is true, the first argument of the inner class is selected to get a descending oder.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:112
Base class for all map-alignment algorithms.
Definition: MapAlignmentAlgorithm.h:58
bool operator()(const std::pair< Real, Real > &c1, const std::pair< Real, Real > &c2)
overloaded operator() for comparing pairs of Real, Real std::pair<Real,Real>. If the order flag is fa...
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:125
PeakSpectrumCompareFunctor * c1_
Pointer holds the scoringfunction, which can be selected.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:304
bool flag
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:101
Size bucketsize_
Defines the size of one bucket.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:308
Compare(bool b=false)
Default constructor with an order flag.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:106
innerclass necessary for using the sort algo.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:98
std::vector< std::vector< Real > > debugmatrix_
Container holding the score of the matchmatrix and also the insertmatrix.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:318
A map alignment algorithm based on spectrum similarity (dynamic programming).
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:59
std::vector< Real > scoredistribution_
Container holding the score of each cell(matchmatrix,insertmatrix, traceback)
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:324
static String getProductName()
Returns the product name (for the Factory)
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:79
Real mismatchscore_
Represent the cost of a mismath in the alignment.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:314
Representation of a mass spectrometry experiment.
Definition: MSExperiment.h:68
Real cutoffScore_
This is the minimal score to be count as a mismatch(range 0.0 - 1.0)
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:306
static MapAlignmentAlgorithm * create()
Creates a new instance of this class (for Factory)
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:73
Real e_
Extension cost after a gap ist open.
Definition: MapAlignmentAlgorithmSpectrumAlignment.h:302
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
Base class for compare functors of spectra, that return a similiarity value for two spectra...
Definition: PeakSpectrumCompareFunctor.h:53
int Int
Signed integer type.
Definition: Types.h:100