OpenMS
IsotopeLabelingMDVs Class Reference

IsotopeLabelingMDVs is a class to support and analyze isotopic labeling experiments (i.e. MDVs : Mass Distribution Vectors, also known as Mass Isotopomer Distribution (MID)) More...

#include <OpenMS/ANALYSIS/QUANTITATION/IsotopeLabelingMDVs.h>

Inheritance diagram for IsotopeLabelingMDVs:
[legend]
Collaboration diagram for IsotopeLabelingMDVs:
[legend]

Public Types

enum class  DerivatizationAgent { NOT_SELECTED , TBDMS , SIZE_OF_DERIVATIZATIONAGENT }
 
enum class  MassIntensityType { NORM_MAX , NORM_SUM , SIZE_OF_MASSINTENSITYTYPE }
 

Public Member Functions

 IsotopeLabelingMDVs ()
 Constructor. More...
 
 ~IsotopeLabelingMDVs () override
 Destructor. More...
 
void isotopicCorrection (const Feature &normalized_feature, Feature &corrected_feature, const Matrix< double > &correction_matrix, const DerivatizationAgent &correction_matrix_agent)
 This function performs an isotopic correction to account for unlabeled abundances coming from the derivatization agent (e.g., tBDMS) using correction matrix method and is calculated as follows: MDV_corrected = CM^-1 * MDV_normalized_feature The formula is obtained from "The importance of accurately correcting for the natural abundance of stable isotopes", Midani et al, doi:10.1016/j.ab.2016.12.011. More...
 
void isotopicCorrections (const FeatureMap &measured_fm, FeatureMap &corrected_fm, const Matrix< double > &correction_matrix, const DerivatizationAgent &correction_matrix_agent)
 This function performs an isotopic correction to account for unlabeled abundances coming from the derivatization agent (e.g., tBDMS) using correction matrix method and is calculated as follows: MDV_corrected = CM^-1 * MDV_normalized_feature The formula is obtained from "The importance of accurately correcting for the natural abundance of stable isotopes", Midani et al, doi:10.1016/j.ab.2016.12.011. More...
 
void calculateIsotopicPurity (Feature &normalized_feature, const std::vector< double > &experiment_data, const std::string &isotopic_purity_name)
 This function calculates the isotopic purity of the MDV using the following formula: isotopic purity of tracer (atom % 13C) = n / [n + (M + n-1)/(M + n)], where n in M+n is represented as the index of the result. The formula is extracted from "High-resolution 13C metabolic flux analysis", Long et al, doi:10.1038/s41596-019-0204-0. More...
 
void calculateIsotopicPurities (FeatureMap &measured_fm, const std::vector< std::vector< double >> &experiment_data, const std::vector< std::string > &isotopic_purity_name)
 This function calculates the isotopic purity of the MDVs using the following formula: isotopic purity of tracer (atom % 13C) = n / [n + (M + n-1)/(M + n)], where n in M+n is represented as the index of the result. The formula is extracted from "High-resolution 13C metabolic flux analysis", Long et al, doi:10.1038/s41596-019-0204-0. More...
 
void calculateMDVAccuracy (Feature &normalized_feature, const std::string &feature_name, const std::string &fragment_isotopomer_theoretical_formula)
 This function calculates the accuracy of the MDV as compared to the theoretical MDV (only for 12C quality control experiments) using average deviation to the mean. The result is mapped to the meta value "average_accuracy" in the updated Feature. More...
 
void calculateMDVAccuracies (FeatureMap &normalized_fm, const std::string &feature_name, const std::map< std::string, std::string > &fragment_isotopomer_theoretical_formulas)
 This function calculates the accuracy of the MDVs as compared to the theoretical MDVs (only for 12C quality control experiments) using average deviation to the mean. More...
 
void calculateMDV (const Feature &measured_feature, Feature &normalized_feature, const MassIntensityType &mass_intensity_type, const std::string &feature_name)
 This function calculates the mass distribution vector (MDV) either normalized to the highest mass intensity (norm_max) or normalized to the sum of all mass intensities (norm_sum) More...
 
void calculateMDVs (const FeatureMap &measured_fm, FeatureMap &normalized_fm, const MassIntensityType &mass_intensity_type, const std::string &feature_name)
 This function calculates the mass distribution vector (MDV) either normalized to the highest mass intensity (norm_max) or normalized to the sum of all mass intensities (norm_sum) 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...
 
DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () 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...
 

Static Public Attributes

static const std::string NamesOfDerivatizationAgent [static_cast< int >(DerivatizationAgent::SIZE_OF_DERIVATIZATIONAGENT)]
 
static const std::string NamesOfMassIntensityType [static_cast< int >(MassIntensityType::SIZE_OF_MASSINTENSITYTYPE)]
 

Protected Member Functions

void updateMembers_ () override
 Synchronize members with param class. More...
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 
- 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< Stringsubsections_
 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...
 

Detailed Description

IsotopeLabelingMDVs is a class to support and analyze isotopic labeling experiments (i.e. MDVs : Mass Distribution Vectors, also known as Mass Isotopomer Distribution (MID))

Member Enumeration Documentation

◆ DerivatizationAgent

enum DerivatizationAgent
strong
Enumerator
NOT_SELECTED 
TBDMS 
SIZE_OF_DERIVATIZATIONAGENT 

◆ MassIntensityType

enum MassIntensityType
strong
Enumerator
NORM_MAX 
NORM_SUM 
SIZE_OF_MASSINTENSITYTYPE 

Constructor & Destructor Documentation

◆ IsotopeLabelingMDVs()

Constructor.

◆ ~IsotopeLabelingMDVs()

~IsotopeLabelingMDVs ( )
override

Destructor.

Member Function Documentation

◆ calculateIsotopicPurities()

void calculateIsotopicPurities ( FeatureMap measured_fm,
const std::vector< std::vector< double >> &  experiment_data,
const std::vector< std::string > &  isotopic_purity_name 
)

This function calculates the isotopic purity of the MDVs using the following formula: isotopic purity of tracer (atom % 13C) = n / [n + (M + n-1)/(M + n)], where n in M+n is represented as the index of the result. The formula is extracted from "High-resolution 13C metabolic flux analysis", Long et al, doi:10.1038/s41596-019-0204-0.

Parameters
[in,out]measured_fmFeatureMap with normalized values for each component and the number of heavy labeled e.g., carbons. Out is a FeatureMap with the calculated isotopic purity for the component group.
[in]experiment_dataVector of vectors of Experiment data in percent.
[in]isotopic_purity_nameVector of names of the isotopic purity tracer to be saved as a meta value.

◆ calculateIsotopicPurity()

void calculateIsotopicPurity ( Feature normalized_feature,
const std::vector< double > &  experiment_data,
const std::string &  isotopic_purity_name 
)

This function calculates the isotopic purity of the MDV using the following formula: isotopic purity of tracer (atom % 13C) = n / [n + (M + n-1)/(M + n)], where n in M+n is represented as the index of the result. The formula is extracted from "High-resolution 13C metabolic flux analysis", Long et al, doi:10.1038/s41596-019-0204-0.

Parameters
[in,out]normalized_featureFeature with normalized values for each component and the number of heavy labeled e.g., carbons. Out is a Feature with the calculated isotopic purity for the component group.
[in]experiment_dataVector of experiment data in percent.
[in]isotopic_purity_nameName of the isotopic purity tracer to be saved as a meta value.

◆ calculateMDV()

void calculateMDV ( const Feature measured_feature,
Feature normalized_feature,
const MassIntensityType mass_intensity_type,
const std::string &  feature_name 
)

This function calculates the mass distribution vector (MDV) either normalized to the highest mass intensity (norm_max) or normalized to the sum of all mass intensities (norm_sum)

Parameters
[in]measured_featureFeature with measured intensity for each component.
[out]normalized_featureFeature with normalized values for each component.
[in]mass_intensity_typeMass intensity type (either norm_max or norm_sum).
[in]feature_nameFeature name to determine which features are needed to apply calculations on.

◆ calculateMDVAccuracies()

void calculateMDVAccuracies ( FeatureMap normalized_fm,
const std::string &  feature_name,
const std::map< std::string, std::string > &  fragment_isotopomer_theoretical_formulas 
)

This function calculates the accuracy of the MDVs as compared to the theoretical MDVs (only for 12C quality control experiments) using average deviation to the mean.

Parameters
[in]normalized_fmFeatureMap with normalized values for each component and the chemical formula of the component group. Out is a FeatureMap with the component group accuracy and accuracy for the error for each component.
[in]feature_nameFeature name to determine which features are needed to apply calculations on.
[in]fragment_isotopomer_theoretical_formulasA map of ProteinName/peptideRef to Empirical formula from which the theoretical values will be generated.

