| OpenMS 2.5.0

Public Member Functions | Protected Attributes | List of all members
FeatureMap Class Reference
Kernel

A container for features. More...

`#include <OpenMS/KERNEL/FeatureMap.h>`

Inheritance diagram for FeatureMap:

## Public Types

Type definitions
typedef std::vector< Feature > | privvec
typedef Feature | FeatureType
typedef RangeManager< 2 > | RangeManagerType
typedef std::vector< FeatureType > | Base
typedef Base::iterator | Iterator
typedef Base::const_iterator | ConstIterator
typedef Base::reverse_iterator | ReverseIterator
typedef Base::const_reverse_iterator | ConstReverseIterator
typedef FeatureType & | Reference
typedef const FeatureType & | ConstReference
Public Types inherited from RangeManager< 2 >
enum |
| Dimension of the position range. More...
typedef DRange< D > | PositionRangeType
| Position range type. More...
typedef DPosition< D > | PositionType
| Position Type. More...
typedef DRange< 1 > | IntensityRangeType
| Intensity range type. More...
Public Types inherited from UniqueIdInterface
enum | { INVALID = 0 }
| This is the invalid unique id (cast it to a UInt64 if you like) More...
Public Types inherited from UniqueIdIndexer< FeatureMap >
typedef boost::unordered_map< UInt64, Size > | UniqueIdMap

## Public Member Functions

