An algorithm to decharge features (i.e. as found by FeatureFinder). More...
#include <OpenMS/ANALYSIS/DECHARGING/FeatureDeconvolution.h>
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. | |
| FeatureDeconvolution & | operator= (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, String > | map_label_ |
| labeling table | |
| Map< String, Size > | map_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 | |
An algorithm to decharge features (i.e. as found by FeatureFinder).
Parameters of this class are:| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| charge_min | int | 1 | Minimal possible charge | |
| charge_max | int | 10 | Maximal possible charge | |
| charge_span_max | int | 4 | min: 1 | Maximal 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 | string | feature | feature, heuristic, all | Try 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 | float | 1 | Maximum allowed RT difference between any two features if their relation shall be determined | |
| retention_max_diff_local | float | 1 | 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 | float | 0.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 | int | 0 | Maximal number of neutral adducts(q=0) allowed. Add them in the 'potential_adducts' section! | |
| max_minority_bound | int | 2 | min: 0 | Maximum 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 | float | 0.66 | min: 0 max: 1 | Minimum overlap of the convex hull' RT intersection measured against the union from two features (if CHs are given) |
| intensity_filter | string | false | true, false | Enable 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 | string | decharged features | Label of map in output consensus file where all features are put by default | |
| verbose_level | int | 0 | min: 0 max: 3 | Amount of debug information given during processing. |
| typedef DPosition<2> ClusterPointType |
| typedef FeatureMap FeatureMapType |
| typedef Feature FeatureType |
| typedef ILPDCWrapper::PairsType PairsType |
| enum CHARGEMODE |
default constructor
| FeatureDeconvolution | ( | const FeatureDeconvolution & | source | ) |
Copy constructor.
| virtual ~FeatureDeconvolution | ( | ) | [virtual] |
destructor
| 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.
| 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.
bool enable_intensity_filter_ [protected] |
status of intensity filter for edges
Map<Size, String> map_label_ [protected] |
labeling table
Map<String, Size> map_label_inverse_ [protected] |
labeling table inverse
MassExplainer::AdductsType potential_adducts_ [protected] |
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 |