OpenMS
|
An efficient reference-free feature map alignment algorithm for unlabeled data. More...
#include <OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmKD.h>
Public Member Functions | |
MapAlignmentAlgorithmKD (Size num_maps, const Param ¶m) | |
Constructor. More... | |
virtual | ~MapAlignmentAlgorithmKD () |
Default destructor. More... | |
void | addRTFitData (const KDTreeFeatureMaps &kd_data) |
Compute data points needed for RT transformation in the current kd_data , add to fit_data_. More... | |
void | fitLOWESS () |
Fit LOWESS to fit_data_, store final models in transformations_. More... | |
void | transform (KDTreeFeatureMaps &kd_data) const |
Transform RTs for kd_data . More... | |
Protected Member Functions | |
virtual void | updateMembers_ () |
Size | computeCCs_ (const KDTreeFeatureMaps &kd_data, std::vector< Size > &cc_index) const |
Compute connected components, store CC indices in member cc_index. Return number of CCs. More... | |
void | getCCs_ (const KDTreeFeatureMaps &kd_data, std::map< Size, std::vector< Size > > &result) const |
Return connected components. More... | |
void | filterCCs_ (const KDTreeFeatureMaps &kd_data, const std::map< Size, std::vector< Size > > &ccs, std::map< Size, std::vector< Size > > &filtered_ccs) const |
Filter connected components (return conflict-free CCs of sufficiently large size and small diameter) More... | |
Private Member Functions | |
MapAlignmentAlgorithmKD () | |
Default constructor is not supposed to be used. More... | |
Private Attributes | |
std::vector< TransformationModel::DataPoints > | fit_data_ |
RT data for fitting the LOWESS. More... | |
std::vector< TransformationModelLowess * > | transformations_ |
LOWESS transformations. More... | |
Param | param_ |
Parameters. More... | |
double | max_pairwise_log_fc_ |
Maximum absolute log10 fold change threshold between compatible features. More... | |
double | rt_tol_secs_ |
RT tolerance. More... | |
double | mz_tol_ |
m/z tolerance More... | |
bool | mz_ppm_ |
m/z unit ppm? More... | |
An efficient reference-free feature map alignment algorithm for unlabeled data.
This algorithm uses a kd-tree to efficiently compute conflict-free connected components (CCC) in a compatibility graph on feature data. This graph is comprised of nodes corresponding to features and edges connecting features f and f' iff both are within each other's tolerance windows (wrt. RT and m/z difference). CCCs are those CCs that do not contain multiple features from the same input map, and whose features all have the same charge state.
All CCCs above a user-specified minimum size are considered true sets of corresponding features and based on these, LOWESS transformations are computed for each input map such that the average deviation from the mean retention time within all CCCs is minimized.
MapAlignmentAlgorithmKD | ( | Size | num_maps, |
const Param & | param | ||
) |
Constructor.
|
virtual |
Default destructor.
|
private |
Default constructor is not supposed to be used.
void addRTFitData | ( | const KDTreeFeatureMaps & | kd_data | ) |
Compute data points needed for RT transformation in the current kd_data
, add to fit_data_.
|
protected |
Compute connected components, store CC indices in member cc_index. Return number of CCs.
|
protected |
Filter connected components (return conflict-free CCs of sufficiently large size and small diameter)
void fitLOWESS | ( | ) |
Fit LOWESS to fit_data_, store final models in transformations_.
|
protected |
Return connected components.
void transform | ( | KDTreeFeatureMaps & | kd_data | ) | const |
Transform RTs for kd_data
.
|
protectedvirtual |
|
private |
RT data for fitting the LOWESS.
|
private |
Maximum absolute log10 fold change threshold between compatible features.
|
private |
m/z unit ppm?
|
private |
m/z tolerance
|
private |
Parameters.
|
private |
RT tolerance.
|
private |
LOWESS transformations.