FeatureMap & | operator= (const FeatureMap &rhs)
| Assignment operator. More...
bool | operator== (const FeatureMap &rhs) const
| Equality operator. More...
bool | operator!= (const FeatureMap &rhs) const
| Equality operator. More...
FeatureMap | operator+ (const FeatureMap &rhs) const
| Joins two feature maps. More...
FeatureMap & | operator+= (const FeatureMap &rhs)
| Add one feature map to another. More...
void | updateRanges () override
| Updates minimum and maximum position/intensity. More...
void | swapFeaturesOnly (FeatureMap &from)
| Swaps the feature content (plus its range information) of this map with the content of `from`. More...
void | swap (FeatureMap &from)
const std::vector< ProteinIdentification > & | getProteinIdentifications () const
| non-mutable access to the protein identifications More...
std::vector< ProteinIdentification > & | getProteinIdentifications ()
| mutable access to the protein identifications More...
void | setProteinIdentifications (const std::vector< ProteinIdentification > &protein_identifications)
| sets the protein identifications More...
const std::vector< PeptideIdentification > & | getUnassignedPeptideIdentifications () const
| non-mutable access to the unassigned peptide identifications More...
std::vector< PeptideIdentification > & | getUnassignedPeptideIdentifications ()
| mutable access to the unassigned peptide identifications More...
void | setUnassignedPeptideIdentifications (const std::vector< PeptideIdentification > &unassigned_peptide_identifications)
| sets the unassigned peptide identifications More...
const std::vector< DataProcessing > & | getDataProcessing () const
| returns a const reference to the description of the applied data processing More...
std::vector< DataProcessing > & | getDataProcessing ()
| returns a mutable reference to the description of the applied data processing More...
void | setDataProcessing (const std::vector< DataProcessing > &processing_method)
| sets the description of the applied data processing More...
void | setPrimaryMSRunPath (const StringList &s)
| set the file path to the primary MS run (usually the mzML file obtained after data conversion from raw files) More...
void | setPrimaryMSRunPath (const StringList &s, MSExperiment &e)
void | getPrimaryMSRunPath (StringList &toFill) const
| get the file path to the first MS run More...
void | clear (bool clear_meta_data=true)
| Clears all data and meta data. More...
template<typename Type >
Size | applyMemberFunction (Size(Type::*member_function)())
| Applies a member function of Type to the container itself and all features (including subordinates). The returned values are accumulated. More...
template<typename Type >
Size | applyMemberFunction (Size(Type::*member_function)() const) const
| The "const" variant. More...
AnnotationStatistics | getAnnotationStatistics () const
Constructors and Destructor
| FeatureMap ()
| Default constructor. More...
| FeatureMap (const FeatureMap &source)
| Copy constructor. More...
| ~FeatureMap () override
| Destructor. More...
Sorting.
These simplified sorting methods are supported in addition to the standard sorting methods of std::vector.
void | sortByIntensity (bool reverse=false)
| Sorts the peaks according to ascending intensity. More...
void | sortByPosition ()
| Sort features by position. Lexicographical comparison (first RT then m/z) is done. More...
void | sortByRT ()
| Sort features by RT position. More...
void | sortByMZ ()
| Sort features by m/z position. More...
void | sortByOverallQuality (bool reverse=false)
| Sort features by ascending overall quality. More...
Public Member Functions inherited from MetaInfoInterface
| MetaInfoInterface ()
| Constructor. More...
| MetaInfoInterface (const MetaInfoInterface &rhs)
| Copy constructor. More...
| MetaInfoInterface (MetaInfoInterface &&) noexcept
| Move constructor. More...
| ~MetaInfoInterface ()
| Destructor. More...
MetaInfoInterface & | operator= (const MetaInfoInterface &rhs)
| Assignment operator. More...
MetaInfoInterface & | operator= (MetaInfoInterface &&) noexcept
| Move assignment operator. More...
bool | operator== (const MetaInfoInterface &rhs) const
| Equality operator. More...
bool | operator!= (const MetaInfoInterface &rhs) const
| Equality operator. More...
const DataValue & | getMetaValue (const String &name, const DataValue &default_value=DataValue::EMPTY) const
| Returns the value corresponding to a string, or a default value (default: DataValue::EMPTY) if not found. More...
const DataValue & | getMetaValue (UInt index, const DataValue &default_value=DataValue::EMPTY) const
| Returns the value corresponding to an index, or a default value (default: DataValue::EMPTY) if not found. More...
bool | metaValueExists (const String &name) const
| Returns whether an entry with the given name exists. More...
bool | metaValueExists (UInt index) const
| Returns whether an entry with the given index exists. More...
void | setMetaValue (const String &name, const DataValue &value)
| Sets the DataValue corresponding to a name. More...
void | setMetaValue (UInt index, const DataValue &value)
| Sets the DataValue corresponding to an index. More...
void | removeMetaValue (const String &name)
| Removes the DataValue corresponding to `name` if it exists. More...
void | removeMetaValue (UInt index)
| Removes the DataValue corresponding to `index` if it exists. More...
void | getKeys (std::vector< String > &keys) const
| Fills the given vector with a list of all keys for which a value is set. More...
void | getKeys (std::vector< UInt > &keys) const
| Fills the given vector with a list of all keys for which a value is set. More...
bool | isMetaEmpty () const
| Returns if the MetaInfo is empty. More...
void | clearMetaInfo ()
| Removes all meta values. More...
Public Member Functions inherited from RangeManager< 2 >
| RangeManager ()
| Default constructor. More...
| RangeManager (const RangeManager &rhs)
| Copy constructor. More...
| RangeManager (RangeManager &&) noexcept=default
| Move constructor. More...
virtual | ~RangeManager ()
| Destructor. More...
RangeManager & | operator= (const RangeManager &rhs)
| Assignment operator. More...
bool | operator== (const RangeManager &rhs) const
| Equality operator. More...
bool | operator!= (const RangeManager &rhs) const
| Equality operator. More...
const PositionType & | getMin () const
| Returns the minimum position. More...
const PositionType & | getMax () const
| Returns the maximum position. More...
double | getMinInt () const
| Returns the minimum intensity. More...
double | getMaxInt () const
| Returns the maximum intensity. More...
void | clearRanges ()
| Resets the ranges. More...
Public Member Functions inherited from DocumentIdentifier
| DocumentIdentifier ()
| Default constructor. More...
| DocumentIdentifier (const DocumentIdentifier &)=default
| Copy constructor. More...
| DocumentIdentifier (DocumentIdentifier &&)=default
| Move constructor. More...
virtual | ~DocumentIdentifier ()
| Destructor. More...
DocumentIdentifier & | operator= (const DocumentIdentifier &)=default
| Assignment operator. More...
DocumentIdentifier & | operator= (DocumentIdentifier &&) &=default
| Move assignment operator. More...
bool | operator== (const DocumentIdentifier &rhs) const
| Equality operator. More...
void | setIdentifier (const String &id)
| set document identifier (e.g. an LSID) More...
const String & | getIdentifier () const
| retrieve document identifier (e.g. an LSID) More...
void | swap (DocumentIdentifier &from)
| exchange content with `from` More...
void | setLoadedFilePath (const String &file_name)
| set the file_name_ according to absolute path of the file loaded from preferably done whilst loading More...
const String & | getLoadedFilePath () const
| get the file_name_ which is the absolute path to the file loaded from More...
void | setLoadedFileType (const String &file_name)
| set the file_type according to the type of the file loaded from (see FileHandler::Type) preferably done whilst loading More...
const FileTypes::Type & | getLoadedFileType () const
| get the file_type (e.g. featureXML, consensusXML, mzData, mzXML, mzML, ...) of the file loaded from More...
Public Member Functions inherited from UniqueIdInterface
| UniqueIdInterface ()
| Default constructor - the unique id will be invalid More...
| UniqueIdInterface (const UniqueIdInterface &rhs)=default
| Copy constructor - copies the unique id. More...
| UniqueIdInterface (UniqueIdInterface &&rhs)=default
| Move constructor. More...
UniqueIdInterface & | operator= (UniqueIdInterface const &rhs)=default
| Assignment operator - copies the unique id. More...
UniqueIdInterface & | operator= (UniqueIdInterface &&) &=default
| Move Assignment operator - copies the unique id. More...
virtual | ~UniqueIdInterface ()=default
| Destructor. More...
bool | operator== (UniqueIdInterface const &rhs) const
| Equality comparison operator - the unique ids must be equal (!) More...
UInt64 | getUniqueId () const
| Non-mutable access to unique id - returns the unique id. More...
Size | clearUniqueId ()
| Clear the unique id. The new unique id will be invalid. Returns 1 if the unique id was changed, 0 otherwise. More...
void | swap (UniqueIdInterface &from)
Size | hasValidUniqueId () const
| Returns whether the unique id is valid. Returns 1 if the unique id is valid, 0 otherwise. More...
Size | hasInvalidUniqueId () const
| Returns whether the unique id is invalid. Returns 1 if the unique id is invalid, 0 otherwise. More...
Size | setUniqueId ()
| Assigns a new, valid unique id. Always returns 1. More...
Size | ensureUniqueId ()
| Assigns a valid unique id, but only if the present one is invalid. Returns 1 if the unique id was changed, 0 otherwise. More...
void | setUniqueId (UInt64 rhs)
| Assigns the given unique id. More...
void | setUniqueId (const String &rhs)
| Mutable access to unique id. More...
Public Member Functions inherited from UniqueIdIndexer< FeatureMap >
Size | uniqueIdToIndex (UInt64 unique_id) const
| Returns the index of the feature with the given unique id, or Size(-1) if none exists in this random access container. More...
void | updateUniqueIdToIndex () const
| Updates the hash map from unique id to index. More...
Size | resolveUniqueIdConflicts ()
| Assign new UID's to doubly occurring UID's. More...
void | swap (UniqueIdIndexer &rhs)
| Swap. More...

