Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
FeatureFinderAlgorithmPicked< PeakType, FeatureType > Class Template Reference

FeatureFinderAlgorithm for picked peaks. More...

#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.h>

Inheritance diagram for FeatureFinderAlgorithmPicked< PeakType, FeatureType >:
FeatureFinderAlgorithm< PeakType, FeatureType > FeatureFinderDefs DefaultParamHandler

Public Types

Type definitions
typedef FeatureFinderAlgorithm
< PeakType, FeatureType >
::MapType 
MapType
 
typedef FeatureFinderAlgorithm
< PeakType, FeatureType >
::FeatureMapType 
FeatureMapType
 
typedef MapType::SpectrumType SpectrumType
 
typedef
SpectrumType::FloatDataArrays 
FloatDataArrays
 
- Public Types inherited from FeatureFinderAlgorithm< PeakType, FeatureType >
typedef MSExperiment< PeakTypeMapType
 Input map type. More...
 
typedef MapType::CoordinateType CoordinateType
 Coordinate/Position type of peaks. More...
 
typedef MapType::IntensityType IntensityType
 Intensity type of peaks. More...
 
typedef FeatureMap< FeatureType > FeatureMapType
 Output feature type. More...
 
- Public Types inherited from FeatureFinderDefs
enum  Flag { UNUSED, USED }
 Flags that indicate if a peak is already used in a feature. More...
 
typedef IsotopeCluster::IndexPair IndexPair
 Index to peak consisting of two UInts (scan index / peak index) More...
 
typedef
IsotopeCluster::ChargedIndexSet 
ChargedIndexSet
 Index to peak consisting of two UInts (scan index / peak index) with charge information. More...
 
typedef IsotopeCluster::IndexSet IndexSet
 A set of peak indices. More...
 

Public Member Functions

 FeatureFinderAlgorithmPicked ()
 default constructor More...
 
virtual void setSeeds (const FeatureMapType &seeds)
 Sets a reference to the calling FeatureFinder. More...
 
virtual void run ()
 Main method for actual FeatureFinder. More...
 
- Public Member Functions inherited from FeatureFinderAlgorithm< PeakType, FeatureType >
 FeatureFinderAlgorithm ()
 default constructor More...
 
virtual ~FeatureFinderAlgorithm ()
 destructor More...
 
virtual Param getDefaultParameters () const
 Returns the default parameters. Reimplment. More...
 
void setData (const MapType &map, FeatureMapType &features, FeatureFinder &ff)
 Sets a reference to the calling FeatureFinder. More...
 
- 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...
 

Static Public Member Functions

static FeatureFinderAlgorithm
< PeakType, FeatureType > * 
create ()
 
static const String getProductName ()
 
- Static Public Member Functions inherited from FeatureFinderAlgorithm< PeakType, FeatureType >
static void registerChildren ()
 register all derived classes here (see FeatureFinderAlgorithm_impl.h) More...
 

Protected Types

typedef
FeatureFinderAlgorithmPickedHelperStructs::Seed 
Seed
 
typedef
FeatureFinderAlgorithmPickedHelperStructs::MassTrace
< PeakType
MassTrace
 
typedef
FeatureFinderAlgorithmPickedHelperStructs::MassTraces
< PeakType
MassTraces
 
typedef
FeatureFinderAlgorithmPickedHelperStructs::TheoreticalIsotopePattern 
TheoreticalIsotopePattern
 
typedef
FeatureFinderAlgorithmPickedHelperStructs::IsotopePattern 
IsotopePattern
 

Protected Member Functions

virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void abort_ (const Seed &seed, const String &reason)
 Writes the abort reason to the log file and counts occurrences for each reason. More...
 
DoubleReal intersection_ (const Feature &f1, const Feature &f2) const
 
const TheoreticalIsotopePatterngetIsotopeDistribution_ (DoubleReal mass) const
 Returns the isotope distribution for a certain mass window. More...
 
