OpenMS
2.5.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 | |
typedef std::vector< ConsensusFeature > | privvec |
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< ConsensusMap > | |
typedef boost::unordered_map< UInt64, Size > | UniqueIdMap |
Type definitions | |
typedef std::vector< ConsensusFeature > | Base |
typedef RangeManager< 2 > | 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 |
Updates minimum and maximum position/intensity. More... | |
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... | |
void | applyFunctionOnPeptideHits (std::function< void(PeptideHit &)> &f, bool include_unassigned=true) |
applies a function on all PeptideHits or only assigned ones More... | |
void | applyFunctionOnPeptideIDs (std::function< void(PeptideIdentification &)> &f, bool include_unassigned=true) |
applies a function on all PeptideIDs or only assigned ones More... | |
void | applyFunctionOnPeptideHits (std::function< void(const PeptideHit &)> &, bool include_unassigned=true) const |
applies a const function on all PeptideHits or only assigned ones More... | |
void | applyFunctionOnPeptideIDs (std::function< void(const PeptideIdentification &)> &f, bool include_unassigned=true) const |
applies a const function on all PeptideIDs or only assigned ones 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... | |
void | applyFunctionOnPeptideIDs_ (const std::vector< PeptideIdentification > &idvec, std::function< void(const PeptideIdentification &)> &f) const |
void | applyFunctionOnPeptideHits_ (const std::vector< PeptideIdentification > &idvec, std::function< void(const PeptideHit &)> &f) const |
void | applyFunctionOnPeptideIDs_ (std::vector< PeptideIdentification > &idvec, std::function< void(PeptideIdentification &)> &f) |
void | applyFunctionOnPeptideHits_ (std::vector< PeptideIdentification > &idvec, std::function< void(PeptideHit &)> &f) |
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... | |
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< 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... | |
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< 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... | |
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< 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 std::vector<ConsensusFeature>::iterator Iterator |
Mutable iterator.
typedef std::vector<ConsensusFeature> privvec |
typedef RangeManager<2> RangeManagerType |
typedef std::vector<ConsensusFeature>::reverse_iterator ReverseIterator |
Mutable reverse iterator.
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. |
Referenced by UTILProteomicsLFQ::main_().
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. |
void applyFunctionOnPeptideHits | ( | std::function< void(const PeptideHit &)> & | , |
bool | include_unassigned = true |
||
) | const |
applies a const function on all PeptideHits or only assigned ones
void applyFunctionOnPeptideHits | ( | std::function< void(PeptideHit &)> & | f, |
bool | include_unassigned = true |
||
) |
applies a function on all PeptideHits or only assigned ones
|
private |
|
private |
void applyFunctionOnPeptideIDs | ( | std::function< void(const PeptideIdentification &)> & | f, |
bool | include_unassigned = true |
||
) | const |
applies a const function on all PeptideIDs or only assigned ones
void applyFunctionOnPeptideIDs | ( | std::function< void(PeptideIdentification &)> & | f, |
bool | include_unassigned = true |
||
) |
applies a function on all PeptideIDs or only assigned ones
Referenced by IDScoreGetterSetter::getPeptideScoresFromMap_(), and IDScoreGetterSetter::setPeptideScoresForMap_().
|
private |
|
private |
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.
Referenced by UTILProteomicsLFQ::quantifyFraction_().
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. |
Referenced by UTILProteomicsLFQ::main_().
ColumnHeaders& getColumnHeaders | ( | ) |
Mutable access to the file descriptions.
const ColumnHeaders& getColumnHeaders | ( | ) | const |
Non-mutable access to the file descriptions.
Referenced by UTILProteomicsLFQ::getPeptideOccurrence_(), and UTILProteomicsLFQ::quantifyFraction_().
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 UTILProteomicsLFQ::main_(), and 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. |
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).
Referenced by UTILProteomicsLFQ::main_().
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.
Referenced by UTILProteomicsLFQ::main_(), and UTILProteomicsLFQ::quantifyFraction_().
void swap | ( | ConsensusMap & | from | ) |
Swaps the content of this map with the content of from
.
|
overridevirtual |
Updates minimum and maximum position/intensity.
This method is usually implemented by calling clearRanges() and updateRanges_().
Implements RangeManager< 2 >.
|
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)