OpenMS
|
An LC-MS feature. More...
#include <OpenMS/KERNEL/Feature.h>
Public Member Functions | |
Constructors and Destructor | |
Feature () | |
Default constructor. More... | |
Feature (const BaseFeature &base) | |
explicit C'tor from BaseFeature More... | |
Feature (const Feature &feature) | |
Copy constructor. More... | |
Feature (Feature &&) noexcept | |
Move constructor. More... | |
~Feature () override | |
Destructor. More... | |
Public Member Functions inherited from BaseFeature | |
WidthType | getWidth () const |
Non-mutable access to the features width (full width at half max, FWHM) More... | |
void | setWidth (WidthType fwhm) |
Set the width of the feature (FWHM) More... | |
const ChargeType & | getCharge () const |
Non-mutable access to charge state. More... | |
void | setCharge (const ChargeType &ch) |
Set charge state. More... | |
BaseFeature & | operator= (const BaseFeature &rhs)=default |
Assignment operator. More... | |
BaseFeature & | operator= (BaseFeature &&rhs) &=default |
Move Assignment operator. More... | |
bool | operator== (const BaseFeature &rhs) const |
Equality operator. More... | |
bool | operator!= (const BaseFeature &rhs) const |
Inequality operator. More... | |
AnnotationState | getAnnotationState () const |
state of peptide identifications attached to this feature. If one ID has multiple hits, the output depends on the top-hit only More... | |
BaseFeature () | |
BaseFeature (const BaseFeature &feature)=default | |
Copy constructor. More... | |
BaseFeature (BaseFeature &&feature) noexcept | |
BaseFeature (const BaseFeature &rhs, UInt64 map_index) | |
Copy constructor with a new map_index. More... | |
BaseFeature (const Peak2D &point) | |
Constructor from raw data point. More... | |
BaseFeature (const RichPeak2D &point) | |
Constructor from raw data point with meta information. More... | |
BaseFeature (const FeatureHandle &fh) | |
Constructor from a featurehandle. More... | |
~BaseFeature () override | |
Destructor. More... | |
QualityType | getQuality () const |
void | setQuality (QualityType q) |
Set the overall quality. More... | |
const std::vector< PeptideIdentification > & | getPeptideIdentifications () const |
std::vector< PeptideIdentification > & | getPeptideIdentifications () |
returns a mutable reference to the PeptideIdentification vector More... | |
void | setPeptideIdentifications (const std::vector< PeptideIdentification > &peptides) |
sets the PeptideIdentification vector More... | |
void | sortPeptideIdentifications () |
sorts PeptideIdentifications, assuming they have the same scoreType. More... | |
bool | hasPrimaryID () const |
const IdentificationData::IdentifiedMolecule & | getPrimaryID () const |
Return the primary ID (peptide, RNA, compound) assigned to this feature. More... | |
void | clearPrimaryID () |
clear any primary ID that was assigned More... | |
void | setPrimaryID (const IdentificationData::IdentifiedMolecule &id) |
set the primary ID (peptide, RNA, compound) for this feature More... | |
const std::set< IdentificationData::ObservationMatchRef > & | getIDMatches () const |
immutable access to the set of matches (e.g. PSMs) with IDs for this feature More... | |
std::set< IdentificationData::ObservationMatchRef > & | getIDMatches () |
mutable access to the set of matches (e.g. PSMs) with IDs for this feature More... | |
void | addIDMatch (IdentificationData::ObservationMatchRef ref) |
add an ID match (e.g. PSM) for this feature More... | |
void | updateIDReferences (const IdentificationData::RefTranslator &trans) |
Update ID references (primary ID, matches) for this feature. More... | |
Public Member Functions inherited from RichPeak2D | |
RichPeak2D () | |
Default constructor. More... | |
RichPeak2D (const RichPeak2D &p)=default | |
Copy constructor. More... | |
RichPeak2D (const Peak2D &p) | |
Constructor from Peak2D. More... | |
RichPeak2D (const PositionType &pos, const IntensityType in) | |
Member constructor. More... | |
RichPeak2D (RichPeak2D &&p)=default | |
Move constructor. More... | |
~RichPeak2D () override | |
Destructor. More... | |
RichPeak2D & | operator= (const RichPeak2D &rhs)=default |
Assignment operator. More... | |
RichPeak2D & | operator= (RichPeak2D &&rhs) &=default |
Move Assignment operator. More... | |
RichPeak2D & | operator= (const Peak2D &rhs) |
Assignment operator. More... | |
bool | operator== (const RichPeak2D &rhs) const |
Equality operator. More... | |
bool | operator!= (const RichPeak2D &rhs) const |
Equality operator. More... | |
Public Member Functions inherited from Peak2D | |
bool | operator== (const Peak2D &rhs) const |
Equality operator. More... | |
bool | operator!= (const Peak2D &rhs) const |
Equality operator. More... | |
Peak2D ()=default | |
Peak2D (const PositionType &pos, const IntensityType in) | |
Member constructor. More... | |
Peak2D (const Peak2D &p)=default | |
Copy constructor. More... | |
Peak2D (Peak2D &&) noexcept=default | |
Move constructor. More... | |
Peak2D & | operator= (const Peak2D &rhs)=default |
Assignment operator. More... | |
Peak2D & | operator= (Peak2D &&) noexcept=default |
Move assignment operator. More... | |
~Peak2D () noexcept=default | |
Destructor. More... | |
IntensityType | getIntensity () const |
void | setIntensity (IntensityType intensity) |
Sets data point intensity (height) More... | |
PositionType const & | getPosition () const |
Non-mutable access to the position. More... | |
PositionType & | getPosition () |
Mutable access to the position. More... | |
void | setPosition (const PositionType &position) |
Mutable access to the position. More... | |
CoordinateType | getMZ () const |
Returns the m/z coordinate (index 1) More... | |
void | setMZ (CoordinateType coordinate) |
Mutable access to the m/z coordinate (index 1) More... | |
CoordinateType | getRT () const |
Returns the RT coordinate (index 0) More... | |
void | setRT (CoordinateType coordinate) |
Mutable access to the RT coordinate (index 0) 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 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... | |
Model and quality methods | |
typedef QualityLess | OverallQualityLess |
Compare by quality. More... | |
QualityType | getOverallQuality () const |
Non-mutable access to the overall quality. More... | |
void | setOverallQuality (QualityType q) |
Set the overall quality. More... | |
QualityType | getQuality (Size index) const |
Non-mutable access to the quality in dimension c. More... | |
void | setQuality (Size index, QualityType q) |
Set the quality in dimension c. More... | |
Convex hulls and bounding box | |
QualityType | qualities_ [2] |
Quality measures for each dimension. More... | |
std::vector< ConvexHull2D > | convex_hulls_ |
Array of convex hulls (one for each mass trace) More... | |
bool | convex_hulls_modified_ |
Flag that indicates if the overall convex hull needs to be recomputed (i.e. mass trace convex hulls were modified) More... | |
ConvexHull2D | convex_hull_ |
Overall convex hull of the feature. More... | |
std::vector< Feature > | subordinates_ |
subordinate features (e.g. features that represent alternative explanations, usually with lower quality) More... | |
const std::vector< ConvexHull2D > & | getConvexHulls () const |
Non-mutable access to the convex hulls. More... | |
std::vector< ConvexHull2D > & | getConvexHulls () |
Mutable access to the convex hulls of single mass traces. More... | |
void | setConvexHulls (const std::vector< ConvexHull2D > &hulls) |
Set the convex hulls of single mass traces. More... | |
ConvexHull2D & | getConvexHull () const |
Returns the overall convex hull of the feature (calculated from the convex hulls of the mass traces) More... | |
bool | encloses (double rt, double mz) const |
Returns if the mass trace convex hulls of the feature enclose the position specified by rt and mz . More... | |
Feature & | operator= (const Feature &rhs) |
Assignment operator. More... | |
Feature & | operator= (Feature &&) &noexcept |
Move assignment operator. More... | |
bool | operator== (const Feature &rhs) const |
Equality operator. More... | |
const std::vector< Feature > & | getSubordinates () const |
immutable access to subordinate features More... | |
std::vector< Feature > & | getSubordinates () |
mutable access to subordinate features More... | |
void | setSubordinates (const std::vector< Feature > &rhs) |
mutable access to subordinate features More... | |
template<typename Type > | |
Size | applyMemberFunction (Size(Type::*member_function)()) |
Applies a member function of Type to the feature (including subordinates). The returned values are accumulated. More... | |
template<typename Type > | |
Size | applyMemberFunction (Size(Type::*member_function)() const) const |
The "const" variant. More... | |
void | updateAllIDReferences (const IdentificationData::RefTranslator &trans) |
Update ID references (primary ID, input matches) for this feature and any subfeatures. More... | |
Additional Inherited Members | |
Public Types inherited from BaseFeature | |
enum | AnnotationState { FEATURE_ID_NONE , FEATURE_ID_SINGLE , FEATURE_ID_MULTIPLE_SAME , FEATURE_ID_MULTIPLE_DIVERGENT , SIZE_OF_ANNOTATIONSTATE } |
state of identification, use getAnnotationState() to query it More... | |
typedef float | QualityType |
typedef Int | ChargeType |
Type of charge values. More... | |
typedef float | WidthType |
Type of feature width/FWHM (RT) More... | |
Public Types inherited from Peak2D | |
typedef float | IntensityType |
Intensity type. More... | |
typedef double | CoordinateType |
Coordinate type (of the position) More... | |
typedef DPosition< 2 > | PositionType |
Position type. More... | |
enum | DimensionDescription { RT = 0 , MZ = 1 , DIMENSION = 2 } |
This enum maps the symbolic names of the dimensions to numbers. More... | |
Public Types inherited from UniqueIdInterface | |
enum | { INVALID = 0 } |
This is the invalid unique id (cast it to a UInt64 if you like) More... | |
Static Public Member Functions inherited from Peak2D | |
static char const * | shortDimensionName (UInt const dim) |
Short name of the dimension (abbreviated form) More... | |
static char const * | shortDimensionNameRT () |
Short name of the dimension (abbreviated form) More... | |
static char const * | shortDimensionNameMZ () |
Short name of the dimension (abbreviated form) More... | |
static char const * | fullDimensionName (UInt const dim) |
Full name of the dimension (self-explanatory form) More... | |
static char const * | fullDimensionNameRT () |
Full name of the dimension (self-explanatory form) More... | |
static char const * | fullDimensionNameMZ () |
Full name of the dimension (self-explanatory form) More... | |
static char const * | shortDimensionUnit (UInt const dim) |
Unit of measurement (abbreviated form) More... | |
static char const * | shortDimensionUnitRT () |
Unit of measurement (abbreviated form) More... | |
static char const * | shortDimensionUnitMZ () |
Unit of measurement (abbreviated form) More... | |
static char const * | fullDimensionUnit (UInt const dim) |
Unit of measurement (self-explanatory form) More... | |
static char const * | fullDimensionUnitRT () |
Unit of measurement (self-explanatory form) More... | |
static char const * | fullDimensionUnitMZ () |
Unit of measurement (self-explanatory form) 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... | |
Static Public Attributes inherited from BaseFeature | |
static const std::string | NamesOfAnnotationState [SIZE_OF_ANNOTATIONSTATE] |
Protected Member Functions inherited from MetaInfoInterface | |
void | createIfNotExists_ () |
Creates the MetaInfo object if it does not exist. More... | |
Protected Attributes inherited from BaseFeature | |
QualityType | quality_ |
Overall quality measure of the feature. More... | |
ChargeType | charge_ |
Charge of the peptide represented by this feature. The default value is 0, which represents an unknown charge state. More... | |
WidthType | width_ |
Width (FWHM) for the feature. The default value is 0.0, a feature finding algorithm can compute this form the model. More... | |
std::vector< PeptideIdentification > | peptides_ |
PeptideIdentifications belonging to the feature. More... | |
std::optional< IdentificationData::IdentifiedMolecule > | primary_id_ |
primary ID (peptide, RNA, compound) assigned to this feature More... | |
std::set< IdentificationData::ObservationMatchRef > | id_matches_ |
set of observation matches (e.g. PSMs) with IDs for this feature More... | |
Protected Attributes inherited from Peak2D | |
PositionType | position_ {} |
The data point position. More... | |
IntensityType | intensity_ {} |
The data point intensity. More... | |
Protected Attributes inherited from MetaInfoInterface | |
MetaInfo * | meta_ |
Pointer to the MetaInfo object (0 by default) More... | |
Protected Attributes inherited from UniqueIdInterface | |
UInt64 | unique_id_ |
the unique id More... | |
Static Protected Attributes inherited from Peak2D | |
static char const *const | dimension_name_short_ [DIMENSION] |
Short name of the dimension (abbreviated form) More... | |
static char const *const | dimension_name_full_ [DIMENSION] |
Full name of the dimension (self-explanatory form) More... | |
static char const *const | dimension_unit_short_ [DIMENSION] |
Unit of measurement (abbreviated form) More... | |
static char const *const | dimension_unit_full_ [DIMENSION] |
Unit of measurement (self-explanatory form) More... | |
An LC-MS feature.
The Feature class is used to describe the two-dimensional signal caused by an analyte. It can store a charge state and a list of peptide identifications (for peptides). The area occupied by the Feature in the LC-MS data set is represented by a list of convex hulls (one for each isotopic peak). There is also a convex hull for the entire Feature. The model description can store the parameters of a two-dimensional theoretical model of the underlying signal in LC-MS. Currently, non-peptide compounds are also represented as features.
By convention in OpenMS, the position of a feature is defined as maximum position of the model for the retention time dimension and the mass of the monoisotopic peak for the m/z dimension. The intensity of a feature is (proportional to) its total ion count.
Feature is derived from RichPeak2D. Also inherited is a MetaInfoInterface. Features as usually are contained in a FeatureMap. See also FeatureHandle and ConsensusFeature.
typedef QualityLess OverallQualityLess |
Compare by quality.
Feature | ( | ) |
Default constructor.
|
explicit |
explicit C'tor from BaseFeature
|
override |
Destructor.
Applies a member function of Type to the feature (including subordinates). The returned values are accumulated.
Example: The following will print the number of features (parent feature and subordinates) with invalid unique ids:
See e.g. UniqueIdInterface for what else can be done this way.
References Feature::applyMemberFunction().
Referenced by Feature::applyMemberFunction().
bool encloses | ( | double | rt, |
double | mz | ||
) | const |
Returns if the mass trace convex hulls of the feature enclose the position specified by rt
and mz
.
ConvexHull2D& getConvexHull | ( | ) | const |
Returns the overall convex hull of the feature (calculated from the convex hulls of the mass traces)
std::vector<ConvexHull2D>& getConvexHulls | ( | ) |
Mutable access to the convex hulls of single mass traces.
const std::vector<ConvexHull2D>& getConvexHulls | ( | ) | const |
Non-mutable access to the convex hulls.
Referenced by EmgScoring::calcElutionFitScore(), MRMTransitionGroupPicker::pickFragmentChromatograms(), and MRMTransitionGroupPicker::pickPrecursorChromatograms().
QualityType getOverallQuality | ( | ) | const |
Non-mutable access to the overall quality.
Referenced by FeatureOverlapFilter::filter(), and FeatureFinderIdentificationAlgorithm::FeatureFilterQuality::operator()().
QualityType getQuality | ( | Size | index | ) | const |
Non-mutable access to the quality in dimension c.
std::vector<Feature>& getSubordinates | ( | ) |
mutable access to subordinate features
const std::vector<Feature>& getSubordinates | ( | ) | const |
immutable access to subordinate features
bool operator== | ( | const Feature & | rhs | ) | const |
Equality operator.
void setConvexHulls | ( | const std::vector< ConvexHull2D > & | hulls | ) |
Set the convex hulls of single mass traces.
Referenced by IsotopeWaveletTransform< PeakType >::mapSeeds2Features().
void setOverallQuality | ( | QualityType | q | ) |
void setQuality | ( | Size | index, |
QualityType | q | ||
) |
Set the quality in dimension c.
Referenced by MRMTransitionGroupPicker::pickFragmentChromatograms(), and MRMTransitionGroupPicker::pickPrecursorChromatograms().
void setSubordinates | ( | const std::vector< Feature > & | rhs | ) |
mutable access to subordinate features
void updateAllIDReferences | ( | const IdentificationData::RefTranslator & | trans | ) |
Update ID references (primary ID, input matches) for this feature and any subfeatures.
This is needed e.g. after the IdentificationData instance containing the referenced data has been copied.
|
mutableprotected |
Overall convex hull of the feature.
|
protected |
Array of convex hulls (one for each mass trace)
|
mutableprotected |
Flag that indicates if the overall convex hull needs to be recomputed (i.e. mass trace convex hulls were modified)
|
protected |
Quality measures for each dimension.
|
protected |
subordinate features (e.g. features that represent alternative explanations, usually with lower quality)