OpenMS  2.8.0
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
FeatureGroupingAlgorithmQT Class Reference

A feature grouping algorithm for unlabeled data. More...

#include <OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmQT.h>

Inheritance diagram for FeatureGroupingAlgorithmQT:
[legend]
Collaboration diagram for FeatureGroupingAlgorithmQT:
[legend]

Public Member Functions

 FeatureGroupingAlgorithmQT ()
 Default constructor. More...
 
 ~FeatureGroupingAlgorithmQT () override
 Destructor. More...
 
void group (const std::vector< FeatureMap > &maps, ConsensusMap &out) override
 Applies the algorithm to feature maps. More...
 
void group (const std::vector< ConsensusMap > &maps, ConsensusMap &out) override
 Applies the algorithm to consensus maps. More...
 
- Public Member Functions inherited from FeatureGroupingAlgorithm
 FeatureGroupingAlgorithm ()
 Default constructor. More...
 
 ~FeatureGroupingAlgorithm () override
 Destructor. More...
 
void transferSubelements (const std::vector< ConsensusMap > &maps, ConsensusMap &out) const
 Transfers subelements (grouped features) from input consensus maps to the result consensus map. 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 FeatureGroupingAlgorithmcreate ()
 Creates a new instance of this class (for Factory) More...
 
static String getProductName ()
 Returns the product name (for the Factory) More...
 
- Static Public Member Functions inherited from FeatureGroupingAlgorithm
static void registerChildren ()
 Register all derived classes in this method. More...
 
- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 

Private Member Functions

 FeatureGroupingAlgorithmQT (const FeatureGroupingAlgorithmQT &)
 Copy constructor intentionally not implemented -> private. More...
 
FeatureGroupingAlgorithmQToperator= (const FeatureGroupingAlgorithmQT &)
 Assignment operator intentionally not implemented -> private. More...
 
template<typename MapType >
void group_ (const std::vector< MapType > &maps, ConsensusMap &out)
 Applies the algorithm to feature or consensus maps. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FeatureGroupingAlgorithm
template<class MapType >
void postprocess_ (const std::vector< MapType > &maps, ConsensusMap &out)
 
- 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

A feature grouping algorithm for unlabeled data.

The algorithm takes a number of feature or consensus maps and searches for corresponding (consensus) features across different maps. The maps have to be aligned (i.e. retention time distortions corrected, e.g. using one of the MapAlignmentAlgorithms), but small deviations are tolerated.

This particular algorithm accumulates the features from all input maps, then applies a variant of QT clustering to find groups of corresponding features. For more details, see QTClusterFinder.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
use_identifications stringfalse true, falseNever link features that are annotated with different peptides (only the best hit per peptide identification is taken into account).
nr_partitions int100 min: 1How many partitions in m/z space should be used for the algorithm (more partitions means faster runtime and more memory efficient execution).
min_nr_diffs_per_bin int50 min: 5If IDs are used: How many differences from matching IDs should be used to calculate a linking tolerance for unIDed features in an RT region. RT regions will be extended until that number is reached.
min_IDscore_forTolCalc float1.0  If IDs are used: What is the minimum score of an ID to assume a reliable match for tolerance calculation. Check your current score type!
noID_penalty float0.0 min: 0.0 max: 1.0If IDs are used: For the normalized distances, how high should the penalty for missing IDs be? 0 = no bias, 1 = IDs inside the max tolerances always preferred (even if much further away).
ignore_charge stringfalse true, falsefalse [default]: pairing requires equal charge state (or at least one unknown charge '0'); true: Pairing irrespective of charge state
ignore_adduct stringtrue true, falsetrue [default]: pairing requires equal adducts (or at least one without adduct annotation); true: Pairing irrespective of adducts
distance_RT:max_difference float100.0 min: 0.0Never pair features with a larger RT distance (in seconds).
distance_RT:exponent float1.0 min: 0.0Normalized RT differences ([0-1], relative to 'max_difference') are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)
distance_RT:weight float1.0 min: 0.0Final RT distances are weighted by this factor
distance_MZ:max_difference float0.3 min: 0.0Never pair features with larger m/z distance (unit defined by 'unit')
distance_MZ:unit stringDa Da, ppmUnit of the 'max_difference' parameter
distance_MZ:exponent float2.0 min: 0.0Normalized ([0-1], relative to 'max_difference') m/z differences are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)
distance_MZ:weight float1.0 min: 0.0Final m/z distances are weighted by this factor
distance_intensity:exponent float1.0 min: 0.0Differences in relative intensity ([0-1]) are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)
distance_intensity:weight float0.0 min: 0.0Final intensity distances are weighted by this factor
distance_intensity:log_transform stringdisabled enabled, disabledLog-transform intensities? If disabled, d = |int_f2 - int_f1| / int_max. If enabled, d = |log(int_f2 + 1) - log(int_f1 + 1)| / log(int_max + 1))

Note:

Constructor & Destructor Documentation

◆ FeatureGroupingAlgorithmQT() [1/2]

Default constructor.

◆ ~FeatureGroupingAlgorithmQT()

Destructor.

◆ FeatureGroupingAlgorithmQT() [2/2]

Copy constructor intentionally not implemented -> private.

Member Function Documentation

◆ create()

static FeatureGroupingAlgorithm* create ( )
inlinestatic

Creates a new instance of this class (for Factory)

◆ getProductName()

static String getProductName ( )
inlinestatic

Returns the product name (for the Factory)

◆ group() [1/2]

void group ( const std::vector< ConsensusMap > &  maps,
ConsensusMap out 
)
overridevirtual

Applies the algorithm to consensus maps.

Precondition
The data ranges of the input maps have to be up-to-date (use ConsensusMap::updateRanges).
Exceptions
IllegalArgumentis thrown if less than two input maps are given.

Reimplemented from FeatureGroupingAlgorithm.

◆ group() [2/2]

void group ( const std::vector< FeatureMap > &  maps,
ConsensusMap out 
)
overridevirtual

Applies the algorithm to feature maps.

Precondition
The data ranges of the input maps have to be up-to-date (use FeatureMap::updateRanges).
Exceptions
IllegalArgumentis thrown if less than two input maps are given.

Implements FeatureGroupingAlgorithm.

◆ group_()

void group_ ( const std::vector< MapType > &  maps,
ConsensusMap out 
)
private

Applies the algorithm to feature or consensus maps.

Precondition
The data ranges of the input maps have to be up-to-date (use MapType::updateRanges).
Exceptions
IllegalArgumentis thrown if less than two input maps are given.

◆ operator=()

FeatureGroupingAlgorithmQT& operator= ( const FeatureGroupingAlgorithmQT )
private

Assignment operator intentionally not implemented -> private.