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

MapAlignmentAlgorithmIdentification Class Reference
[MapAlignment]

A map alignment algorithm based on peptide identifications from MS2 spectra. More...

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

Inheritance diagram for MapAlignmentAlgorithmIdentification:
MapAlignmentAlgorithm DefaultParamHandler ProgressLogger

List of all members.

Public Member Functions

 MapAlignmentAlgorithmIdentification ()
 Default constructor.
virtual ~MapAlignmentAlgorithmIdentification ()
 Destructor.
virtual void alignPeakMaps (std::vector< MSExperiment<> > &, std::vector< TransformationDescription > &)
 Aligns peak maps.
virtual void alignFeatureMaps (std::vector< FeatureMap<> > &, std::vector< TransformationDescription > &)
 Aligns feature maps.
virtual void alignConsensusMaps (std::vector< ConsensusMap > &, std::vector< TransformationDescription > &)
 Aligns consensus maps.
virtual void alignPeptideIdentifications (std::vector< std::vector< PeptideIdentification > > &, std::vector< TransformationDescription > &)
 Aligns peptide identifications.
virtual void setReference (Size reference_index=0, const String &reference_file="")
 Defines a reference for the alignment.
template<typename MapType >
void alignMaps (std::vector< MapType > &maps, std::vector< TransformationDescription > &transformations)
 Align feature maps or consensus maps.

Static Public Member Functions

static MapAlignmentAlgorithmcreate ()
 Creates a new instance of this class (for Factory).
static String getProductName ()
 Returns the product name (for the Factory).

Protected Types

typedef std::map< String,
DoubleList
SeqToList
 Type to store retention times given for individual peptide sequences.
typedef std::map< String,
DoubleReal
SeqToValue
 Type to store one representative retention time per peptide sequence.

Protected Member Functions

void computeMedians_ (SeqToList &rt_data, SeqToValue &medians, bool sorted=false)
 Compute the median retention time for each peptide sequence.
bool hasGoodHit_ (PeptideIdentification &peptide)
 Check if peptide ID contains a hit that passes the significance threshold score_threshold_ (list of peptide hits will be sorted).
void getRetentionTimes_ (std::vector< PeptideIdentification > &peptides, SeqToList &rt_data)
 Collect retention time data ("RT" MetaInfo) from peptide IDs.
void getRetentionTimes_ (MSExperiment<> &experiment, SeqToList &rt_data)
 Collect retention time data ("RT" MetaInfo) from peptide IDs annotated to spectra.
template<typename MapType >
void getRetentionTimes_ (MapType &features, SeqToList &rt_data)
 Collect retention time data ("RT" MetaInfo) from peptide IDs contained in feature maps or consensus maps.
void computeTransformations_ (std::vector< SeqToList > &rt_data, std::vector< TransformationDescription > &transforms, bool sorted=false)
 Compute retention time transformations from RT data grouped by peptide sequence.
void checkParameters_ (const Size runs)
 Check that parameter values are valid.
void getReference_ ()
 Get reference retention times.

Protected Attributes

Size reference_index_
 Index of input file to use as reference (1-based!).
SeqToValue reference_
 Reference retention times (per peptide sequence).
DoubleReal score_threshold_
 Score threshold for peptide hits.
Size min_run_occur_
 Minimum number of runs a peptide must occur in.

Private Member Functions

 MapAlignmentAlgorithmIdentification (const MapAlignmentAlgorithmIdentification &)
 Copy constructor intentionally not implemented -> private.
MapAlignmentAlgorithmIdentificationoperator= (const MapAlignmentAlgorithmIdentification &)
 Assignment operator intentionally not implemented -> private.

Detailed Description

A map alignment algorithm based on peptide identifications from MS2 spectra.

PeptideIdentification instances are grouped by sequence of the respective best-scoring PeptideHit (provided the score is good enough) and retention time data is collected from the "RT" MetaInfo entries. ID groups with the same sequence in different maps represent points of correspondence between the maps and form the basis of the alignment.

Each map is aligned to a reference retention time scale. This time scale can either come from a reference file (reference parameter) or be computed as a consensus of the input maps (median retention times over all maps of the ID groups). The maps are then aligned to this scale as follows:
The median retention time of each ID group in a map is mapped to the reference retention time of this group. Cubic spline smoothing is used to convert this mapping to a smooth function. Retention times in the map are transformed to the consensus scale by applying this function.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
peptide_score_threshold float0  Score threshold for peptide hits to be used in the alignment.
Select a value that allows only 'high confidence' matches.
min_run_occur int2 min: 2Minimum number of runs (incl. reference, if any) a peptide must occur in to be used for the alignment.
Unless you have very few runs or identifications, increase this value to focus on more informative peptides.
max_rt_shift float0.5 min: 0Maximum realistic RT difference for a peptide (median per run vs. reference). Peptides with higher shifts (outliers) are not used to compute the alignment.
If 0, no limit (disable filter); if > 1, the final value in seconds; if <= 1, taken as a fraction of the range of the reference RT scale.
use_unassigned_peptides stringtrue true, falseShould unassigned peptide identifications be used when computing an alignment of feature maps? If 'false', only peptide IDs assigned to features will be used.
use_feature_rt stringfalse true, falseWhen aligning feature maps, don't use the retention time of a peptide identification directly; instead, use the retention time of the centroid of the feature (apex of the elution profile) that the peptide was matched to. If different identifications are matched to one feature, only the peptide closest to the centroid in RT is used.
Precludes 'use_unassigned_peptides'.

Note:

Member Typedef Documentation

typedef std::map<String, DoubleList> SeqToList [protected]

