OpenMS  2.4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
FeatureFinderAlgorithmSH Class Reference

The Superhirn FeatureFinderAlgorithm. More...

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

Inheritance diagram for FeatureFinderAlgorithmSH:
FeatureFinderAlgorithm FeatureFinderDefs DefaultParamHandler

Public Types

typedef Peak1D PeakType
 
typedef FeatureFinderAlgorithm::MapType MapType
 
typedef MapType::SpectrumType SpectrumType
 
- Public Types inherited from FeatureFinderAlgorithm
typedef PeakMap MapType
 Input map type. More...
 
typedef MapType::CoordinateType CoordinateType
 Coordinate/Position type of peaks. More...
 
typedef MapType::IntensityType IntensityType
 Intensity type of peaks. 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

 FeatureFinderAlgorithmSH ()
 
unsigned int getNativeScanId (String native_id)
 
void run () override
 Main method that implements the actual algorithm. More...
 
- Public Member Functions inherited from FeatureFinderAlgorithm
 FeatureFinderAlgorithm ()
 default constructor More...
 
 ~FeatureFinderAlgorithm () override
 destructor More...
 
virtual Param getDefaultParameters () const
 Returns the default parameters. Reimplement. More...
 
void setData (const MapType &map, FeatureMap &features, FeatureFinder &ff)
 Sets a reference to the calling FeatureFinder. More...
 
virtual void setSeeds (const FeatureMap &seeds)
 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 FeatureFinderAlgorithmcreate ()
 
static const String getProductName ()
 
- Static Public Member Functions inherited from FeatureFinderAlgorithm
static void registerChildren ()
 register all derived classes here (see FeatureFinderAlgorithm_impl.h) More...
 

Protected Attributes

MapType map_
 
FeatureMapfeatures_
 Output data pointer. More...
 
- Protected Attributes inherited from FeatureFinderAlgorithm
const MapTypemap_
 Input data pointer. More...
 
FeatureMapfeatures_
 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...
 

Additional Inherited Members

- 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...
 

Detailed Description

The Superhirn FeatureFinderAlgorithm.

The SuperHirn FeatureFinder algorithm is applied by calling "run" on this class, which in turn calls the FeatureFinderAlgorithmSHCtrl to execute the following algorithm:

START by feeding the datavector into startScanParsing (FTPeakDetectController.cpp) For each scan 1. Centroid it (new CentroidData instance), centroiding is done in CentroidData::calcCentroids 2. Call add_scan_raw_data of ProcessData -> this also does the de-isotoping / feature finding in ProcessData::add_scan_raw_data 3. Apply process_MS1_level_data_structure to the whole map 4. Apply feature merging (MS1FeatureMerger)**, optionally 5. Add to all LC MS/MS runs

Step 2 in ProcessData::add_scan_raw_data works on centroided peaks of a single spectrum 2.1 add to the background intensity controller BackgroundControl::addPeakMSScan which calculates intensity bins 2.2 call "go" on Deisotoper (on single spectrum level) to "de-isotope" spectra * 2.3 Converts them to objects of MSPeak type (single spectrum features)

Step 3 works on an instance of ProcessData (clustering de-isotoped peaks from single spectra over RT) and applies the following steps: 3.1 Extract elution peaks (call extract_elution_peaks of ProcessData) 3.2 For all features, it creates a SuperHirn Feature (SHFeature) 3.3 For all features, it computes the elution profile (FeatureLCProfile instance) and adds individual peaks to it

Step 3.1 calls processIntensityMaps from BackgroundController

Deisotoper (Step 2.2) The Deisotoper works on single "peak groups" which is a set of peaks that has a maximal spacing of 1 + exps Da. These peak groups are produced by the CentroidData object [CentroidData::getNextPeakGroup] which internally holds a pointer to the current peak. It basically starts with the first peaks and adds peaks until the next peak is further away than 1+eps The Deisotoper then goes through the peak list, for each charge checks which peaks matches the current charge using IsotopicDist::getMatchingPeaks, creates an instance of DeconvPeak using this mono isotopic charge and then subtracts the current monoisotopic peak from the set of peaks using IsotopicDist::subtractMatchingPeaks (probably to account for overlapping isotopic patterns). Feature Merging Step 4 in MS1FeatureMerger::startFeatureMerging() which calls createMZFeatureClusters(). This method tries to check whether a feature is inside another feature using MS1FeatureMerger::compareMZFeatureBeloning which checks whether the ppm tolerance is below a certain level, the charge state is equal and whether both features have elution profiles.

Member Typedef Documentation

◆ MapType

◆ PeakType

typedef Peak1D PeakType

◆ SpectrumType

Constructor & Destructor Documentation

◆ FeatureFinderAlgorithmSH()

Member Function Documentation

◆ create()

static FeatureFinderAlgorithm* create ( )
static

◆ getNativeScanId()

unsigned int getNativeScanId ( String  native_id)

◆ getProductName()

static const String getProductName ( )
static

◆ run()

void run ( )
overridevirtual

Main method that implements the actual algorithm.

Implements FeatureFinderAlgorithm.

Member Data Documentation

◆ features_

FeatureMap* features_
protected

Output data pointer.

◆ map_

MapType map_
protected