◆ calculateMDVAccuracy()

void calculateMDVAccuracy ( Feature normalized_feature,
const std::string &  feature_name,
const std::string &  fragment_isotopomer_theoretical_formula 
)

This function calculates the accuracy of the MDV as compared to the theoretical MDV (only for 12C quality control experiments) using average deviation to the mean. The result is mapped to the meta value "average_accuracy" in the updated Feature.

Parameters
[in,out]normalized_featureFeature with normalized values for each component and the chemical formula of the component group. Out is a Feature with the component group accuracy and accuracy for the error for each component.
[in]feature_nameFeature name to determine which features are needed to apply calculations on.
[in]fragment_isotopomer_theoretical_formulaEmpirical formula from which the theoretical values will be generated.

◆ calculateMDVs()

void calculateMDVs ( const FeatureMap measured_fm,
FeatureMap normalized_fm,
const MassIntensityType mass_intensity_type,
const std::string &  feature_name 
)

This function calculates the mass distribution vector (MDV) either normalized to the highest mass intensity (norm_max) or normalized to the sum of all mass intensities (norm_sum)

Parameters
[in]measured_fmFeatureMap with measured intensity for each component.
[out]normalized_fmFeatureMap with normalized values for each component.
[in]mass_intensity_typeMass intensity type (either norm_max or norm_sum).
[in]feature_nameFeature name to determine which features are needed to apply calculations on.

◆ isotopicCorrection()

void isotopicCorrection ( const Feature normalized_feature,
Feature corrected_feature,
const Matrix< double > &  correction_matrix,
const DerivatizationAgent correction_matrix_agent 
)

This function performs an isotopic correction to account for unlabeled abundances coming from the derivatization agent (e.g., tBDMS) using correction matrix method and is calculated as follows: MDV_corrected = CM^-1 * MDV_normalized_feature The formula is obtained from "The importance of accurately correcting for the natural abundance of stable isotopes", Midani et al, doi:10.1016/j.ab.2016.12.011.

Parameters
normalized_featureFeature with normalized values for each component and unlabeled chemical formula for each component group.
[out]corrected_featureFeature with corrected values for each component.
correction_matrixSquare matrix holding correction factors derived either experimentally or theoretically which describe how spectral peaks of naturally abundant 13C contribute to spectral peaks that overlap (or convolve) the spectral peaks of the corrected MDV of the derivatization agent.
correction_matrix_agentname of the derivatization agent, the internally stored correction matrix if the name of the agent is supplied, only "TBDMS" is supported for now.

◆ isotopicCorrections()

void isotopicCorrections ( const FeatureMap measured_fm,
FeatureMap corrected_fm,
const Matrix< double > &  correction_matrix,
const DerivatizationAgent correction_matrix_agent 
)

This function performs an isotopic correction to account for unlabeled abundances coming from the derivatization agent (e.g., tBDMS) using correction matrix method and is calculated as follows: MDV_corrected = CM^-1 * MDV_normalized_feature The formula is obtained from "The importance of accurately correcting for the natural abundance of stable isotopes", Midani et al, doi:10.1016/j.ab.2016.12.011.

Parameters
measured_fmFeatureMap with normalized values for each component and unlabeled chemical formula for each component group.
[out]corrected_fmFeatureMap with corrected values for each component.
correction_matrixSquare matrix holding correction factors derived either experimentally or theoretically which describe how spectral peaks of naturally abundant 13C contribute to spectral peaks that overlap (or convolve) the spectral peaks of the corrected MDV of the derivatization agent.
correction_matrix_agentname of the derivatization agent, the internally stored correction matrix if the name of the agent is supplied, only "TBDMS" is supported for now.

◆ updateMembers_()

void updateMembers_ ( )
overrideprotectedvirtual

Synchronize members with param class.

Reimplemented from DefaultParamHandler.

Member Data Documentation

◆ NamesOfDerivatizationAgent

const std::string NamesOfDerivatizationAgent[static_cast< int >(DerivatizationAgent::SIZE_OF_DERIVATIZATIONAGENT)]
static

◆ NamesOfMassIntensityType

const std::string NamesOfMassIntensityType[static_cast< int >(MassIntensityType::SIZE_OF_MASSINTENSITYTYPE)]
static