OpenMS
Loading...
Searching...
No Matches
AbsoluteQuantitation.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: Douglas McCloskey, Pasquale Domenico Colaianni $
6// $Authors: Douglas McCloskey, Pasquale Domenico Colaianni $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <OpenMS/config.h>
12
13//Kernal classes
21
22//Analysis classes
26
27//Quantitation classes
30
31
32//Standard library
33#include <cstddef> // for size_t & ptrdiff_t
34#include <vector>
35#include <string>
36
37namespace OpenMS
38{
39
96 class OPENMS_DLLAPI AbsoluteQuantitation :
98 {
99
100public:
102
104
108
115 void setQuantMethods(std::vector<AbsoluteQuantitationMethod>& quant_methods);
116
117
121 std::vector<AbsoluteQuantitationMethod> getQuantMethods();
122 std::map<String, AbsoluteQuantitationMethod> getQuantMethodsAsMap();
123
136 double calculateRatio(const Feature & component_1, const Feature & component_2, const String & feature_name);
137
154 double calculateBias(const double & actual_concentration, const double & calculated_concentration);
155
168 Param fitCalibration(const std::vector<AbsoluteQuantitationStandards::featureConcentration> & component_concentrations,
169 const String & feature_name,
170 const String & transformation_model,
171 const Param & transformation_model_params);
172
186 const std::vector<AbsoluteQuantitationStandards::featureConcentration> & component_concentrations,
187 const String & feature_name,
188 const String & transformation_model,
189 const Param & transformation_model_params,
190 std::vector<double> & biases,
191 double & correlation_coefficient);
192
209 std::vector<AbsoluteQuantitationStandards::featureConcentration> & component_concentrations,
210 const String & feature_name,
211 const String & transformation_model,
212 const Param & transformation_model_params,
213 Param & optimized_params);
214
224 void optimizeCalibrationCurves(std::map<String,std::vector<AbsoluteQuantitationStandards::featureConcentration>> & components_concentrations);
225
236 const String& component_name,
237 std::vector<AbsoluteQuantitationStandards::featureConcentration>& component_concentrations
238 );
239
254 double applyCalibration(const Feature & component,
255 const Feature & IS_component,
256 const String & feature_name,
257 const String & transformation_model,
258 const Param & transformation_model_params);
259
274
275protected:
286 std::vector<AbsoluteQuantitationStandards::featureConcentration> extractComponents_(
287 const std::vector<AbsoluteQuantitationStandards::featureConcentration> & component_concentrations,
288 const std::vector<size_t>& component_concentrations_indices);
289
305 const std::vector<AbsoluteQuantitationStandards::featureConcentration>& component_concentrations,
306 const String & feature_name,
307 const String & transformation_model,
308 const Param & transformation_model_params);
309
325 const std::vector<AbsoluteQuantitationStandards::featureConcentration>& component_concentrations,
326 const String & feature_name,
327 const String & transformation_model,
328 const Param & transformation_model_params);
329
330private:
332 void updateMembers_() override;
333
335 double max_bias_;
341
342 // members
344 std::map<String, AbsoluteQuantitationMethod> quant_methods_;
345
346 };
347
348}
349
AbsoluteQuantitation is a class to support absolute or relative quantitation for targeted or untarget...
Definition AbsoluteQuantitation.h:98
int jackknifeOutlierCandidate_(const std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations, const String &feature_name, const String &transformation_model, const Param &transformation_model_params)
This function computes a candidate outlier point by iteratively leaving one point out to find the one...
double calculateBias(const double &actual_concentration, const double &calculated_concentration)
This function calculates the bias of the calibration.
void optimizeCalibrationCurves(std::map< String, std::vector< AbsoluteQuantitationStandards::featureConcentration > > &components_concentrations)
This function optimizes the parameters of the calibration for a all components.
std::vector< AbsoluteQuantitationStandards::featureConcentration > extractComponents_(const std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations, const std::vector< size_t > &component_concentrations_indices)
This function extracts out the components.
size_t max_iters_
Definition AbsoluteQuantitation.h:337
double applyCalibration(const Feature &component, const Feature &IS_component, const String &feature_name, const String &transformation_model, const Param &transformation_model_params)
This function applies the calibration curve to the component.
double max_bias_
Definition AbsoluteQuantitation.h:335
size_t min_points_
Definition AbsoluteQuantitation.h:334
std::vector< AbsoluteQuantitationMethod > getQuantMethods()
quant_method getter. A list of AbsoluteQuantitationMethod classes are returned.
String outlier_detection_method_
Definition AbsoluteQuantitation.h:338
Param fitCalibration(const std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations, const String &feature_name, const String &transformation_model, const Param &transformation_model_params)
This function fits the calibration points to the model.
String optimization_method_
Definition AbsoluteQuantitation.h:340
~AbsoluteQuantitation() override
Destructor.
double min_correlation_coefficient_
Definition AbsoluteQuantitation.h:336
int residualOutlierCandidate_(const std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations, const String &feature_name, const String &transformation_model, const Param &transformation_model_params)
This function computes a candidate outlier point by computing the residuals of all points to the line...
void optimizeSingleCalibrationCurve(const String &component_name, std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations)
This function optimizes the parameters of the calibration for a single component.
void setQuantMethods(std::vector< AbsoluteQuantitationMethod > &quant_methods)
quant_method setter. A list of AbsoluteQuantitationMethod classes are given as input and a map is con...
double calculateRatio(const Feature &component_1, const Feature &component_2, const String &feature_name)
This function calculates the ratio between features.
void calculateBiasAndR(const std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations, const String &feature_name, const String &transformation_model, const Param &transformation_model_params, std::vector< double > &biases, double &correlation_coefficient)
This function calculates the biases and the correlation coefficient of the calibration points.
std::map< String, AbsoluteQuantitationMethod > quant_methods_
map between components and quantitation methods
Definition AbsoluteQuantitation.h:344
void quantifyComponents(FeatureMap &unknowns)
This function applies the calibration curve to all components.
std::map< String, AbsoluteQuantitationMethod > getQuantMethodsAsMap()
void updateMembers_() override
Synchronize members with param class.
bool use_chauvenet_
Definition AbsoluteQuantitation.h:339
bool optimizeCalibrationCurveIterative(std::vector< AbsoluteQuantitationStandards::featureConcentration > &component_concentrations, const String &feature_name, const String &transformation_model, const Param &transformation_model_params, Param &optimized_params)
This function optimizes the parameters of the calibration for a given component iteratively.
AbsoluteQuantitation()
Constructor.
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
A container for features.
Definition FeatureMap.h:82
An LC-MS feature.
Definition Feature.h:46
Management and storage of parameters / INI files.
Definition Param.h:46
A more convenient string class.
Definition String.h:34
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19