OpenMS
LabeledPairFinder Class Reference

The LabeledPairFinder allows the matching of labeled features (features with a fixed distance). More...

#include <OpenMS/ANALYSIS/MAPMATCHING/LabeledPairFinder.h>

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

Public Member Functions

 LabeledPairFinder ()
 Default constructor. More...
 
 ~LabeledPairFinder () override
 Destructor. More...
 
void run (const std::vector< ConsensusMap > &input_maps, ConsensusMap &result_map) override
 Run the algorithm. More...
 
- Public Member Functions inherited from BaseGroupFinder
 BaseGroupFinder ()
 Default constructor. More...
 
 ~BaseGroupFinder () override
 Destructor. 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...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (const ProgressLogger &other)
 Assignment Operator. More...
 
void setLogType (LogType type) const
 Sets the progress log that should be used. The default type is NONE! More...
 
LogType getLogType () const
 Returns the type of progress log being used. More...
 
void startProgress (SignedSize begin, SignedSize end, const String &label) const
 Initializes the progress display. More...
 
void setProgress (SignedSize value) const
 Sets the current progress. More...
 
void endProgress (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Static Public Member Functions

static BaseGroupFindercreate ()
 Returns an instance of this class. More...
 
static const String getProductName ()
 Returns the name of this module. More...
 
- Static Public Member Functions inherited from BaseGroupFinder
static void registerChildren ()
 Register all derived classes here. More...
 
- 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 Member Functions

double PValue_ (double x, double m, double sig1, double sig2)
 return the p-value at position x for the bi-Gaussian distribution with mean m and standard deviation sig1 (left) and sig2 (right) More...
 
- Protected Member Functions inherited from BaseGroupFinder
void checkIds_ (const std::vector< ConsensusMap > &maps) const
 Checks if all file descriptions have disjoint map identifiers. More...
 
- Protected Member Functions inherited from DefaultParamHandler
virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Private Member Functions

 LabeledPairFinder (const LabeledPairFinder &source)
 Copy constructor not implemented => private. More...
 
LabeledPairFinderoperator= (const LabeledPairFinder &source)
 Assignment operator not implemented => private. More...
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD , GUI , NONE }
 Possible log types. More...
 
- Static Protected Member Functions inherited from ProgressLogger
static String logTypeToFactoryName_ (LogType type)
 Return the name of the factory product used for this log type. 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...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

The LabeledPairFinder allows the matching of labeled features (features with a fixed distance).

Finds feature pairs that have a defined distance in RT and m/z in the same map.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
rt_estimate stringtrue true, falseIf 'true' the optimal RT pair distance and deviation are estimated by fitting a gaussian distribution to the histogram of pair distance. Note that this works only datasets with a significant amount of pairs! If 'false' the parameters 'rt_pair_dist', 'rt_dev_low' and 'rt_dev_high' define the optimal distance.
rt_pair_dist float-20.0  optimal pair distance in RT [sec] from light to heavy feature
rt_dev_low float15.0 min: 0.0maximum allowed deviation below optimal retention time distance
rt_dev_high float15.0 min: 0.0maximum allowed deviation above optimal retention time distance
mz_pair_dists float list[4.0]  optimal pair distances in m/z [Th] for features with charge +1 (adapted to +2, +3, .. by division through charge)
mz_dev float0.05 min: 0.0maximum allowed deviation from optimal m/z distance
mrm stringfalse true, falsethis option should be used if the features correspond mrm chromatograms (additionally the precursor is taken into account)

Note:
  • If a section name is documented, the documentation is displayed as tooltip.
  • Advanced parameter names are italic.
Todo:

Implement support for labeled MRM experiments, Q1 m/z value and charges. (Andreas)

Implement support for more than one mass delta, e.g. from missed cleavages and so on (Andreas)

Constructor & Destructor Documentation

◆ LabeledPairFinder() [1/2]

Default constructor.

◆ ~LabeledPairFinder()

~LabeledPairFinder ( )
inlineoverride

Destructor.

◆ LabeledPairFinder() [2/2]

LabeledPairFinder ( const LabeledPairFinder source)
private

Copy constructor not implemented => private.

Member Function Documentation

◆ create()

static BaseGroupFinder* create ( )
inlinestatic

Returns an instance of this class.

◆ getProductName()

static const String getProductName ( )
inlinestatic

Returns the name of this module.

◆ operator=()

LabeledPairFinder& operator= ( const LabeledPairFinder source)
private

Assignment operator not implemented => private.

◆ PValue_()

double PValue_ ( double  x,
double  m,
double  sig1,
double  sig2 
)
inlineprotected

return the p-value at position x for the bi-Gaussian distribution with mean m and standard deviation sig1 (left) and sig2 (right)

◆ run()

void run ( const std::vector< ConsensusMap > &  input_maps,
ConsensusMap result_map 
)
overridevirtual

Run the algorithm.

Note
Exactly one input map has to be provided.
The output map has to have two file descriptions, containing the same file name. The file descriptions have to be labeled 'heavy' and 'light'.
Exceptions
Exception::IllegalArgumentis thrown if the input data is not valid.

Implements BaseGroupFinder.