Type to store retention times given for individual peptide sequences.

typedef std::map<String, DoubleReal> SeqToValue [protected]

Type to store one representative retention time per peptide sequence.


Constructor & Destructor Documentation

Default constructor.

virtual ~MapAlignmentAlgorithmIdentification (  )  [virtual]

Destructor.

Copy constructor intentionally not implemented -> private.


Member Function Documentation

virtual void alignConsensusMaps ( std::vector< ConsensusMap > &  ,
std::vector< TransformationDescription > &   
) [virtual]

Aligns consensus maps.

Exceptions:
Exception::NotImplemented is thrown if an algorithm cannot align consensus maps

Reimplemented from MapAlignmentAlgorithm.

virtual void alignFeatureMaps ( std::vector< FeatureMap<> > &  ,
std::vector< TransformationDescription > &   
) [virtual]

Aligns feature maps.

Exceptions:
Exception::NotImplemented is thrown if an algorithm cannot align feature maps

Reimplemented from MapAlignmentAlgorithm.

void alignMaps ( std::vector< MapType > &  maps,
std::vector< TransformationDescription > &  transformations 
) [inline]

Align feature maps or consensus maps.

Since the method of aligning feature and consensus maps is equal for this algorithm, alignFeatureMaps and alignConsensusMaps are only defined in conformance with the interface and forward to this method.

Parameters:
maps Vector maps (FeatureMap or ConsensusMap) that should be aligned.
transformations Vector of TransformationDescription that will be computed.
virtual void alignPeakMaps ( std::vector< MSExperiment<> > &  ,
std::vector< TransformationDescription > &   
) [virtual]

Aligns peak maps.

Exceptions:
Exception::NotImplemented is thrown if an algorithm cannot align peak maps

Reimplemented from MapAlignmentAlgorithm.

virtual void alignPeptideIdentifications ( std::vector< std::vector< PeptideIdentification > > &  ,
std::vector< TransformationDescription > &   
) [virtual]

Aligns peptide identifications.

Exceptions:
Exception::NotImplemented is thrown if an algorithm cannot align peptide identifications

Reimplemented from MapAlignmentAlgorithm.

void checkParameters_ ( const Size  runs  )  [protected]

Check that parameter values are valid.

Currently only 'min_run_occur' is checked.

Parameters:
runs Number of runs (input files) to be aligned
void computeMedians_ ( SeqToList rt_data,
SeqToValue medians,
bool  sorted = false 
) [protected]

Compute the median retention time for each peptide sequence.

Parameters:
rt_data Lists of RT values for diff. peptide sequences (input, will be sorted)
medians Median RT values for the peptide sequences (output)
sorted Are RT lists already sorted? (see median_)
Exceptions:
Exception::IllegalArgument if the input list is empty
void computeTransformations_ ( std::vector< SeqToList > &  rt_data,
std::vector< TransformationDescription > &  transforms,
bool  sorted = false 
) [protected]

Compute retention time transformations from RT data grouped by peptide sequence.

Parameters:
rt_data Lists of RT values for diff. peptide sequences, per dataset (input, will be sorted)
transforms Resulting transformations, per dataset (output)
sorted Are RT lists already sorted? (see median_)
static MapAlignmentAlgorithm* create (  )  [inline, static]

Creates a new instance of this class (for Factory).

static String getProductName (  )  [inline, static]

Returns the product name (for the Factory).

void getReference_ (  )  [protected]

Get reference retention times.

If a reference file is supplied via the reference parameter, extract retention time information and store it in reference_.

void getRetentionTimes_ ( MapType &  features,
SeqToList rt_data 
) [protected]

Collect retention time data ("RT" MetaInfo) from peptide IDs contained in feature maps or consensus maps.

The following global flags (mutually exclusive) influence the processing:
Depending on use_unassigned_peptides, unassigned peptide IDs are used in addition to IDs annotated to features.
Depending on use_feature_rt, feature retention times are used instead of peptide retention times.

Parameters:
features Input features for RT data
rt_data Lists of RT values for diff. peptide sequences (output)
void getRetentionTimes_ ( std::vector< PeptideIdentification > &  peptides,
SeqToList rt_data 
) [protected]

Collect retention time data ("RT" MetaInfo) from peptide IDs.

Parameters:
peptides Input peptide IDs (lists of peptide hits will be sorted)
rt_data Lists of RT values for diff. peptide sequences (output)
void getRetentionTimes_ ( MSExperiment<> &  experiment,
SeqToList rt_data 
) [protected]

Collect retention time data ("RT" MetaInfo) from peptide IDs annotated to spectra.

Parameters:
experiment Input map for RT data
rt_data Lists of RT values for diff. peptide sequences (output)
bool hasGoodHit_ ( PeptideIdentification peptide  )  [protected]

Check if peptide ID contains a hit that passes the significance threshold score_threshold_ (list of peptide hits will be sorted).

Assignment operator intentionally not implemented -> private.

virtual void setReference ( Size  reference_index = 0,
const String reference_file = "" 
) [virtual]

Defines a reference for the alignment.

Parameters:
reference_index Index of input file to use as reference (1-based!)
reference_file Path to external reference file
Exceptions:
Exception::InvalidParameter is thrown if the algorithm does not support references

Reimplemented from MapAlignmentAlgorithm.


Member Data Documentation

Size min_run_occur_ [protected]

Minimum number of runs a peptide must occur in.

SeqToValue reference_ [protected]

Reference retention times (per peptide sequence).

Size reference_index_ [protected]

Index of input file to use as reference (1-based!).

Score threshold for peptide hits.


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