DoubleReal findBestIsotopeFit_ (const Seed &center, UInt charge, IsotopePattern &best_pattern) const
 Finds the best fitting position of the isotopic pattern estimate defined by center. More...
 
void extendMassTraces_ (const IsotopePattern &pattern, MassTraces &traces, Size meta_index_overall) const
 
void extendMassTrace_ (MassTrace &trace, SignedSize spectrum_index, DoubleReal mz, bool increase_rt, Size meta_index_overall, DoubleReal min_rt=0.0, DoubleReal max_rt=0.0) const
 Extends a single mass trace in one RT direction. More...
 
template<typename SpectrumType >
Size nearest_ (DoubleReal pos, const SpectrumType &spec, Size start) const
 Returns the index of the peak nearest to m/z pos in spectrum spec (linear search starting from index start) More...
 
void findIsotope_ (DoubleReal pos, Size spectrum_index, IsotopePattern &pattern, Size pattern_index, Size &peak_index) const
 Searches for an isotopic peak in the current spectrum and the adjacent spectra. More...
 
DoubleReal positionScore_ (DoubleReal pos1, DoubleReal pos2, DoubleReal allowed_deviation) const
 Calculates a score between 0 and 1 for the m/z deviation of two peaks. More...
 
DoubleReal isotopeScore_ (const TheoreticalIsotopePattern &isotopes, IsotopePattern &pattern, bool consider_mz_distances) const
 Calculates a score between 0 and 1 for the correlation between theoretical and found isotope pattern. More...
 
DoubleReal intensityScore_ (Size spectrum, Size peak) const
 Compute the intensity score for the peak peak in spectrum spectrum. More...
 
TraceFitter< PeakType > * chooseTraceFitter_ (double &tau)
 Choose a the best trace fitter for the current mass traces based on the user parameter (symmetric, asymmetric) or based on an inspection of the mass trace (auto) More...
 
DoubleReal intensityScore_ (Size rt_bin, Size mz_bin, DoubleReal intensity) const
 
Handling of fitted mass traces

Methods to handle the results of the mass trace fitting process.

void cropFeature_ (TraceFitter< PeakType > *fitter, const MassTraces &traces, MassTraces &new_traces)
 Creates new mass traces new_traces based on the fitting result and the original traces traces. More...
 
bool checkFeatureQuality_ (TraceFitter< PeakType > *fitter, MassTraces &feature_traces, const DoubleReal &seed_mz, const DoubleReal &min_feature_score, String &error_msg, DoubleReal &fit_score, DoubleReal &correlation, DoubleReal &final_score)
 Checks the feature based on different score thresholds and model constraints. More...
 
void writeFeatureDebugInfo_ (TraceFitter< PeakType > *fitter, const MassTraces &traces, const MassTraces &new_traces, bool feature_ok, const String error_msg, const DoubleReal final_score, const Int plot_nr, const PeakType &peak, const String path="debug/features/")
 Creates several files containing plots and viewable data of the fitted mass trace. More...
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Protected Attributes

MapType map_
 editable copy of the map More...
 
std::ofstream log_
 Output stream for log/debug info. More...
 
bool debug_
 debug flag More...
 
std::map< String, UIntaborts_
 Array of abort reasons. More...
 
std::map< Seed, Stringabort_reasons_
 Array of abort reasons. More...
 
FeatureMapType seeds_
 User-specified seed list. More...
 
std::vector
< TheoreticalIsotopePattern
isotope_distributions_
 Vector of precalculated isotope distributions for several mass windows. More...
 
Members for parameters often needed in methods
DoubleReal pattern_tolerance_
 Stores mass_trace:mz_tolerance. More...
 
DoubleReal trace_tolerance_
 Stores isotopic_pattern:mz_tolerance. More...
 
UInt min_spectra_
 Number of spectra that have to show the same mass (for finding a mass trace) More...
 
UInt max_missing_trace_peaks_
 Stores mass_trace:max_missing. More...
 
DoubleReal slope_bound_
 Max slope of mass trace intensities. More...
 
