| OpenMS 2.5.0

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
MapAlignmentAlgorithmPoseClustering Class Reference
Analysis » MapAlignment

A map alignment algorithm based on pose clustering. More...

`#include <OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmPoseClustering.h>`

Inheritance diagram for MapAlignmentAlgorithmPoseClustering:

## Public Member Functions

| MapAlignmentAlgorithmPoseClustering ()
| Default constructor. More...
| ~MapAlignmentAlgorithmPoseClustering () override
| Destructor. More...
void | align (const FeatureMap &map, TransformationDescription &trafo)
void | align (const PeakMap &map, TransformationDescription &trafo)
void | align (const ConsensusMap &map, TransformationDescription &trafo)
template<typename MapType >
void | setReference (const MapType &map)
| Sets the reference for the alignment. 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 DefaultParamHandler & | operator= (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 Param & | getParameters () const
| Non-mutable access to the parameters. More...
const Param & | getDefaults () const
| Non-mutable access to the default parameters. More...
const String & | getName () 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...
Public Member Functions inherited from ProgressLogger
| ProgressLogger ()
| Constructor. More...
| ~ProgressLogger ()
| Destructor. More...
| ProgressLogger (const ProgressLogger &other)
| Copy constructor. More...
ProgressLogger & | operator= (const ProgressLogger &other)
| Assignment Operator. More...
void | setLogType (LogType type) const
| Sets the progress log that should be used. The default type is NONE! More...
LogType | getLogType () const
| Returns the type of progress log being used. More...
void | startProgress (SignedSize begin, SignedSize end, const String &label) const
| Initializes the progress display. More...
void | setProgress (SignedSize value) const
| Sets the current progress. More...
void | endProgress () const
| Ends the progress display. More...
void | nextProgress () const
| increment progress by 1 (according to range begin-end) More...

## Protected Member Functions

void | updateMembers_ () override
| This method is used to update extra member variables at the end of the setParameters() method. More...
Protected Member Functions inherited from DefaultParamHandler
void | defaultsToParam_ ()
| Updates the parameters after the defaults have been set in the constructor. More...

## Protected Attributes

PoseClusteringAffineSuperimposer | superimposer_
StablePairFinder | pairfinder_
ConsensusMap | reference_
Int | max_num_peaks_considered_
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< String > | subsections_
| 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...
Protected Attributes inherited from ProgressLogger
LogType | type_
time_t | last_invoke_
ProgressLoggerImpl * | current_logger_

## Private Member Functions

| MapAlignmentAlgorithmPoseClustering (const MapAlignmentAlgorithmPoseClustering &)
| Copy constructor intentionally not implemented -> private. More...
MapAlignmentAlgorithmPoseClustering & | operator= (const MapAlignmentAlgorithmPoseClustering &)
| Assignment operator intentionally not implemented -> private. More...

## Additional Inherited Members

Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...
Static Protected Member Functions inherited from ProgressLogger
static String | logTypeToFactoryName_ (LogType type)
| Return the name of the factory product used for this log type. More...
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

A map alignment algorithm based on pose clustering.

Pose clustering analyzes pair distances to find the most probable transformation of retention times.

The algorithm chooses the x most intensity peaks/features per map. This is modeled via the parameter 'max_num_peaks_considered', which in turn influences the runtime and stability of the results. Bigger values prolong computation, smaller values might lead to no or unstable trafos. Set to -1 to use all features (might take very long for large maps).

For further details see:
Eva Lange et al.
A Geometric Approach for the Alignment of Liquid Chromatography-Mass Spectrometry Data
ISMB/ECCB 2007

Parameters of this class are:

Name | Type | Default | Restrictions | Description
--- | --- | --- | --- | ---
max_num_peaks_considered | int | 1000 | min: -1 | The maximal number of peaks/features to be considered per map. To use all, set to '-1'.
superimposer:mz_pair_max_distance | float | 0.5 | min: 0.0 | Maximum of m/z deviation of corresponding elements in different maps. This condition applies to the pairs considered in hashing.
superimposer:rt_pair_distance_fraction | float | 0.1 | min: 0.0 max: 1.0 | Within each of the two maps, the pairs considered for pose clustering must be separated by at least this fraction of the total elution time interval (i.e., max - min).
superimposer:num_used_points | int | 2000 | min: -1 | Maximum number of elements considered in each map (selected by intensity). Use this to reduce the running time and to disregard weak signals during alignment. For using all points, set this to -1.
superimposer:scaling_bucket_size | float | 0.005 | min: 0.0 | The scaling of the retention time interval is being hashed into buckets of this size during pose clustering. A good choice for this would be a bit smaller than the error you would expect from repeated runs.
superimposer:shift_bucket_size | float | 3.0 | min: 0.0 | The shift at the lower (respectively, higher) end of the retention time interval is being hashed into buckets of this size during pose clustering. A good choice for this would be about the time between consecutive MS scans.
superimposer:max_shift | float | 1000.0 | min: 0.0 | Maximal shift which is considered during histogramming (in seconds). This applies for both directions.
superimposer:max_scaling | float | 2.0 | min: 1.0 | Maximal scaling which is considered during histogramming. The minimal scaling is the reciprocal of this.
superimposer:dump_buckets | string |  |  | [DEBUG] If non-empty, base filename where hash table buckets will be dumped to. A serial number for each invocation will be appended automatically.
superimposer:dump_pairs | string |  |  | [DEBUG] If non-empty, base filename where the individual hashed pairs will be dumped to (large!). A serial number for each invocation will be appended automatically.
pairfinder:second_nearest_gap | float | 2.0 | min: 1.0 | Only link features whose distance to the second nearest neighbors (for both sides) is larger by 'second_nearest_gap' than the distance between the matched pair itself.
pairfinder:use_identifications | string | false | true, false | Never link features that are annotated with different peptides (features without ID's always match; only the best hit per peptide identification is considered).
pairfinder:ignore_charge | string | false | true, false | false [default]: pairing requires equal charge state (or at least one unknown charge '0'); true: Pairing irrespective of charge state
pairfinder:ignore_adduct | string | true | true, false | true [default]: pairing requires equal adducts (or at least one without adduct annotation); true: Pairing irrespective of adducts
pairfinder:distance_RT:max_difference | float | 100.0 | min: 0.0 | Never pair features with a larger RT distance (in seconds).
pairfinder:distance_RT:exponent | float | 1.0 | min: 0.0 | Normalized 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)
pairfinder:distance_RT:weight | float | 1.0 | min: 0.0 | Final RT distances are weighted by this factor
pairfinder:distance_MZ:max_difference | float | 0.3 | min: 0.0 | Never pair features with larger m/z distance (unit defined by 'unit')
pairfinder:distance_MZ:unit | string | Da | Da, ppm | Unit of the 'max_difference' parameter
pairfinder:distance_MZ:exponent | float | 2.0 | min: 0.0 | Normalized ([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)
pairfinder:distance_MZ:weight | float | 1.0 | min: 0.0 | Final m/z distances are weighted by this factor
pairfinder:distance_intensity:exponent | float | 1.0 | min: 0.0 | Differences in relative intensity ([0-1]) are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)
pairfinder:distance_intensity:weight | float | 0.0 | min: 0.0 | Final intensity distances are weighted by this factor
pairfinder:distance_intensity:log_transform | string | disabled | enabled, disabled | Log-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:

- If a section name is documented, the documentation is displayed as tooltip.
- Advanced parameter names are italic.

## Constructor & Destructor Documentation

## ◆ MapAlignmentAlgorithmPoseClustering() [1/2]

MapAlignmentAlgorithmPoseClustering | ( |  | ) |

Default constructor.

## ◆ ~MapAlignmentAlgorithmPoseClustering()

~MapAlignmentAlgorithmPoseClustering | ( |  | ) |

override

Destructor.

## ◆ MapAlignmentAlgorithmPoseClustering() [2/2]

MapAlignmentAlgorithmPoseClustering | ( | const MapAlignmentAlgorithmPoseClustering & |  | ) |

private

Copy constructor intentionally not implemented -> private.

## Member Function Documentation

## ◆ align() [1/3]

void align | ( | const FeatureMap & | map,
|  | TransformationDescription & | trafo
| ) |  |

## ◆ align() [2/3]

void align | ( | const PeakMap & | map,
|  | TransformationDescription & | trafo
| ) |  |

## ◆ align() [3/3]

void align | ( | const ConsensusMap & | map,
|  | TransformationDescription & | trafo
| ) |  |

## ◆ operator=()

MapAlignmentAlgorithmPoseClustering& operator= | ( | const MapAlignmentAlgorithmPoseClustering & |  | ) |

private

Assignment operator intentionally not implemented -> private.

## ◆ setReference()

void setReference | ( | const MapType & | map | ) |

inline

Sets the reference for the alignment.

References MapConversion::convert().

## ◆ updateMembers_()

void updateMembers_ | ( |  | ) |

override protected virtual

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.

## Member Data Documentation

## ◆ max_num_peaks_considered_

Int max_num_peaks_considered_

protected

## ◆ pairfinder_

StablePairFinder pairfinder_

protected

## ◆ reference_

ConsensusMap reference_

protected

## ◆ superimposer_

PoseClusteringAffineSuperimposer superimposer_

protected