OpenMS  2.7.0
List of all members
FeatureMap Class Reference

A container for features. More...

#include <OpenMS/KERNEL/FeatureMap.h>

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

Public Types

Type definitions
typedef std::vector< Featureprivvec
 
typedef Feature FeatureType
 
typedef RangeManager< 2 > RangeManagerType
 
typedef std::vector< FeatureTypeBase
 
typedef Base::iterator Iterator
 
typedef Base::const_iterator ConstIterator
 
typedef Base::reverse_iterator ReverseIterator
 
typedef Base::const_reverse_iterator ConstReverseIterator
 
typedef FeatureTypeReference
 
typedef const FeatureTypeConstReference
 
- 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, SizeUniqueIdMap
 

Public Member Functions

Constructors and Destructor
 FeatureMap ()
 Default constructor. More...
 
 FeatureMap (const FeatureMap &source)
 Copy constructor. More...
 
 ~FeatureMap () override
 Destructor. More...
 
FeatureMapoperator= (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...
 
FeatureMapoperator+= (const FeatureMap &rhs)
 Add one feature map to another. 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...
 
MetaInfoInterfaceoperator= (const MetaInfoInterface &rhs)
 Assignment operator. More...
 
MetaInfoInterfaceoperator= (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 DataValuegetMetaValue (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 DataValuegetMetaValue (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 addMetaValues (const MetaInfoInterface &from)
 function to copy all meta values from one object to this one 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...
 
RangeManageroperator= (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 PositionTypegetMin () const
 Returns the minimum position. More...
 
const PositionTypegetMax () 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...
 
DocumentIdentifieroperator= (const DocumentIdentifier &)=default
 Assignment operator. More...
 
DocumentIdentifieroperator= (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 StringgetIdentifier () 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 StringgetLoadedFilePath () 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::TypegetLoadedFileType () 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...
 
UniqueIdInterfaceoperator= (UniqueIdInterface const &rhs)=default
 Assignment operator - copies the unique id. More...
 
UniqueIdInterfaceoperator= (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...
 
- Public Member Functions inherited from MapUtilities< FeatureMap >
void applyFunctionOnPeptideHits (T &&f, bool include_unassigned=true)
 applies a function on all PeptideHits or only assigned ones More...
 
void applyFunctionOnPeptideHits (T &&f, bool include_unassigned=true) const
 applies a const function on all PeptideHits or only assigned ones More...
 
void applyFunctionOnPeptideIDs (T &&f, bool include_unassigned=true)
 applies a function on all PeptideIDs or only assigned ones More...
 
void applyFunctionOnPeptideIDs (T &&f, bool include_unassigned=true) const
 applies a const function on all PeptideIDs or only assigned ones More...
 

Sorting.

These simplified sorting methods are supported in addition to the standard sorting methods of std::vector.

std::vector< ProteinIdentificationprotein_identifications_
 protein identifications More...
 
std::vector< PeptideIdentificationunassigned_peptide_identifications_
 peptide identifications not matched to a specific feature More...
 
std::vector< DataProcessingdata_processing_
 applied data processing More...
 
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...
 
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
 

Additional Inherited Members

- Static Public Member Functions inherited from MetaInfoInterface
static MetaInfoRegistrymetaRegistry ()
 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 FeatureMapgetBase_ () const
 A little helper to get access to the base (!) class RandomAccessContainer. More...
 
FeatureMapgetBase_ ()
 A little helper to get access to the base (!) class RandomAccessContainer. More...
 
- Protected Attributes inherited from MetaInfoInterface
MetaInfometa_
 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...
 

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

◆ Iterator

typedef Base::iterator Iterator

◆ privvec

typedef std::vector<Feature> privvec

◆ RangeManagerType

◆ Reference

◆ ReverseIterator

typedef Base::reverse_iterator ReverseIterator

Constructor & Destructor Documentation

◆ FeatureMap() [1/2]

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::*)() const  member_function) const
inline

The "const" variant.

◆ applyMemberFunction() [2/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):

(...)
std::cout << fm.applyMemberFunction(&UniqueIdInterface::hasInvalidUniqueId) << std::endl;
FeatureMap()
Default constructor.
Size hasInvalidUniqueId() const
Returns whether the unique id is invalid. Returns 1 if the unique id is invalid, 0 otherwise.
Definition: UniqueIdInterface.h:139

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

◆ clear()

void clear ( bool  clear_meta_data = true)

Clears all data and meta data.

Parameters
clear_meta_dataIf true, all meta data is cleared in addition to the data.

◆ getAnnotationStatistics()

AnnotationStatistics getAnnotationStatistics ( ) const

◆ getDataProcessing() [1/2]

std::vector<DataProcessing>& getDataProcessing ( )

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

◆ getDataProcessing() [2/2]

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

returns a const 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]

std::vector<ProteinIdentification>& getProteinIdentifications ( )

mutable access to the protein identifications

◆ getProteinIdentifications() [2/2]

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

non-mutable access to the protein identifications

Referenced by MetaDataBrowser::add().

◆ getUnassignedPeptideIdentifications() [1/2]

std::vector<PeptideIdentification>& getUnassignedPeptideIdentifications ( )

mutable access to the unassigned peptide identifications

◆ getUnassignedPeptideIdentifications() [2/2]

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

non-mutable access to the unassigned peptide identifications

Referenced by MetaDataBrowser::add().

◆ 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
rhsThe 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)

◆ 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 ( )
overridevirtual

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