DoubleReal intensity_percentage_
 Isotope pattern intensity contribution of required peaks. More...
 
DoubleReal intensity_percentage_optional_
 Isotope pattern intensity contribution of optional peaks. More...
 
DoubleReal optional_fit_improvement_
 Minimal imrovment for leaving out optional isotope. More...
 
DoubleReal mass_window_width_
 Width of the isotope pattern mass bins. More...
 
UInt intensity_bins_
 Number of bins (in RT and MZ) for intensity significance estimation. More...
 
DoubleReal min_isotope_fit_
 Mimimum isotope pattern fit for a feature. More...
 
DoubleReal min_trace_score_
 Minimum quality of a traces. More...
 
DoubleReal min_rt_span_
 Minimum RT range that has to be left after the fit. More...
 
DoubleReal max_rt_span_
 Maximum RT range the model is allowed to span. More...
 
DoubleReal max_feature_intersection_
 Maximum allowed feature intersection (if larger, that one of the feature is removed) More...
 
String reported_mz_
 The mass type that is reported for features. 'maximum' returns the m/z value of the highest mass trace. 'average' returns the intensity-weighted average m/z value of all contained peaks. 'monoisotopic' returns the monoisotopic m/z value derived from the fitted isotope model. More...
 
Members for intensity significance estimation
DoubleReal intensity_rt_step_
 RT bin width. More...
 
DoubleReal intensity_mz_step_
 m/z bin width More...
 
std::vector< std::vector
< std::vector< DoubleReal > > > 
intensity_thresholds_
 Precalculated intensity 20-quantiles (binned) More...
 
- Protected Attributes inherited from FeatureFinderAlgorithm< PeakType, FeatureType >
const MapTypemap_
 Input data pointer. More...
 
FeatureMapTypefeatures_
 Output data pointer. More...
 
FeatureFinderff_
 Pointer to the calling FeatureFinder that is used to access the feature flags. 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...
 

Private Member Functions

FeatureFinderAlgorithmPickedoperator= (const FeatureFinderAlgorithmPicked &)
 Not implemented. More...
 
 FeatureFinderAlgorithmPicked (const FeatureFinderAlgorithmPicked &)
 Not implemented. More...
 

Detailed Description

template<class PeakType, class FeatureType>
class OpenMS::FeatureFinderAlgorithmPicked< PeakType, FeatureType >

