OpenMS
Loading...
Searching...
No Matches
MapAlignmentAlgorithmKD.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Johannes Veit $
6// $Authors: Johannes Veit $
7// --------------------------------------------------------------------------
8
9#pragma once
10
13
14namespace OpenMS
15{
16
33class OPENMS_DLLAPI MapAlignmentAlgorithmKD
34{
35public:
36
38 MapAlignmentAlgorithmKD(Size num_maps, const Param& param);
39
42
44 void addRTFitData(const KDTreeFeatureMaps& kd_data);
45
47 void fitLOWESS();
48
50 void transform(KDTreeFeatureMaps& kd_data) const;
51
52protected:
53
54 virtual void updateMembers_();
55
57 Size computeCCs_(const KDTreeFeatureMaps& kd_data, std::vector<Size>& cc_index) const;
58
60 void getCCs_(const KDTreeFeatureMaps& kd_data, std::map<Size, std::vector<Size> >& result) const;
61
63 void filterCCs_(const KDTreeFeatureMaps& kd_data, const std::map<Size, std::vector<Size> >& ccs, std::map<Size, std::vector<Size> >& filtered_ccs) const;
64
65private:
66
69
71 std::vector<TransformationModel::DataPoints> fit_data_;
72
74 std::vector<TransformationModelLowess*> transformations_;
75
78
81
84
86 double mz_tol_;
87
89 bool mz_ppm_;
90
91};
92
93} // namespace OpenMS
94
Stores a set of features, together with a 2D tree for fast search.
Definition KDTreeFeatureMaps.h:24
An efficient reference-free feature map alignment algorithm for unlabeled data.
Definition MapAlignmentAlgorithmKD.h:34
void transform(KDTreeFeatureMaps &kd_data) const
Transform RTs for kd_data.
double mz_tol_
m/z tolerance
Definition MapAlignmentAlgorithmKD.h:86
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)
Param param_
Parameters.
Definition MapAlignmentAlgorithmKD.h:77
void fitLOWESS()
Fit LOWESS to fit_data_, store final models in transformations_.
void addRTFitData(const KDTreeFeatureMaps &kd_data)
Compute data points needed for RT transformation in the current kd_data, add to fit_data_.
double rt_tol_secs_
RT tolerance.
Definition MapAlignmentAlgorithmKD.h:83
MapAlignmentAlgorithmKD(Size num_maps, const Param &param)
Constructor.
std::vector< TransformationModel::DataPoints > fit_data_
RT data for fitting the LOWESS.
Definition MapAlignmentAlgorithmKD.h:71
bool mz_ppm_
m/z unit ppm?
Definition MapAlignmentAlgorithmKD.h:89
void getCCs_(const KDTreeFeatureMaps &kd_data, std::map< Size, std::vector< Size > > &result) const
Return connected components.
std::vector< TransformationModelLowess * > transformations_
LOWESS transformations.
Definition MapAlignmentAlgorithmKD.h:74
double max_pairwise_log_fc_
Maximum absolute log10 fold change threshold between compatible features.
Definition MapAlignmentAlgorithmKD.h:80
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.
virtual ~MapAlignmentAlgorithmKD()
Default destructor.
MapAlignmentAlgorithmKD()
Default constructor is not supposed to be used.
Management and storage of parameters / INI files.
Definition Param.h:46
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19