OpenMS
|
A container for features. More...
#include <OpenMS/KERNEL/FeatureMap.h>
Public Types | |
typedef RangeManagerContainer< RangeRT, RangeMZ, RangeIntensity > | RangeManagerContainerType |
typedef RangeManager< RangeRT, RangeMZ, RangeIntensity > | RangeManagerType |
typedef iterator | Iterator |
typedef const_iterator | ConstIterator |
typedef reverse_iterator | ReverseIterator |
typedef const_reverse_iterator | ConstReverseIterator |
Public Types inherited from RangeManagerContainer< RangeRT, RangeMZ, RangeIntensity > | |
using | ThisRangeType = typename RangeManager< RangeBases... >::ThisRangeType |
Public Types inherited from RangeManager< RangeBases... > | |
using | ThisRangeType = RangeManager< RangeBases... > |
Public Types inherited from ExposedVector< Feature > | |
using | VecMember = std::vector< Feature > |
using | value_type = typename VecMember::value_type |
using | iterator = typename VecMember::iterator |
using | const_iterator = typename VecMember::const_iterator |
using | reverse_iterator = typename VecMember::reverse_iterator |
using | const_reverse_iterator = typename VecMember::const_reverse_iterator |
using | size_type = typename VecMember::size_type |
using | pointer = typename VecMember::pointer |
using | reference = typename VecMember::reference |
using | const_reference = typename VecMember::const_reference |
using | difference_type = typename VecMember::difference_type |
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 std::unordered_map< UInt64, Size > | UniqueIdMap |
Public Member Functions | |
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 (FeatureMap &&source) | |
Move constructor. More... | |
FeatureMap & | operator= (const FeatureMap &rhs) |
Assignment operator. More... | |
~FeatureMap () override | |
Move assignment. More... | |
bool | operator== (const FeatureMap &rhs) const |
Equality operator. More... | |
bool | operator!= (const FeatureMap &rhs) const |
Inequality 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... | |
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... | |
void | updateRanges () override |
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) |
Functions for dealing with identifications in legacy format | |
non-mutable access to the protein identifications | |
const std::vector< ProteinIdentification > & | getProteinIdentifications () const |
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... | |
Functions for dealing with identifications in new format | |
std::set< IdentificationData::ObservationMatchRef > | getUnassignedIDMatches () const |
Return observation matches (e.g. PSMs) from the identification data that are not assigned to any feature in the map. More... | |
const IdentificationData & | getIdentificationData () const |
Immutable access to the contained identification data. More... | |
IdentificationData & | getIdentificationData () |
Mutable access to the contained identification data. 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... | |
void | swap (MetaInfoInterface &rhs) |
Swap contents. 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 |
Returns the value corresponding to a string, or DataValue::EMPTY if not found. More... | |
DataValue | getMetaValue (const String &name, const DataValue &default_value) const |
Returns the value corresponding to a string, or a default value (e.g.: DataValue::EMPTY) if not found More... | |
const DataValue & | getMetaValue (UInt index) const |
Returns the value corresponding to the index, or DataValue::EMPTY if not found. More... | |
DataValue | getMetaValue (UInt index, const DataValue &default_value) const |
Returns the value corresponding to the index, or a default value (e.g.: 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 RangeManagerContainer< RangeRT, RangeMZ, RangeIntensity > | |
virtual | ~RangeManagerContainer ()=default |
D'tor. More... | |
const ThisRangeType & | getRange () const |
get range of current data (call updateRanges() before to ensure the range is accurate) More... | |
ThisRangeType & | getRange () |
get mutable range, provided for efficiency reasons (avoid updateRanges(), if only minor changes were made) More... | |
Public Member Functions inherited from RangeManager< RangeBases... > | |
bool | operator== (const RangeManager &rhs) const |
bool | operator!= (const RangeManager &rhs) const |
bool | assignUnsafe (const RangeManager< RangeBasesOther... > &rhs) |
auto & | assign (const RangeManager< RangeBasesOther... > &rhs) |
bool | extendUnsafe (const RangeManager< RangeBasesOther... > &rhs) |
void | extend (const RangeManager< RangeBasesOther... > &rhs) |
void | scaleBy (const double factor) |
calls RangeBase::scale() for each dimension More... | |
void | minSpanIfSingular (const double min_span) |
If any dimension is a single point, e.g. min==max, then extend this dimension by min_span / 2 on either side. More... | |
bool | pushIntoUnsafe (const RangeManager< RangeBasesOther... > &rhs) |
void | pushInto (const RangeManager< RangeBasesOther... > &sandbox) |
bool | clampToUnsafe (const RangeManager< RangeBasesOther... > &rhs) |
void | clampTo (const RangeManager< RangeBasesOther... > &rhs) |
const RangeBase & | getRangeForDim (MSDim dim) const |
obtain a range dimension at runtime using dim More... | |
RangeBase & | getRangeForDim (MSDim dim) |
obtain a range dimension at runtime using dim More... | |
HasRangeType | hasRange () const |
is any/some/all dimension in this range populated? More... | |
bool | containsAll (const RangeManager< RangeBasesOther... > &rhs) const |
void | clearRanges () |
Resets all ranges. More... | |
ThisRangeType & | clear (const DIM_UNIT range) |
void | printRange (std::ostream &out) const |
print each dimension (base classes) to a stream 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 ExposedVector< Feature > | |
ExposedVector ()=default | |
ExposedVector (const size_t n) | |
ExposedVector (const size_t n, const Feature &val) | |
ExposedVector (Iter begin, Iter end) | |
ExposedVector (const ExposedVector &rhs)=default | |
Copy C'tor. More... | |
ExposedVector (ExposedVector &&rhs) noexcept=default | |
Move C'tor. More... | |
ExposedVector & | operator= (const ExposedVector &rhs)=default |
Assignment. More... | |
ExposedVector & | operator= (ExposedVector &&rhs) noexcept=default |
Move Assignment. More... | |
iterator | begin () noexcept |
const_iterator | begin () const noexcept |
iterator | end () noexcept |
const_iterator | end () const noexcept |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
size_t | size () const noexcept |
void | resize (const size_t new_size) |
void | reserve (const size_t new_size) |
bool | empty () const noexcept |
Feature & | operator[] (size_t i) noexcept |
const Feature & | operator[] (size_t i) const noexcept |
Feature & | at (size_t i) |
const Feature & | at (size_t i) const |
Feature & | back () noexcept |
const Feature & | back () const noexcept |
void | push_back (const Feature &f) |
void | push_back (Feature &&f) |
decltype(auto) | emplace_back (Args &&... args) |
void | pop_back () noexcept |
iterator | erase (const_iterator where) noexcept |
iterator | erase (const_iterator from, const_iterator to) noexcept |
iterator | insert (const_iterator where, T from, T to) |
const VecMember & | getData () const |
read-only access to the underlying data More... | |
VecMember & | getData () |
read access to the underlying data 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... | |
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... | |
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... | |
IdentificationData | id_data_ |
general identification results (peptides/proteins, RNA, compounds) More... | |
Protected Attributes inherited from MetaInfoInterface | |
MetaInfo * | meta_ |
Pointer to the MetaInfo object (0 by default) 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 ExposedVector< Feature > | |
VecMember | data_ |
the container which holds all the data 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< RangeBases... > | |
void | for_each_base_ (Visitor &&visitor) |
use fold expression to iterate over all RangeBases of RangeManager and apply a lambda (Visitor) for each one More... | |
void | for_each_base_ (Visitor &&visitor) const |
.. and a const version More... | |
Protected Member Functions inherited from UniqueIdIndexer< FeatureMap > | |
const auto & | getBase_ () const |
A little helper to get access to the base (!) class RandomAccessContainer. More... | |
auto & | getBase_ () |
A little helper to get access to the base (!) class RandomAccessContainer. More... | |
Static Protected Member Functions inherited from RangeManager< RangeBases... > | |
static void | static_for_each_base_ (Visitor &&visitor) |
use fold expression to iterate over all RangeBases of RangeManager and apply a lambda (Visitor) for each one (for static members) More... | |
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.
typedef const_iterator ConstIterator |
typedef RangeManager<RangeRT, RangeMZ, RangeIntensity> RangeManagerType |
typedef reverse_iterator ReverseIterator |
FeatureMap | ( | ) |
Default constructor.
FeatureMap | ( | const FeatureMap & | source | ) |
Copy constructor.
FeatureMap | ( | FeatureMap && | source | ) |
Move constructor.
|
override |
Move assignment.
Destructor
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):
See e.g. UniqueIdInterface for what else can be done this way.
void clear | ( | bool | clear_meta_data = true | ) |
Clears all data and meta data.
clear_meta_data | If true, all meta data is cleared in addition to the data. |
AnnotationStatistics getAnnotationStatistics | ( | ) | const |
std::vector<DataProcessing>& getDataProcessing | ( | ) |
returns a mutable reference to the description of the applied data processing
const std::vector<DataProcessing>& getDataProcessing | ( | ) | const |
returns a const reference to the description of the applied data processing
IdentificationData& getIdentificationData | ( | ) |
Mutable access to the contained identification data.
const IdentificationData& getIdentificationData | ( | ) | const |
Immutable access to the contained identification data.
void getPrimaryMSRunPath | ( | StringList & | toFill | ) | const |
get the file path to the first MS run
std::vector<ProteinIdentification>& getProteinIdentifications | ( | ) |
mutable access to the protein identifications
const std::vector<ProteinIdentification>& getProteinIdentifications | ( | ) | const |
Referenced by MetaDataBrowser::add().
std::set<IdentificationData::ObservationMatchRef> getUnassignedIDMatches | ( | ) | const |
Return observation matches (e.g. PSMs) from the identification data that are not assigned to any feature in the map.
Only top-level features are considered, i.e. no subordinates.
std::vector<PeptideIdentification>& getUnassignedPeptideIdentifications | ( | ) |
mutable access to the unassigned peptide identifications
const std::vector<PeptideIdentification>& getUnassignedPeptideIdentifications | ( | ) | const |
non-mutable access to the unassigned peptide identifications
Referenced by MetaDataBrowser::add().
bool operator!= | ( | const FeatureMap & | rhs | ) | const |
Inequality operator.
FeatureMap operator+ | ( | const FeatureMap & | rhs | ) | const |
Joins two feature maps.
Features are merged into one container (see operator+= for details).
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.
rhs | The feature to add to this one. |
FeatureMap& operator= | ( | const FeatureMap & | rhs | ) |
Assignment operator.
bool operator== | ( | const FeatureMap & | rhs | ) | const |
Equality operator.
void setDataProcessing | ( | const std::vector< DataProcessing > & | processing_method | ) |
sets the description of the applied data processing
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)
void setPrimaryMSRunPath | ( | const StringList & | s, |
MSExperiment & | e | ||
) |
set the file path to the primary MS run using the mzML annotated in the MSExperiment e
. If it doesn't exist, fallback to s
.
void setProteinIdentifications | ( | const std::vector< ProteinIdentification > & | protein_identifications | ) |
sets the protein identifications
void setUnassignedPeptideIdentifications | ( | const std::vector< PeptideIdentification > & | unassigned_peptide_identifications | ) |
sets the unassigned peptide identifications
void sortByIntensity | ( | bool | reverse = false | ) |
Sorts the peaks according to ascending intensity.
void sortByMZ | ( | ) |
Sort features by m/z position.
void sortByOverallQuality | ( | bool | reverse = false | ) |
Sort features by ascending overall quality.
void sortByPosition | ( | ) |
Sort features by position. Lexicographical comparison (first RT then m/z) is done.
void sortByRT | ( | ) |
Sort features by RT position.
void swap | ( | FeatureMap & | from | ) |
void swapFeaturesOnly | ( | FeatureMap & | from | ) |
Swaps the feature content (plus its range information) of this map with the content of from
.
|
overridevirtual |
implement this function to reflect the underlying data of the derived class (e.g. an MSSpectrum) Usually, call clearRanges() internally and then populate the dimensions.
Implements RangeManagerContainer< RangeRT, RangeMZ, RangeIntensity >.
|
protected |
applied data processing
|
protected |
general identification results (peptides/proteins, RNA, compounds)
|
protected |
protein identifications
|
protected |
peptide identifications not matched to a specific feature