OpenMS
2.7.0
|
A map alignment algorithm based on pose clustering. More...
#include <OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmPoseClustering.h>
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 ¶m) |
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... | |
virtual | ~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 Public Member Functions inherited from DefaultParamHandler | |
static void | writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &prefix="") |
Writes all parameters to meta values. 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_ |
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
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 | 5.0e-03 | 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)) |
Default constructor.
|
override |
Destructor.
|
private |
Copy constructor intentionally not implemented -> private.
void align | ( | const ConsensusMap & | map, |
TransformationDescription & | trafo | ||
) |
void align | ( | const FeatureMap & | map, |
TransformationDescription & | trafo | ||
) |
void align | ( | const PeakMap & | map, |
TransformationDescription & | trafo | ||
) |
|
private |
Assignment operator intentionally not implemented -> private.
|
inline |
Sets the reference for the alignment.
References MapConversion::convert().
|
overrideprotectedvirtual |
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.
|
protected |
|
protected |
|
protected |
|
protected |