A map alignment algorithm based on peptide identifications from MS2 spectra. More...
#include <OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmIdentification.h>
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 MapAlignmentAlgorithm * | create () |
| 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. | |
| MapAlignmentAlgorithmIdentification & | operator= (const MapAlignmentAlgorithmIdentification &) |
| Assignment operator intentionally not implemented -> private. | |
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.
| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| peptide_score_threshold | float | 0 | Score threshold for peptide hits to be used in the alignment. Select a value that allows only 'high confidence' matches. |
|
| min_run_occur | int | 2 | min: 2 | Minimum 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 | float | 0.5 | min: 0 | Maximum 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 | string | true | true, false | Should 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 | string | false | true, false | When 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'. |
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.
Default constructor.
| virtual ~MapAlignmentAlgorithmIdentification | ( | ) | [virtual] |
Destructor.
| MapAlignmentAlgorithmIdentification | ( | const MapAlignmentAlgorithmIdentification & | ) | [private] |
Copy constructor intentionally not implemented -> private.
| virtual void alignConsensusMaps | ( | std::vector< ConsensusMap > & | , | |
| std::vector< TransformationDescription > & | ||||
| ) | [virtual] |
Aligns consensus maps.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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_) |
| 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.
| 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).
| 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.
| 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.
| 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.
| 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).
| MapAlignmentAlgorithmIdentification& operator= | ( | const MapAlignmentAlgorithmIdentification & | ) | [private] |
Assignment operator intentionally not implemented -> private.
| virtual void setReference | ( | Size | reference_index = 0, |
|
| const String & | reference_file = "" | |||
| ) | [virtual] |
Defines a reference for the alignment.
| reference_index | Index of input file to use as reference (1-based!) | |
| reference_file | Path to external reference file |
| Exception::InvalidParameter | is thrown if the algorithm does not support references |
Reimplemented from MapAlignmentAlgorithm.
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!).
DoubleReal score_threshold_ [protected] |
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 |