FeatureFinderAlgorithm for picked peaks.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
debug stringfalse true, falseWhen debug mode is activated, several files with intermediate results are written to the folder 'debug' (do not use in parallel mode).
intensity:bins int10 min: 1Number of bins per dimension (RT and m/z). The higher this value, the more local the intensity significance score is.
This parameter should be decreased, if the algorithm is used on small regions of a map.
mass_trace:mz_tolerance float0.03 min: 0Tolerated m/z deviation of peaks belonging to the same mass trace.
It should be larger than the m/z resolution of the instument.
This value must be smaller than that 1/charge_high!
mass_trace:min_spectra int10 min: 1Number of spectra that have to show a similar peak mass in a mass trace.
mass_trace:max_missing int1 min: 0Number of consecutive spectra where a high mass deviation or missing peak is acceptable.
This parameter should be well below 'min_spectra'!
mass_trace:slope_bound float0.1 min: 0The maximum slope of mass trace intensities when extending from the highest peak.
This parameter is important to seperate overlapping elution peaks.
It should be increased if feature elution profiles fluctuate a lot.
isotopic_pattern:charge_low int1 min: 1Lowest charge to search for.
isotopic_pattern:charge_high int4 min: 1Highest charge to search for.
isotopic_pattern:mz_tolerance float0.03 min: 0Tolerated m/z deviation from the theoretical isotopic pattern.
It should be larger than the m/z resolution of the instument.
This value must be smaller than that 1/charge_high!
isotopic_pattern:intensity_percentage float10 min: 0 max: 100Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity must be present.
isotopic_pattern:intensity_percentage_optional float0.1 min: 0 max: 100Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity can be missing.
isotopic_pattern:optional_fit_improvement float2 min: 0 max: 100Minimal percental improvement of isotope fit to allow leaving out an optional peak.
isotopic_pattern:mass_window_width float25 min: 1 max: 200Window width in Dalton for precalculation of estimated isotope distributions.
isotopic_pattern:abundance_12C float98.93 min: 0 max: 100Rel. abundance of the light carbon. Modify if labeled.
isotopic_pattern:abundance_14N float99.632 min: 0 max: 100Rel. abundance of the light nitrogen. Modify if labeled.
seed:min_score float0.8 min: 0 max: 1Minimum seed score a peak has to reach to be used as seed.
The seed score is the geometric mean of intensity score, mass trace score and isotope pattern score.
If your features show a large deviation from the averagene isotope distribution or from an gaussian elution profile, lower this score.
fit:epsilon_abs float0.0001 min: 0Absolute epsilon used for convergence of the fit.
fit:epsilon_rel float0.0001 min: 0Relative epsilon used for convergence of the fit.
fit:max_iterations int500 min: 1Maximum number of iterations of the fit.
feature:min_score float0.7 min: 0 max: 1Feature score threshold for a feature to be reported.
The feature score is the geometric mean of the average relative deviation and the correlation between the model and the observed peaks.
feature:min_isotope_fit float0.8 min: 0 max: 1Minimum isotope fit of the feature before model fitting.
feature:min_trace_score float0.5 min: 0 max: 1Trace score threshold.
Traces below this threshold are removed after the model fitting.
This parameter is important for features that overlap in m/z dimension.
feature:min_rt_span float0.333 min: 0 max: 1Minimum RT span in relation to extended area that has to remain after model fitting.
feature:max_rt_span float2.5 min: 0.5Maximum RT span in relation to extended area that the model is allowed to have.
feature:rt_shape stringsymmetric symmetric, asymmetricChoose model used for RT profile fitting. If set to symmetric a gauss shape is used, in case of asymmetric an EGH shape is used.
feature:max_intersection float0.35 min: 0 max: 1Maximum allowed intersection of features.
feature:reported_mz stringmonoisotopic maximum, average, monoisotopicThe mass type that is reported for features.
'maximum' returns the m/z value of the highest mass trace.
'average' returns the intensity-weighted average m/z value of all contained peaks.
'monoisotopic' returns the monoisotopic m/z value derived from the fitted isotope model.
user-seed:rt_tolerance float5 min: 0Allowed RT deviation of seeds from the user-specified seed position.
user-seed:mz_tolerance float1.1 min: 0Allowed m/z deviation of seeds from the user-specified seed position.
user-seed:min_score float0.5 min: 0 max: 1Overwrites 'seed:min_score' for user-specified seeds. The cutoff is typically a bit lower in this case.
debug:pseudo_rt_shift float500 min: 1Pseudo RT shift used when .

Note:
Improvement:

RT model with tailing/fronting (Marc)

More general MZ model - e.g. based on co-elution or with sulfur-averagines (Marc)

Todo:

Fix output in parallel mode, change assignment of charges to threads, add parallel TOPP test (Marc)

Implement user-specified seed lists support (Marc)

Member Typedef Documentation

Constructor & Destructor Documentation

Not implemented.

Member Function Documentation

void abort_ ( const Seed seed,
const String reason 
)
inlineprotected
bool checkFeatureQuality_ ( TraceFitter< PeakType > *  fitter,
MassTraces feature_traces,
const DoubleReal seed_mz,
const DoubleReal min_feature_score,
String error_msg,
DoubleReal fit_score,
DoubleReal correlation,
DoubleReal final_score 
)
inlineprotected

Checks the feature based on different score thresholds and model constraints.

Feature can get invalid for following reasons:

  • Invalid fit: Fitted model is bigger than 'max_rt_span'
  • Invalid feature after fit - too few traces or peaks left
  • Invalid fit: Center outside of feature bounds
  • Invalid fit: Less than 'min_rt_span' left after fit
  • Feature quality too low after fit
