OpenMS
2.8.0
|
A container for consensus elements. More...
#include <OpenMS/KERNEL/ConsensusMap.h>
Classes | |
struct | ColumnHeader |
Description of the columns in a consensus map. More... | |
Public Types | |
enum class | SplitMeta { DISCARD , COPY_ALL , COPY_FIRST } |
typedef std::vector< ConsensusFeature > | privvec |
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< ConsensusMap > | |
typedef std::unordered_map< UInt64, Size > | UniqueIdMap |
Type definitions | |
typedef ConsensusFeature | FeatureType |
typedef std::vector< ConsensusFeature > | Base |
typedef RangeManagerContainer< RangeRT, RangeMZ, RangeIntensity > | RangeManagerContainerType |
typedef RangeManager< RangeRT, RangeMZ, RangeIntensity > | RangeManagerType |
typedef std::map< UInt64, ColumnHeader > | ColumnHeaders |
typedef std::vector< ConsensusFeature >::iterator | Iterator |
Mutable iterator. More... | |
typedef std::vector< ConsensusFeature >::const_iterator | ConstIterator |
Non-mutable iterator. More... | |
typedef std::vector< ConsensusFeature >::reverse_iterator | ReverseIterator |
Mutable reverse iterator. More... | |
typedef std::vector< ConsensusFeature >::const_reverse_iterator | ConstReverseIterator |
Non-mutable reverse iterator. More... | |
ConsensusMap () | |
Default constructor. More... | |
ConsensusMap (const ConsensusMap &source) | |
Copy constructor. More... | |
~ConsensusMap () override | |
Destructor. More... | |
ConsensusMap (Base::size_type n) | |
Creates a ConsensusMap with n elements. More... | |
ConsensusMap & | operator= (const ConsensusMap &source) |
Assignment operator. More... | |
ConsensusMap & | appendRows (const ConsensusMap &rhs) |
Add consensus map entries as new rows. More... | |
ConsensusMap & | appendColumns (const ConsensusMap &rhs) |
Add consensus map entries as new columns. More... | |
void | clear (bool clear_meta_data=true) |
Clears all data and meta data. More... | |
const ColumnHeaders & | getColumnHeaders () const |
Non-mutable access to the file descriptions. More... | |
ColumnHeaders & | getColumnHeaders () |
Mutable access to the file descriptions. More... | |
void | setColumnHeaders (const ColumnHeaders &column_description) |
Mutable access to the file descriptions. More... | |
const String & | getExperimentType () const |
Non-mutable access to the experiment type. More... | |
void | setExperimentType (const String &experiment_type) |
Mutable access to the experiment type. More... | |
Sorting. | |
These specialized sorting methods are supported in addition to the standard sorting methods of std::vector. All use stable sorting. | |
ColumnHeaders | column_description_ |
Map from index to file description. More... | |
String | experiment_type_ = "label-free" |
type of experiment (label-free, labeled_MS1, labeled_MS2) More... | |
std::vector< ProteinIdentification > | protein_identifications_ |
protein identifications More... | |
std::vector< PeptideIdentification > | unassigned_peptide_identifications_ |
unassigned peptide identifications (without feature) More... | |
std::vector< DataProcessing > | data_processing_ |
applied data processing More... | |
void | sortByIntensity (bool reverse=false) |
Sorts the peaks according to ascending intensity. More... | |
void | sortByRT () |
Sorts the peaks to RT position. More... | |
void | sortByMZ () |
Sorts the peaks to m/z position. More... | |
void | sortByPosition () |
Lexicographically sorts the peaks by their position (First RT then m/z). More... | |
void | sortByQuality (bool reverse=false) |
Sorts the peaks according to ascending quality. More... | |
void | sortBySize () |
Sorts with respect to the size (number of elements) More... | |
void | sortByMaps () |
Sorts with respect to the sets of maps covered by the consensus features (lexicographically). More... | |
void | sortPeptideIdentificationsByMapIndex () |
Sorts PeptideIdentifications of consensus features with respect to their map index. More... | |
void | updateRanges () override |
void | swap (ConsensusMap &from) |
Swaps the content of this map with the content of from . More... | |
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... | |
void | setProteinIdentifications (std::vector< ProteinIdentification > &&protein_identifications) |
sets the protein identifications by moving 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 paths to the primary MS run (stored in ColumnHeaders) More... | |
void | setPrimaryMSRunPath (const StringList &s, MSExperiment &e) |
void | getPrimaryMSRunPath (StringList &toFill) const |
returns the MS run path (stored in ColumnHeaders) More... | |
bool | operator== (const ConsensusMap &rhs) const |
Equality operator. More... | |
bool | operator!= (const ConsensusMap &rhs) const |
Equality operator. More... | |
template<typename Type > | |
Size | applyMemberFunction (Size(Type::*member_function)()) |
Applies a member function of Type to the container itself and all consensus features. The returned values are accumulated. More... | |
template<typename Type > | |
Size | applyMemberFunction (Size(Type::*member_function)() const) const |
The "const" variant. More... | |
bool | isMapConsistent (Logger::LogStream *stream=nullptr) const |
checks if the given maps are unique and all FeatureHandles actually refer to a registered map More... | |
std::vector< FeatureMap > | split (SplitMeta mode=SplitMeta::DISCARD) const |
splits ConsensusMap into its original FeatureMaps More... | |
Additional Inherited Members | |
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 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 | 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 > | |
const RangeManager< RangeBases... > & | getRange () const |
get range of current data (call updateRanges() before to ensure the range is accurate) More... | |
RangeManager< RangeBases... > & | 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 | assignUnsafe (const RangeManager< RangeBasesOther... > &rhs) |
void | 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... | |
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... | |
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 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< ConsensusMap > | |
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< ConsensusMap > | |
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... | |
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< ConsensusMap > | |
const ConsensusMap & | getBase_ () const |
A little helper to get access to the base (!) class RandomAccessContainer. More... | |
ConsensusMap & | 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... | |
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 UniqueIdInterface | |
UInt64 | unique_id_ |
the unique id More... | |
Protected Attributes inherited from UniqueIdIndexer< ConsensusMap > | |
UniqueIdMap | uniqueid_to_index_ |
hash map from unique id to index of features More... | |
A container for consensus elements.
A ConsensusMap is a container holding 2-dimensional consensus elements (ConsensusFeature) which in turn represent analytes that have been quantified across multiple LC-MS/MS experiments. Each analyte in a ConsensusFeature is linked to its original LC-MS/MS run, the links are maintained by the ConsensusMap class. The map is implemented as a vector of elements of type ConsensusFeature.
To be consistent, all maps who are referenced by ConsensusFeature objects (through a unique id) need to be registered in this class.
typedef std::vector<ConsensusFeature> Base |
typedef std::map<UInt64, ColumnHeader> ColumnHeaders |
typedef std::vector<ConsensusFeature>::const_iterator ConstIterator |
Non-mutable iterator.
typedef std::vector<ConsensusFeature>::const_reverse_iterator ConstReverseIterator |
Non-mutable reverse iterator.
typedef ConsensusFeature FeatureType |
typedef std::vector<ConsensusFeature>::iterator Iterator |
Mutable iterator.
typedef std::vector<ConsensusFeature> privvec |
typedef RangeManager<RangeRT, RangeMZ, RangeIntensity> RangeManagerType |
typedef std::vector<ConsensusFeature>::reverse_iterator ReverseIterator |
Mutable reverse iterator.
|
strong |
ConsensusMap | ( | ) |
Default constructor.
ConsensusMap | ( | const ConsensusMap & | source | ) |
Copy constructor.
|
override |
Destructor.
|
explicit |
Creates a ConsensusMap with n elements.
ConsensusMap& appendColumns | ( | const ConsensusMap & | rhs | ) |
Add consensus map entries as new columns.
The number of columns (maximum map index) is the sum of both maps.
rhs | The consensus map to be merged. |
ConsensusMap& appendRows | ( | const ConsensusMap & | rhs | ) |
Add consensus map entries as new rows.
Consensus elements are merged into one container, simply by appending.
The number of columns (maximum map index) stays the same.
rhs | The consensus map to be merged. |
Applies a member function of Type to the container itself and all consensus features. 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. |
ColumnHeaders& getColumnHeaders | ( | ) |
Mutable access to the file descriptions.
const ColumnHeaders& getColumnHeaders | ( | ) | const |
Non-mutable access to the file descriptions.
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
const String& getExperimentType | ( | ) | const |
Non-mutable access to the experiment type.
void getPrimaryMSRunPath | ( | StringList & | toFill | ) | const |
returns the MS run path (stored in ColumnHeaders)
std::vector<ProteinIdentification>& getProteinIdentifications | ( | ) |
mutable access to the protein identifications
const std::vector<ProteinIdentification>& getProteinIdentifications | ( | ) | const |
non-mutable access to the protein identifications
Referenced by FeatureGroupingAlgorithm::postprocess_().
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 FeatureGroupingAlgorithm::postprocess_().
bool isMapConsistent | ( | Logger::LogStream * | stream = nullptr | ) | const |
checks if the given maps are unique and all FeatureHandles actually refer to a registered map
To avoid inconsistencies in map IDs and make sure the maps are unique in terms of name+label
If you want some verbose output, provide a stream.
@hint: alternative to this method we could check the features while they are added to the map directly, but
bool operator!= | ( | const ConsensusMap & | rhs | ) | const |
Equality operator.
ConsensusMap& operator= | ( | const ConsensusMap & | source | ) |
Assignment operator.
bool operator== | ( | const ConsensusMap & | rhs | ) | const |
Equality operator.
void setColumnHeaders | ( | const ColumnHeaders & | column_description | ) |
Mutable access to the file descriptions.
void setDataProcessing | ( | const std::vector< DataProcessing > & | processing_method | ) |
sets the description of the applied data processing
void setExperimentType | ( | const String & | experiment_type | ) |
Mutable access to the experiment type.
void setPrimaryMSRunPath | ( | const StringList & | s | ) |
set the file paths to the primary MS run (stored in ColumnHeaders)
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
.
s | Fallback if e does not have a primary MS runpath |
e | Use primary MS runpath from this mzML file |
void setProteinIdentifications | ( | const std::vector< ProteinIdentification > & | protein_identifications | ) |
sets the protein identifications
void setProteinIdentifications | ( | std::vector< ProteinIdentification > && | protein_identifications | ) |
sets the protein identifications by moving
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 sortByMaps | ( | ) |
Sorts with respect to the sets of maps covered by the consensus features (lexicographically).
Referenced by FeatureGroupingAlgorithm::postprocess_().
void sortByMZ | ( | ) |
Sorts the peaks to m/z position.
void sortByPosition | ( | ) |
Lexicographically sorts the peaks by their position (First RT then m/z).
void sortByQuality | ( | bool | reverse = false | ) |
Sorts the peaks according to ascending quality.
Referenced by FeatureGroupingAlgorithm::postprocess_().
void sortByRT | ( | ) |
Sorts the peaks to RT position.
void sortBySize | ( | ) |
Sorts with respect to the size (number of elements)
Referenced by FeatureGroupingAlgorithm::postprocess_().
void sortPeptideIdentificationsByMapIndex | ( | ) |
Sorts PeptideIdentifications of consensus features with respect to their map index.
std::vector<FeatureMap> split | ( | SplitMeta | mode = SplitMeta::DISCARD | ) | const |
splits ConsensusMap into its original FeatureMaps
If the ConsensusMap originated from some number of FeatureMaps, those are reconstructed with the information provided by the map index. If the ConsensusMap originated from the IsobaricAnalyzer, only Features are separated. All PeptideIdentifications (assigned and unassigned) are added to the first FeatureMap.
MetaValues of ConsensusFeatures can be copied to all FeatureMaps, just to the first or they can be ignored.
mode | Decide what to do with the MetaValues annotated at the ConsensusFeatures. |
void swap | ( | ConsensusMap & | from | ) |
Swaps the content 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 |
Map from index to file description.
|
protected |
applied data processing
|
protected |
type of experiment (label-free, labeled_MS1, labeled_MS2)
|
protected |
protein identifications
|
protected |
unassigned peptide identifications (without feature)