## Protected Attributes

std::vector< ProteinIdentification > | protein_identifications_
| protein identifications More...
std::vector< PeptideIdentification > | unassigned_peptide_identifications_
| peptide identifications not matched to a specific feature More...
std::vector< DataProcessing > | data_processing_
| applied data processing More...
Protected Attributes inherited from MetaInfoInterface
MetaInfo * | meta_
| Pointer to the MetaInfo object (0 by default) More...
Protected Attributes inherited from RangeManager< 2 >
IntensityRangeType | int_range_
| Intensity range (1-dimensional) More...
PositionRangeType | pos_range_
| Position range (D-dimensional) More...
Protected Attributes inherited from DocumentIdentifier
String | id_
| the ID (e.g. LSID) More...
String | file_path_
| the path to the loaded file More...
FileTypes::Type | file_type_
| the type of the loaded file More...
Protected Attributes inherited from UniqueIdInterface
UInt64 | unique_id_
| the unique id More...
Protected Attributes inherited from UniqueIdIndexer< FeatureMap >
UniqueIdMap | uniqueid_to_index_
| hash map from unique id to index of features More...

## Additional Inherited Members

Static Public Member Functions inherited from MetaInfoInterface
static MetaInfoRegistry & | metaRegistry ()
| Returns a reference to the MetaInfoRegistry. More...
Static Public Member Functions inherited from UniqueIdInterface
static bool | isValid (UInt64 unique_id)
| Returns true if the unique_id is valid, false otherwise. More...
Protected Member Functions inherited from MetaInfoInterface
void | createIfNotExists_ ()
| Creates the MetaInfo object if it does not exist. More...
Protected Member Functions inherited from RangeManager< 2 >
void | updateRanges_ (const PeakIteratorType &begin, const PeakIteratorType &end)
| Updates the range using data points in the iterator range. More...
Protected Member Functions inherited from UniqueIdIndexer< FeatureMap >
const FeatureMap & | getBase_ () const
| A little helper to get access to the base (!) class RandomAccessContainer. More...
FeatureMap & | getBase_ ()
| A little helper to get access to the base (!) class RandomAccessContainer. More...