Parameters
fitterThe TraceFitter containing the results from the rt profile fitting step.
feature_tracesCropped feature mass traces.
seed_mzMz of the seed
min_feature_scoreMinimal required feature score
error_msgWill be filled with the error message, if the feature is invalid
fit_scoreWill be filled with the fit score
correlationWill be filled with correlation between feature and model
final_scoreWill be filled with the final score
Returns
true if the feature is valid

References FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::baseline, TraceFitter< PeakType >::checkMaximalRTSpan(), TraceFitter< PeakType >::checkMinimalRTSpan(), TraceFitter< PeakType >::computeTheoretical(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::debug_, TraceFitter< PeakType >::getCenter(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::getPeakCount(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::getRTBounds(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::isValid(), OpenMS::Constants::k, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::log_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_rt_span_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_rt_span_, FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::peaks, OpenMS::Math::pearsonCorrelationCoefficient(), and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::trace_tolerance_.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

TraceFitter<PeakType>* chooseTraceFitter_ ( double tau)
inlineprotected

Choose a the best trace fitter for the current mass traces based on the user parameter (symmetric, asymmetric) or based on an inspection of the mass trace (auto)

Returns
A pointer to the trace fitter that should be used.

References Param::getValue(), LOG_DEBUG, and DefaultParamHandler::param_.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

static FeatureFinderAlgorithm<PeakType, FeatureType>* create ( )
inlinestatic
void cropFeature_ ( TraceFitter< PeakType > *  fitter,
const MassTraces traces,
MassTraces new_traces 
)
inlineprotected
void extendMassTrace_ ( MassTrace trace,
SignedSize  spectrum_index,
DoubleReal  mz,
bool  increase_rt,
Size  meta_index_overall,
DoubleReal  min_rt = 0.0,
DoubleReal  max_rt = 0.0 
) const
inlineprotected

Extends a single mass trace in one RT direction.

How to use this method:

  • Add the starting peak to the trace
  • Indicate using increase_rt whether to extend in downstream or upstream direction
Parameters
traceThe trace that should be extended
spectrum_indexThe index of the spectrum from which on the mass trace should be extended
mzThe mz location (center) of the trace
increase_rtIndicator whether the extension is done in forward or backward direction (with respect to the current spectrum)
meta_index_overallThe index of the overall score
min_rtThe rt minimum up to which the trace will be extended.
max_rtThe rt maximum up to which the trace will be extended.
Note
This method assumes that it extends from a local maximum.
If min_rt or max_rt are set to 0.0 no boundary is assumed in the respective direction.

References FeatureFinderAlgorithmPicked< PeakType, FeatureType >::debug_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::log_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::map_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_missing_trace_peaks_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_spectra_, FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::peaks, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::positionScore_(), MSExperiment< PeakT, ChromatogramPeakT >::size(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::slope_bound_, and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::trace_tolerance_.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::extendMassTraces_().

void extendMassTraces_ ( const IsotopePattern pattern,
MassTraces traces,
Size  meta_index_overall 
) const
inlineprotected

Extends all mass traces of an isotope pattern in one step

Parameters
patternThe IsotopePattern that should be extended.
tracesThe MassTraces datastructure where the extended mass traces will be stored in.
meta_index_overallThe index of the data array where the qualtiy scores for the given charge are stored.

References FeatureFinderAlgorithmPicked< PeakType, FeatureType >::debug_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::extendMassTrace_(), Peak2D::getIntensity(), Peak2D::getMZ(), FeatureFinderAlgorithmPickedHelperStructs::Seed::intensity, FeatureFinderAlgorithmPickedHelperStructs::TheoreticalIsotopePattern::intensity, FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::isValid(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::log_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::map_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_missing_trace_peaks_, FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::max_trace, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_spectra_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::pattern_tolerance_, FeatureFinderAlgorithmPickedHelperStructs::Seed::peak, FeatureFinderAlgorithmPickedHelperStructs::IsotopePattern::peak, FeatureFinderAlgorithmPickedHelperStructs::MassTrace< PeakType >::peaks, MSExperiment< PeakT, ChromatogramPeakT >::size(), FeatureFinderAlgorithmPickedHelperStructs::Seed::spectrum, FeatureFinderAlgorithmPickedHelperStructs::IsotopePattern::spectrum, and FeatureFinderAlgorithmPickedHelperStructs::IsotopePattern::theoretical_pattern.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

DoubleReal findBestIsotopeFit_ ( const Seed center,
UInt  charge,
IsotopePattern best_pattern 
) const
inlineprotected
void findIsotope_ ( DoubleReal  pos,
Size  spectrum_index,
IsotopePattern pattern,
Size  pattern_index,
Size peak_index 
) const
inlineprotected
const TheoreticalIsotopePattern& getIsotopeDistribution_ ( DoubleReal  mass) const
inlineprotected
static const String getProductName ( )
inlinestatic
DoubleReal intensityScore_ ( Size  spectrum,
Size  peak 
) const
inlineprotected

Compute the intensity score for the peak peak in spectrum spectrum.

The intensity score is computed by interpolating the score between the 4 nearest intensity bins. The scores from the different bins are weighted by the distance of the bin center to the peak.

Parameters
spectrumIndex of the spectrum we are currently looking at
peakIndex of the peak that should be scored inside the spectrum spectrum

References MSExperiment< PeakT, ChromatogramPeakT >::getMinMZ(), MSExperiment< PeakT, ChromatogramPeakT >::getMinRT(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_bins_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_mz_step_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_rt_step_, OpenMS::Math::isOdd(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::map_, and OPENMS_POSTCONDITION.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

DoubleReal intensityScore_ ( Size  rt_bin,
Size  mz_bin,
DoubleReal  intensity 
) const
inlineprotected
DoubleReal intersection_ ( const Feature f1,
const Feature f2 
) const
inlineprotected

Calculates the intersection between features. The value is normalized by the size of the smaller feature, so it ranges from 0 to 1.

References Feature::getConvexHulls(), DBoundingBox< D >::intersects(), DIntervalBase< D >::maxPosition(), DIntervalBase< D >::minPosition(), and DIntervalBase< D >::width().

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

DoubleReal isotopeScore_ ( const TheoreticalIsotopePattern isotopes,
IsotopePattern pattern,
bool  consider_mz_distances 
) const
inlineprotected
Size nearest_ ( DoubleReal  pos,
const SpectrumType spec,
Size  start 
) const
inlineprotected

Returns the index of the peak nearest to m/z pos in spectrum spec (linear search starting from index start)

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::findIsotope_().

FeatureFinderAlgorithmPicked& operator= ( const FeatureFinderAlgorithmPicked< PeakType, FeatureType > &  )
private

Not implemented.

DoubleReal positionScore_ ( DoubleReal  pos1,
DoubleReal  pos2,
DoubleReal  allowed_deviation 
) const
inlineprotected
virtual void run ( )
inlinevirtual

Main method for actual FeatureFinder.

Implements FeatureFinderAlgorithm< PeakType, FeatureType >.

References FeatureFinderAlgorithmPicked< PeakType, FeatureType >::abort_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::abort_reasons_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::aborts_, MSExperiment< PeakT, ChromatogramPeakT >::areaBeginConst(), MSExperiment< PeakT, ChromatogramPeakT >::areaEndConst(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::baseline, IsotopeDistribution::begin(), OpenMS::Constants::c, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::checkFeatureQuality_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::chooseTraceFitter_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::cropFeature_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::debug_, DefaultParamHandler::defaults_, Feature::encloses(), DBoundingBox< D >::encloses(), IsotopeDistribution::end(), ProgressLogger::endProgress(), IsotopeDistribution::estimateFromPeptideWeight(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::extendMassTraces_(), FeatureFinderAlgorithm< PeakType, FeatureType >::features_, FeatureFinderAlgorithm< PeakType, FeatureType >::ff_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::findBestIsotopeFit_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::findIsotope_(), MSSpectrum< PeakT >::findNearest(), TraceFitter< PeakType >::fit(), ConvexHull2D::getBoundingBox(), TraceFitter< PeakType >::getCenter(), BaseFeature::getCharge(), Feature::getConvexHull(), Feature::getConvexHulls(), ElementDB::getElement(), TraceFitter< PeakType >::getFeatureIntensityContribution(), TraceFitter< PeakType >::getFWHM(), TraceFitter< PeakType >::getHeight(), ElementDB::getInstance(), Peak2D::getIntensity(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::getIsotopeDistribution_(), MSExperiment< PeakT, ChromatogramPeakT >::getMaxMZ(), MSExperiment< PeakT, ChromatogramPeakT >::getMaxRT(), MSExperiment< PeakT, ChromatogramPeakT >::getMinMZ(), MSExperiment< PeakT, ChromatogramPeakT >::getMinRT(), Peak2D::getMZ(), Feature::getOverallQuality(), MSSpectrum< PeakT >::getRT(), Feature::getSubordinates(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::getTheoreticalmaxPosition(), Param::getValue(), IF_MASTERTHREAD, FeatureFinderAlgorithmPickedHelperStructs::Seed::intensity, FeatureFinderAlgorithmPickedHelperStructs::TheoreticalIsotopePattern::intensity, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_bins_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_mz_step_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_percentage_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_percentage_optional_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_rt_step_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_thresholds_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensityScore_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intersection_(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::isotope_distributions_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::isotopeScore_(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::isValid(), OpenMS::Constants::k, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::log_, LOG_DEBUG, LOG_INFO, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::map_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::mass_window_width_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_feature_intersection_, FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::max_trace, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_isotope_fit_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_spectra_, DefaultParamHandler::param_, FeatureFinderAlgorithmPickedHelperStructs::Seed::peak, FeatureFinderAlgorithmPickedHelperStructs::IsotopePattern::peak, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::positionScore_(), OpenMS::Constants::PROTON_MASS_U, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::reported_mz_, MSExperiment< PeakT, ChromatogramPeakT >::resize(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::seeds_, IsotopeDistribution::set(), BaseFeature::setCharge(), Peak2D::setIntensity(), Element::setIsotopeDistribution(), IsotopeDistribution::setMaxIsotope(), MetaInfoInterface::setMetaValue(), Peak2D::setMZ(), Feature::setOverallQuality(), DefaultParamHandler::setParameters(), ProgressLogger::setProgress(), Peak2D::setRT(), UniqueIdInterface::setUniqueId(), Param::setValue(), BaseFeature::setWidth(), MSExperiment< PeakT, ChromatogramPeakT >::size(), IsotopeDistribution::size(), FeatureFinderAlgorithmPickedHelperStructs::TheoreticalIsotopePattern::size(), FeatureMap< FeatureT >::sortByIntensity(), FeatureMap< FeatureT >::sortByMZ(), FeatureFinderAlgorithmPickedHelperStructs::Seed::spectrum, ProgressLogger::startProgress(), FeatureXMLFile::store(), MzMLFile::store(), FeatureMap< FeatureT >::swapFeaturesOnly(), FeatureFinderAlgorithmPickedHelperStructs::IsotopePattern::theoretical_pattern, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::trace_tolerance_, IsotopeDistribution::trimLeft(), FeatureFinderAlgorithmPickedHelperStructs::TheoreticalIsotopePattern::trimmed_left, IsotopeDistribution::trimRight(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::updateBaseline(), and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::writeFeatureDebugInfo_().

virtual void setSeeds ( const FeatureMapType seeds)
inlinevirtual

Sets a reference to the calling FeatureFinder.

Exceptions
Exception::IllegalArgumentis thrown if the algorithm does not support user-specified seed lists

Reimplemented from FeatureFinderAlgorithm< PeakType, FeatureType >.

References FeatureFinderAlgorithmPicked< PeakType, FeatureType >::seeds_.

virtual void updateMembers_ ( )
inlineprotectedvirtual

This method is used to update extra member variables at the end of the setParameters() method.

Also call it at the end of the derived classes' copy constructor and assignment operator.

The default implementation is empty.

Reimplemented from DefaultParamHandler.

References Param::getValue(), FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_bins_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_percentage_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::intensity_percentage_optional_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::mass_window_width_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_feature_intersection_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_missing_trace_peaks_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::max_rt_span_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_isotope_fit_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_rt_span_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_spectra_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::min_trace_score_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::optional_fit_improvement_, DefaultParamHandler::param_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::pattern_tolerance_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::reported_mz_, FeatureFinderAlgorithmPicked< PeakType, FeatureType >::slope_bound_, and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::trace_tolerance_.

void writeFeatureDebugInfo_ ( TraceFitter< PeakType > *  fitter,
const MassTraces traces,
const MassTraces new_traces,
bool  feature_ok,
const String  error_msg,
const DoubleReal  final_score,
const Int  plot_nr,
const PeakType peak,
const String  path = "debug/features/" 
)
inlineprotected

Creates several files containing plots and viewable data of the fitted mass trace.

Parameters
fitterThe TraceFitter containing the results from the rt profile fitting step.
tracesOriginal mass traces found in the spectra
new_tracesCropped feature mass traces
feature_okStatus of the feature
error_msgIf the feature is invalid, error_msg contains the reason
final_scoreFinal score of the feature
plot_nrIndex of the feature
peakThe Seed Peak
pathThe path where to put the debug files (default is debug/features)

References FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::baseline, FeatureFinderAlgorithm< PeakType, FeatureType >::features_, TraceFitter< PeakType >::getCenter(), TraceFitter< PeakType >::getGnuplotFormula(), Peak2D::getMZ(), FeatureFinderAlgorithmPickedHelperStructs::MassTraces< PeakType >::getPeakCount(), Param::getValue(), OpenMS::Constants::k, String::number(), DefaultParamHandler::param_, and TextFile::store().

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

Member Data Documentation

std::map<Seed, String> abort_reasons_
protected
std::map<String, UInt> aborts_
protected
bool debug_
protected
UInt intensity_bins_
protected
DoubleReal intensity_mz_step_
protected
DoubleReal intensity_percentage_
protected
DoubleReal intensity_percentage_optional_
protected
DoubleReal intensity_rt_step_
protected
std::vector<std::vector<std::vector<DoubleReal> > > intensity_thresholds_
protected
std::vector<TheoreticalIsotopePattern> isotope_distributions_
protected

Vector of precalculated isotope distributions for several mass windows.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::getIsotopeDistribution_(), and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run().

std::ofstream log_
mutableprotected
MapType map_
protected
DoubleReal mass_window_width_
protected
DoubleReal max_feature_intersection_
protected

Maximum allowed feature intersection (if larger, that one of the feature is removed)

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run(), and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::updateMembers_().

UInt max_missing_trace_peaks_
protected
DoubleReal max_rt_span_
protected
DoubleReal min_isotope_fit_
protected
DoubleReal min_rt_span_
protected
UInt min_spectra_
protected
DoubleReal min_trace_score_
protected
DoubleReal optional_fit_improvement_
protected
DoubleReal pattern_tolerance_
protected
String reported_mz_
protected

The mass type that is reported for features. 'maximum' returns the m/z value of the highest mass trace. 'average' returns the intensity-weighted average m/z value of all contained peaks. 'monoisotopic' returns the monoisotopic m/z value derived from the fitted isotope model.

Referenced by FeatureFinderAlgorithmPicked< PeakType, FeatureType >::run(), and FeatureFinderAlgorithmPicked< PeakType, FeatureType >::updateMembers_().

FeatureMapType seeds_
protected
DoubleReal slope_bound_
protected
DoubleReal trace_tolerance_
protected

OpenMS / TOPP release 1.11.1 Documentation generated on Thu Nov 14 2013 11:19:34 using doxygen 1.8.5