This class implements a simple point pair finding algorithm. More...
#include <OpenMS/ANALYSIS/MAPMATCHING/SimplePairFinder.h>
Public Types | |
| typedef BaseGroupFinder | Base |
| Base class. | |
Public Member Functions | |
| SimplePairFinder () | |
| Constructor. | |
| virtual | ~SimplePairFinder () |
| Destructor. | |
| virtual void | run (const std::vector< ConsensusMap > &input_maps, ConsensusMap &result_map) |
| Run the algorithm. | |
Static Public Member Functions | |
| static BaseGroupFinder * | create () |
| returns an instance of this class | |
| static const String | getProductName () |
| returns the name of this module | |
Protected Member Functions | |
| virtual void | updateMembers_ () |
| DoubleReal | similarity_ (ConsensusFeature const &left, ConsensusFeature const &right) const |
| Compute the similarity for a pair of elements. | |
Protected Attributes | |
| DoubleReal | diff_exponent_ [2] |
| A parameter for similarity_(). | |
| DoubleReal | diff_intercept_ [2] |
| A parameter for similarity_(). | |
| DoubleReal | pair_min_quality_ |
| Minimal pair quality. | |
This class implements a simple point pair finding algorithm.
It offers a method to find element pairs across two element maps.
The similarity value should express our confidence that one element might possibly be matched to the other. Larger quality values are better, the maximal similarity is one. Let
and
be the absolute values of the RT and MZ differences in the data. Then the similarity value is
Choosing diff_exponent: This parameter controls the growth rate of the penalty for differences. It is for example possible to search for pairs using the absolute distance in RT (which should not be very susceptible to outliers) and the squared distance in MZ (where small difference occur frequently, but large differences indicate a mismatch).
Choosing diff_intercept: Since we are taking the reciprocal value ("1/..."), we include an offset to avoid division by zero in case
. To set this parameter, ask yourself: How much worse is a difference of 1 compared to no difference?
The following image illustrates the influence of these parameters:
Influence of the parameters intercept and exponent
| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| similarity:pair_min_quality | float | 0.01 | Minimum required pair quality. | |
| similarity:diff_intercept:RT | float | 1 | This parameter controls the asymptotic decay rate for large differences (for more details see the similarity measurement). | |
| similarity:diff_intercept:MZ | float | 0.1 | This parameter controls the asymptotic decay rate for large differences (for more details see the similarity measurement). | |
| similarity:diff_exponent:RT | float | 2 | This parameter is important for small differences (for more details see the similarity measurement). | |
| similarity:diff_exponent:MZ | float | 1 | This parameter is important for small differences (for more details see the similarity measurement). |
| typedef BaseGroupFinder Base |
Base class.
| SimplePairFinder | ( | ) |
Constructor.
| virtual ~SimplePairFinder | ( | ) | [inline, virtual] |
Destructor.
| static BaseGroupFinder* create | ( | ) | [inline, static] |
returns an instance of this class
| static const String getProductName | ( | ) | [inline, static] |
returns the name of this module
| virtual void run | ( | const std::vector< ConsensusMap > & | input_maps, | |
| ConsensusMap & | result_map | |||
| ) | [virtual] |
Run the algorithm.
| Exception::IllegalArgument | is thrown if the input data is not valid. |
Implements BaseGroupFinder.
| DoubleReal similarity_ | ( | ConsensusFeature const & | left, | |
| ConsensusFeature const & | right | |||
| ) | const [protected] |
Compute the similarity for a pair of elements.
| virtual void updateMembers_ | ( | ) | [protected, virtual] |
DoubleReal diff_exponent_[2] [protected] |
A parameter for similarity_().
DoubleReal diff_intercept_[2] [protected] |
A parameter for similarity_().
DoubleReal pair_min_quality_ [protected] |
Minimal pair quality.
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:49 using doxygen 1.7.1 |