## Detailed Description

A container for features.

A feature map is a container holding features, which represent chemical entities (peptides, proteins, small molecules etc.) found in an LC-MS/MS experiment.

Maps are implemented as vectors of features and have basically the same interface as an STL vector has (model of Random Access Container and Back Insertion Sequence).

Feature maps are typically created from peak data of 2D runs through the FeatureFinder.

## Member Typedef Documentation

## ◆ Base

typedef std::vector<FeatureType> Base

## ◆ ConstIterator

typedef Base::const_iterator ConstIterator

## ◆ ConstReference

typedef const FeatureType& ConstReference

## ◆ ConstReverseIterator

typedef Base::const_reverse_iterator ConstReverseIterator

## ◆ FeatureType

typedef Feature FeatureType

## ◆ Iterator

typedef Base::iterator Iterator

## ◆ privvec

typedef std::vector<Feature> privvec

## ◆ RangeManagerType

typedef RangeManager<2> RangeManagerType

## ◆ Reference

typedef FeatureType& Reference

## ◆ ReverseIterator

typedef Base::reverse_iterator ReverseIterator

## Constructor & Destructor Documentation

## ◆ FeatureMap() [1/2]

FeatureMap | ( |  | ) |

Default constructor.

## ◆ FeatureMap() [2/2]

FeatureMap | ( | const FeatureMap & | source | ) |

Copy constructor.

## ◆ ~FeatureMap()

~FeatureMap | ( |  | ) |

override

Destructor.

## Member Function Documentation

## ◆ applyMemberFunction() [1/2]

Size applyMemberFunction | ( | Size(Type::*)() | member_function | ) |

inline

Applies a member function of Type to the container itself and all features (including subordinates). The returned values are accumulated.

Example: The following will print the number of features with invalid unique ids (plus 1 if the container has an invalid UID as well):

FeatureMap fm;
(...)
std::cout << fm.applyMemberFunction(&UniqueIdInterface::hasInvalidUniqueId) << std::endl;

See e.g. UniqueIdInterface for what else can be done this way.

## ◆ applyMemberFunction() [2/2]

Size applyMemberFunction | ( | Size(Type::*)() const | member_function | ) | const

inline

The "const" variant.

## ◆ clear()

void clear | ( | bool | clear_meta_data = `true` | ) |

Clears all data and meta data.

Parameters

  clear_meta_data | If true, all meta data is cleared in addition to the data.

## ◆ getAnnotationStatistics()

AnnotationStatistics getAnnotationStatistics | ( |  | ) | const

## ◆ getDataProcessing() [1/2]

const std::vector<DataProcessing>& getDataProcessing | ( |  | ) | const

returns a const reference to the description of the applied data processing

## ◆ getDataProcessing() [2/2]

std::vector<DataProcessing>& getDataProcessing | ( |  | ) |

returns a mutable reference to the description of the applied data processing

## ◆ getPrimaryMSRunPath()

void getPrimaryMSRunPath | ( | StringList & | toFill | ) | const

get the file path to the first MS run

## ◆ getProteinIdentifications() [1/2]

const std::vector<ProteinIdentification>& getProteinIdentifications | ( |  | ) | const

non-mutable access to the protein identifications

Referenced by MetaDataBrowser::add(), and TOPPViewBase::annotateWithID().

## ◆ getProteinIdentifications() [2/2]

