Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

FeatureDeconvolution Class Reference
[Analysis]

An algorithm to decharge features (i.e. as found by FeatureFinder). More...

#include <OpenMS/ANALYSIS/DECHARGING/FeatureDeconvolution.h>

Inheritance diagram for FeatureDeconvolution:
DefaultParamHandler

List of all members.

Public Types

enum  CHARGEMODE { QFROMFEATURE = 1, QHEURISTIC, QALL }
typedef FeatureMap FeatureMapType
typedef Feature FeatureType
typedef DPosition< 2 > ClusterPointType
typedef
FeatureMapType::FeatureType::CoordinateType 
CoordinateType
typedef ILPDCWrapper::PairsType PairsType

Public Member Functions

void compute (const FeatureMapType &fm_in, FeatureMapType &fm_out, ConsensusMap &cons_map, ConsensusMap &cons_map_p)
 Compute a zero-charge feature map from a set of charged features.
Constructors and Destructor s

 FeatureDeconvolution ()
 default constructor
 FeatureDeconvolution (const FeatureDeconvolution &source)
 Copy constructor.
FeatureDeconvolutionoperator= (const FeatureDeconvolution &source)
 Assignment operator.
virtual ~FeatureDeconvolution ()
 destructor

Protected Member Functions

void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method.
void checkSolution_ (const ConsensusMap &cons_map) const
void inferMoreEdges_ (PairsType &edges, Map< Size, std::set< CmpInfo_ > > &feature_adducts)
void printEdgesOfConnectedFeatures_ (Size idx_1, Size idx_2, const PairsType &feature_relation)
 A function mostly for debugging.
bool intensityFilterPassed_ (const Int q1, const Int q2, const Compomer &cmp, const FeatureType &f1, const FeatureType &f2)
 returns true if the intensity filter was passed or switched off
bool chargeTestworthy_ (const Int feature_charge, const Int putative_charge, const bool other_unchanged) const
 determines if we should test a putative feature charge

Protected Attributes

MassExplainer::AdductsType potential_adducts_
 List of adducts used to explain mass differences.
Map< Size, Stringmap_label_
 labeling table
Map< String, Sizemap_label_inverse_
 labeling table inverse
bool enable_intensity_filter_
 status of intensity filter for edges
CHARGEMODE q_try_
 status of charge discovery
Int verbose_level_
 amount of debug information displayed

Detailed Description

An algorithm to decharge features (i.e. as found by FeatureFinder).

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
charge_min int1  Minimal possible charge
charge_max int10  Maximal possible charge
charge_span_max int4 min: 1Maximal range of charges for a single analyte, i.e. observing q1=[5,6,7] implies span=3. Setting this to 1 will only find adduct variants of the same charge
q_try stringfeature feature, heuristic, allTry different values of charge for each feature according to the above settings ('heuristic' [does not test all charges, just the likely ones] or 'all' ), or leave feature charge untouched ('feature').
retention_max_diff float1  Maximum allowed RT difference between any two features if their relation shall be determined
retention_max_diff_local float1  Maximum allowed RT difference between between two co-features, after adduct shifts have been accounted for (if you do not have any adduct shifts, this value should be equal to 'retention_max_diff', otherwise it should be smaller!)
mass_max_diff float0.5  Maximum allowed mass difference [in Th] for a single feature.
potential_adducts string list[H+:0.9]  Adducts used to explain mass differences in format: 'Element(+)*:Probability[:RTShift[:Label]]', i.e. the number of '+' indicate the charge, e.g. 'Ca++:0.5' indicates +2. Probabilites have to be in (0,1]. RTShift param is optional and indicates the expected RT shift caused by this adduct, e.g. '(2)H4H-4:1:-3' indicates a 4 deuterium label, which causes early elution by 3 seconds. As a fourth parameter you can add a label which is tagged on every feature which has this adduct. This also determines the map number in the consensus file.
max_neutrals int0  Maximal number of neutral adducts(q=0) allowed. Add them in the 'potential_adducts' section!
max_minority_bound int2 min: 0Maximum count of the least probable adduct (according to 'potential_adducts' param) within a charge variant. E.g. setting this to 2 will not allow an adduct composition of '1(H+),3(Na+)' if Na+ is the least probable adduct
min_rt_overlap float0.66 min: 0 max: 1Minimum overlap of the convex hull' RT intersection measured against the union from two features (if CHs are given)
intensity_filter stringfalse true, falseEnable the intensity filter, which will only allow edges between two equally charged features if the intensity of the feature with less likely adducts is smaller than that of the other feature. It is not used for features of different charge.
default_map_label stringdecharged features  Label of map in output consensus file where all features are put by default
verbose_level int0 min: 0 max: 3Amount of debug information given during processing.

Note:

Member Typedef Documentation


Member Enumeration Documentation

enum CHARGEMODE
Enumerator:
QFROMFEATURE 
QHEURISTIC 
QALL 

Constructor & Destructor Documentation

default constructor

FeatureDeconvolution ( const FeatureDeconvolution source  ) 

Copy constructor.

virtual ~FeatureDeconvolution (  )  [virtual]

destructor


Member Function Documentation

bool chargeTestworthy_ ( const Int  feature_charge,
const Int  putative_charge,
const bool  other_unchanged 
) const [protected]

determines if we should test a putative feature charge

Answer query given the internal status of q_try. Features with q<=0 always return true.

void checkSolution_ ( const ConsensusMap cons_map  )  const [protected]
void compute ( const FeatureMapType fm_in,
FeatureMapType fm_out,
ConsensusMap cons_map,
ConsensusMap cons_map_p 
)

Compute a zero-charge feature map from a set of charged features.

Find putative ChargePairs, then score them and hand over to ILP.

Parameters:
fm_in Input feature-map
fm_out Output feature-map (sorted by position and augmented with user params)
cons_map [out] Output of grouped features belonging to a charge group
cons_map_p [out] Output of paired features connected by an edge
void inferMoreEdges_ ( PairsType edges,
Map< Size, std::set< CmpInfo_ > > &  feature_adducts 
) [protected]

test if "simple" edges have alternative (more difficult explanation) supported by neighboring edges e.g. (.) -> (H+) might be augmented to (Na+) -> (H+Na+)

bool intensityFilterPassed_ ( const Int  q1,
const Int  q2,
const Compomer cmp,
const FeatureType f1,
const FeatureType f2 
) [inline, protected]

returns true if the intensity filter was passed or switched off

Filter for adding an edge only when the two features connected by it, fulfill the intensity criterion.

FeatureDeconvolution& operator= ( const FeatureDeconvolution source  ) 

Assignment operator.

void printEdgesOfConnectedFeatures_ ( Size  idx_1,
Size  idx_2,
const PairsType feature_relation 
) [protected]

A function mostly for debugging.

void updateMembers_ (  )  [protected, virtual]

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.


Member Data Documentation

bool enable_intensity_filter_ [protected]

status of intensity filter for edges

Map<Size, String> map_label_ [protected]

labeling table

labeling table inverse

List of adducts used to explain mass differences.

CHARGEMODE q_try_ [protected]

status of charge discovery

Int verbose_level_ [protected]

amount of debug information displayed


OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:49 using doxygen 1.7.1