std::vector<ProteinIdentification>& getProteinIdentifications | ( |  | ) |

mutable access to the protein identifications

## ◆ getUnassignedPeptideIdentifications() [1/2]

const std::vector<PeptideIdentification>& getUnassignedPeptideIdentifications | ( |  | ) | const

non-mutable access to the unassigned peptide identifications

Referenced by MetaDataBrowser::add().

## ◆ getUnassignedPeptideIdentifications() [2/2]

std::vector<PeptideIdentification>& getUnassignedPeptideIdentifications | ( |  | ) |

mutable access to the unassigned peptide identifications

## ◆ operator!=()

bool operator!= | ( | const FeatureMap & | rhs | ) | const

Equality operator.

## ◆ operator+()

FeatureMap operator+ | ( | const FeatureMap & | rhs | ) | const

Joins two feature maps.

Features are merged into one container (see operator+= for details).

## ◆ operator+=()

FeatureMap& operator+= | ( | const FeatureMap & | rhs | ) |

Add one feature map to another.

Features are merged into one container, simply by appending. UnassignedPeptides and ProteinIdentifications are appended. Information on DocumentIdentifier, UniqueIdInterface (of container only) are reset to default.

For conflicting UID's, new UID's will be assigned.

Parameters

  rhs | The feature to add to this one.

## ◆ operator=()

FeatureMap& operator= | ( | const FeatureMap & | rhs | ) |

Assignment operator.

## ◆ operator==()

bool operator== | ( | const FeatureMap & | rhs | ) | const

Equality operator.

## ◆ setDataProcessing()

void setDataProcessing | ( | const std::vector< DataProcessing > & | processing_method | ) |

sets the description of the applied data processing

## ◆ setPrimaryMSRunPath() [1/2]

void setPrimaryMSRunPath | ( | const StringList & | s | ) |

set the file path to the primary MS run (usually the mzML file obtained after data conversion from raw files)

Referenced by UTILProteomicsLFQ::quantifyFraction_().

## ◆ setPrimaryMSRunPath() [2/2]

void setPrimaryMSRunPath | ( | const StringList & | s,
|  | MSExperiment & | e
| ) |  |

set the file path to the primary MS run using the mzML annotated in the MSExperiment

Parameters

  e. | If it doesn't exist, fallback to
  s. |

## ◆ setProteinIdentifications()

void setProteinIdentifications | ( | const std::vector< ProteinIdentification > & | protein_identifications | ) |

sets the protein identifications

## ◆ setUnassignedPeptideIdentifications()

void setUnassignedPeptideIdentifications | ( | const std::vector< PeptideIdentification > & | unassigned_peptide_identifications | ) |

sets the unassigned peptide identifications

## ◆ sortByIntensity()

void sortByIntensity | ( | bool | reverse = `false` | ) |

Sorts the peaks according to ascending intensity.

## ◆ sortByMZ()

void sortByMZ | ( |  | ) |

Sort features by m/z position.

## ◆ sortByOverallQuality()

void sortByOverallQuality | ( | bool | reverse = `false` | ) |

Sort features by ascending overall quality.

## ◆ sortByPosition()

void sortByPosition | ( |  | ) |

Sort features by position. Lexicographical comparison (first RT then m/z) is done.

## ◆ sortByRT()

void sortByRT | ( |  | ) |

Sort features by RT position.

## ◆ swap()

void swap | ( | FeatureMap & | from | ) |

## ◆ swapFeaturesOnly()

void swapFeaturesOnly | ( | FeatureMap & | from | ) |

Swaps the feature content (plus its range information) of this map with the content of `from`.

## ◆ updateRanges()

void updateRanges | ( |  | ) |

override virtual

Updates minimum and maximum position/intensity.

This method is usually implemented by calling clearRanges() and updateRanges_().

Implements RangeManager< 2 >.

## Member Data Documentation

## ◆ data_processing_

std::vector<DataProcessing> data_processing_

protected

applied data processing

## ◆ protein_identifications_

std::vector<ProteinIdentification> protein_identifications_

protected

protein identifications

## ◆ unassigned_peptide_identifications_

std::vector<PeptideIdentification> unassigned_peptide_identifications_

protected

peptide identifications not matched to a specific feature