Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Classes | Public Member Functions | Protected Attributes | List of all members
MSSpectrum< PeakT > Class Template Reference

The representation of a 1D spectrum. More...

#include <OpenMS/KERNEL/MSSpectrum.h>

Inheritance diagram for MSSpectrum< PeakT >:
RangeManager< 1 > SpectrumSettings MetaInfoInterface

Classes

class  FloatDataArray
 Float data array class. More...
 
class  IntegerDataArray
 Integer data array class. More...
 
struct  RTLess
 Comparator for the retention time. More...
 
class  StringDataArray
 String data array class. More...
 

Public Types

Base type definitions
typedef PeakT PeakType
 Peak type. More...
 
typedef PeakType::CoordinateType CoordinateType
 Coordinate (m/z) type. More...
 
typedef std::vector< PeakTypeContainerType
 Spectrum base type. More...
 
typedef std::vector< FloatDataArrayFloatDataArrays
 Float data array vector type. More...
 
typedef std::vector< StringDataArrayStringDataArrays
 String data array vector type. More...
 
typedef std::vector< IntegerDataArrayIntegerDataArrays
 Integer data array vector type. More...
 
Peak container iterator type definitions
typedef ContainerType::iterator Iterator
 Mutable iterator. More...
 
typedef ContainerType::const_iterator ConstIterator
 Non-mutable iterator. More...
 
typedef ContainerType::reverse_iterator ReverseIterator
 Mutable reverse iterator. More...
 
typedef ContainerType::const_reverse_iterator ConstReverseIterator
 Non-mutable reverse iterator. More...
 
- Public Types inherited from RangeManager< 1 >
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 SpectrumSettings
enum  SpectrumType { UNKNOWN, PEAKS, RAWDATA, SIZE_OF_SPECTRUMTYPE }
 Spectrum peak type. More...
 

Public Member Functions

 MSSpectrum ()
 Constructor. More...
 
 MSSpectrum (const MSSpectrum &source)
 Copy constructor. More...
 
 ~MSSpectrum ()
 Destructor. More...
 
MSSpectrumoperator= (const MSSpectrum &source)
 Assignment operator. More...
 
bool operator== (const MSSpectrum &rhs) const
 Equality operator. More...
 
bool operator!= (const MSSpectrum &rhs) const
 Equality operator. More...
 
virtual void updateRanges ()
 Updates minimum and maximum position/intensity. More...
 
void clear (bool clear_meta_data)
 Clears all data and meta data. More...
 
Accessors for meta information

Returns the absolute retention time (is seconds)

double getRT () const
 
void setRT (double rt)
 Sets the absolute retention time (is seconds) More...
 
UInt getMSLevel () const
 Returns the MS level. More...
 
void setMSLevel (UInt ms_level)
 Sets the MS level. More...
 
const StringgetName () const
 Returns the name. More...
 
void setName (const String &name)
 Sets the name. More...
 
Peak data array methods

These methods are used to annotate each peak in a spectrum with meta information. It is an intermediate way between storing the information in the peak's MetaInfoInterface and deriving a new peak type with members for this information.

These statements should help you chose which approach to use

  • Access to meta info arrays is slower than to a member variable
  • Access to meta info arrays is faster than to a MetaInfoInterface
  • Meta info arrays are stored when using mzML format for storing
const FloatDataArraysgetFloatDataArrays () const
 Returns a const reference to the float meta data arrays. More...
 
FloatDataArraysgetFloatDataArrays ()
 Returns a mutable reference to the float meta data arrays. More...
 
const StringDataArraysgetStringDataArrays () const
 Returns a const reference to the string meta data arrays. More...
 
StringDataArraysgetStringDataArrays ()
 Returns a mutable reference to the string meta data arrays. More...
 
const IntegerDataArraysgetIntegerDataArrays () const
 Returns a const reference to the integer meta data arrays. More...
 
IntegerDataArraysgetIntegerDataArrays ()
 Returns a mutable reference to the integer meta data arrays. More...
 
Sorting peaks
void sortByIntensity (bool reverse=false)
 Lexicographically sorts the peaks by their intensity. More...
 
void sortByPosition ()
 Lexicographically sorts the peaks by their position. More...
 
bool isSorted () const
 Checks if all peaks are sorted with respect to ascending m/z. More...
 
Searching a peak or peak range
Size findNearest (CoordinateType mz) const
 Binary search for the peak nearest to a specific m/z. More...
 
Iterator MZBegin (CoordinateType mz)
 Binary search for peak range begin. More...
 
Iterator MZBegin (Iterator begin, CoordinateType mz, Iterator end)
 Binary search for peak range begin. More...
 
Iterator MZEnd (CoordinateType mz)
 Binary search for peak range end (returns the past-the-end iterator) More...
 
Iterator MZEnd (Iterator begin, CoordinateType mz, Iterator end)
 Binary search for peak range end (returns the past-the-end iterator) More...
 
ConstIterator MZBegin (CoordinateType mz) const
 Binary search for peak range begin. More...
 
ConstIterator MZBegin (ConstIterator begin, CoordinateType mz, ConstIterator end) const
 Binary search for peak range begin. More...
 
ConstIterator MZEnd (CoordinateType mz) const
 Binary search for peak range end (returns the past-the-end iterator) More...
 
ConstIterator MZEnd (ConstIterator begin, CoordinateType mz, ConstIterator end) const
 Binary search for peak range end (returns the past-the-end iterator) More...
 
- Public Member Functions inherited from RangeManager< 1 >
 RangeManager ()
 Default constructor. More...
 
 RangeManager (const RangeManager &rhs)
 Copy constructor. More...
 
virtual ~RangeManager ()
 Destructor. More...
 
RangeManageroperator= (const RangeManager &rhs)
 Assignment operator. More...
 
bool operator== (const RangeManager &rhs) const
 Equality operator. More...
 
bool operator!= (const RangeManager &rhs) const
 Equality operator. More...
 
const PositionTypegetMin () const
 Returns the minimum position. More...
 
const PositionTypegetMax () const
 Returns the maximum position. More...
 
double getMinInt () const
 Returns the minimum intensity. More...
 
double getMaxInt () const
 Returns the maximum intensity. More...
 
void clearRanges ()
 Resets the ranges. More...
 
- Public Member Functions inherited from SpectrumSettings
 SpectrumSettings ()
 Constructor. More...
 
 SpectrumSettings (const SpectrumSettings &source)
 Copy constructor. More...
 
 ~SpectrumSettings ()
 Destructor. More...
 
SpectrumSettingsoperator= (const SpectrumSettings &source)
 
bool operator== (const SpectrumSettings &rhs) const
 Equality operator. More...
 
bool operator!= (const SpectrumSettings &rhs) const
 Equality operator. More...
 
void unify (const SpectrumSettings &rhs)
 merge another spectrum setting into this one (data is usually appended, except for spectrum type which needs to be unambiguous to be kept) More...
 
SpectrumType getType () const
 returns the spectrum type More...
 
void setType (SpectrumType type)
 sets the spectrum type More...
 
const StringgetNativeID () const
 returns the native identifier for the spectrum, used by the acquisition software. More...
 
void setNativeID (const String &native_id)
 sets the native identifier for the spectrum, used by the acquisition software. More...
 
const StringgetComment () const
 returns the free-text comment More...
 
void setComment (const String &comment)
 sets the free-text comment More...
 
const InstrumentSettingsgetInstrumentSettings () const
 returns a const reference to the instrument settings of the current spectrum More...
 
InstrumentSettingsgetInstrumentSettings ()
 returns a mutable reference to the instrument settings of the current spectrum More...
 
void setInstrumentSettings (const InstrumentSettings &instrument_settings)
 sets the instrument settings of the current spectrum More...
 
const AcquisitionInfogetAcquisitionInfo () const
 returns a const reference to the acquisition info More...
 
AcquisitionInfogetAcquisitionInfo ()
 returns a mutable reference to the acquisition info More...
 
void setAcquisitionInfo (const AcquisitionInfo &acquisition_info)
 sets the acquisition info More...
 
const SourceFilegetSourceFile () const
 returns a const reference to the source file More...
 
SourceFilegetSourceFile ()
 returns a mutable reference to the source file More...
 
void setSourceFile (const SourceFile &source_file)
 sets the source file More...
 
const std::vector< Precursor > & getPrecursors () const
 returns a const reference to the precursors More...
 
std::vector< Precursor > & getPrecursors ()
 returns a mutable reference to the precursors More...
 
void setPrecursors (const std::vector< Precursor > &precursors)
 sets the precursors More...
 
const std::vector< Product > & getProducts () const
 returns a const reference to the products More...
 
std::vector< Product > & getProducts ()
 returns a mutable reference to the products More...
 
void setProducts (const std::vector< Product > &products)
 sets the products More...
 
const std::vector< PeptideIdentification > & getPeptideIdentifications () const
 returns a const reference to the PeptideIdentification vector More...
 
std::vector< PeptideIdentification > & getPeptideIdentifications ()
 returns a mutable reference to the PeptideIdentification vector More...
 
void setPeptideIdentifications (const std::vector< PeptideIdentification > &identifications)
 sets the PeptideIdentification vector More...
 
const std::vector< DataProcessing > & getDataProcessing () const
 returns a const reference to the description of the applied processing More...
 
std::vector< DataProcessing > & getDataProcessing ()
 returns a mutable reference to the description of the applied processing More...
 
void setDataProcessing (const std::vector< DataProcessing > &data_processing)
 sets the description of the applied processing More...
 
- Public Member Functions inherited from MetaInfoInterface
 MetaInfoInterface ()
 constructor More...
 
 MetaInfoInterface (const MetaInfoInterface &rhs)
 copy constructor More...
 
 ~MetaInfoInterface ()
 destructor More...
 
MetaInfoInterfaceoperator= (const MetaInfoInterface &rhs)
 assignment operator More...
 
bool operator== (const MetaInfoInterface &rhs) const
 Equality operator. More...
 
bool operator!= (const MetaInfoInterface &rhs) const
 Equality operator. More...
 
const DataValuegetMetaValue (const String &name) const
 returns the value corresponding to a string More...
 
const DataValuegetMetaValue (UInt index) const
 returns the value corresponding to an index More...
 
bool metaValueExists (const String &name) const
 returns if this MetaInfo is set More...
 
bool metaValueExists (UInt index) const
 returns if this MetaInfo is set 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...
 

Protected Attributes

double retention_time_
 Retention time. More...
 
UInt ms_level_
 MS level. More...
 
String name_
 Name. More...
 
FloatDataArrays float_data_arrays_
 Float data arrays. More...
 
StringDataArrays string_data_arrays_
 String data arrays. More...
 
IntegerDataArrays integer_data_arrays_
 Integer data arrays. More...
 
- Protected Attributes inherited from RangeManager< 1 >
IntensityRangeType int_range_
 Intensity range (1-dimensional) More...
 
PositionRangeType pos_range_
 Position range (D-dimensional) More...
 
- Protected Attributes inherited from SpectrumSettings
SpectrumType type_
 
String native_id_
 
String comment_
 
InstrumentSettings instrument_settings_
 
SourceFile source_file_
 
AcquisitionInfo acquisition_info_
 
std::vector< Precursorprecursors_
 
std::vector< Productproducts_
 
std::vector< PeptideIdentificationidentification_
 
std::vector< DataProcessingdata_processing_
 
- Protected Attributes inherited from MetaInfoInterface
MetaInfometa_
 pointer to the MetaInfo object. 0 by default More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MetaInfoInterface
static MetaInfoRegistrymetaRegistry ()
 returns a reference to the MetaInfoRegistry More...
 
- Static Public Attributes inherited from SpectrumSettings
static const std::string NamesOfSpectrumType [SIZE_OF_SPECTRUMTYPE]
 Names of spectrum types. More...
 
- Protected Member Functions inherited from RangeManager< 1 >
void updateRanges_ (const PeakIteratorType &begin, const PeakIteratorType &end)
 Updates the range using data points in the iterator range. More...
 
- Protected Member Functions inherited from MetaInfoInterface
void createIfNotExists_ ()
 creates the MetaInfo object if it does not exist More...
 

Detailed Description

template<typename PeakT = Peak1D>
class OpenMS::MSSpectrum< PeakT >

The representation of a 1D spectrum.

It contains peak data and metadata about specific instrument settings, acquisition settings, description of the meta values used in the peaks and precursor info (SpectrumSettings).

Several MSSpectrum instances are contained in a peak map (MSExperiment), which is essentially a vector of spectra with additional information about the experiment.

Precursor info from SpectrumSettings should only be used if this spectrum is a tandem-MS spectrum. The precursor spectrum is the first spectrum in MSExperiment, that has a lower MS-level than the current spectrum.

Note
For range operations, see RangeUtils module!

Member Typedef Documentation

typedef ContainerType::const_iterator ConstIterator

Non-mutable iterator.

typedef ContainerType::const_reverse_iterator ConstReverseIterator

Non-mutable reverse iterator.

typedef std::vector<PeakType> ContainerType

Spectrum base type.

Coordinate (m/z) type.

typedef std::vector<FloatDataArray> FloatDataArrays

Float data array vector type.

typedef std::vector<IntegerDataArray> IntegerDataArrays

Integer data array vector type.

typedef ContainerType::iterator Iterator

Mutable iterator.

typedef PeakT PeakType

Peak type.

typedef ContainerType::reverse_iterator ReverseIterator

Mutable reverse iterator.

typedef std::vector<StringDataArray> StringDataArrays

String data array vector type.

Constructor & Destructor Documentation

MSSpectrum ( )
inline

Constructor.

MSSpectrum ( const MSSpectrum< PeakT > &  source)
inline

Copy constructor.

~MSSpectrum ( )
inline

Destructor.

Member Function Documentation

void clear ( bool  clear_meta_data)
inline
Size findNearest ( CoordinateType  mz) const
inline

Binary search for the peak nearest to a specific m/z.

Parameters
mzThe searched for mass-to-charge ratio searched
Returns
Returns the index of the peak.
Note
Make sure the spectrum is sorted with respect to m/z! Otherwise the result is undefined.
Exceptions
Exception::Preconditionis thrown if the spectrum is empty (not only in debug mode)

Referenced by SimpleSearchEngine::computeHyperScore().

const FloatDataArrays& getFloatDataArrays ( ) const
inline
FloatDataArrays& getFloatDataArrays ( )
inline

Returns a mutable reference to the float meta data arrays.

const IntegerDataArrays& getIntegerDataArrays ( ) const
inline
IntegerDataArrays& getIntegerDataArrays ( )
inline

Returns a mutable reference to the integer meta data arrays.

UInt getMSLevel ( ) const
inline
const String& getName ( ) const
inline

Returns the name.

Referenced by PeakPickerHiRes::pick(), and PeakPickerIterative::pick().

double getRT ( ) const
inline
const StringDataArrays& getStringDataArrays ( ) const
inline
StringDataArrays& getStringDataArrays ( )
inline

Returns a mutable reference to the string meta data arrays.

bool isSorted ( ) const
inline

Checks if all peaks are sorted with respect to ascending m/z.

Referenced by MRMTransitionGroupPicker::pickTransitionGroup().

Iterator MZBegin ( CoordinateType  mz)
inline
Iterator MZBegin ( Iterator  begin,
CoordinateType  mz,
Iterator  end 
)
inline

Binary search for peak range begin.

Note
Make sure the spectrum is sorted with respect to m/z! Otherwise the result is undefined.
ConstIterator MZBegin ( CoordinateType  mz) const
inline

Binary search for peak range begin.

Note
Make sure the spectrum is sorted with respect to m/z! Otherwise the result is undefined.
ConstIterator MZBegin ( ConstIterator  begin,
CoordinateType  mz,
ConstIterator  end 
) const
inline

Binary search for peak range begin.

Note
Make sure the spectrum is sorted with respect to m/z! Otherwise the result is undefined.
Iterator MZEnd ( CoordinateType  mz)
inline

Binary search for peak range end (returns the past-the-end iterator)

Note
Make sure the spectrum is sorted with respect to m/z. Otherwise the result is undefined.

Referenced by TOPPMetaProSIP::extractPeakSpectrum(), SignalToNoiseOpenMS< PeakT >::getValueAtRT(), IsotopeWaveletTransform< PeakType >::identifyCharge(), IsotopeWaveletTransform< PeakType >::initializeScan(), and IsotopeWaveletTransform< PeakType >::TransSpectrum::MZEnd().

Iterator MZEnd ( Iterator  begin,
CoordinateType  mz,
Iterator  end 
)
inline

Binary search for peak range end (returns the past-the-end iterator)

Note
Make sure the spectrum is sorted with respect to m/z. Otherwise the result is undefined.
ConstIterator MZEnd ( CoordinateType  mz) const
inline

Binary search for peak range end (returns the past-the-end iterator)

Note
Make sure the spectrum is sorted with respect to m/z. Otherwise the result is undefined.
ConstIterator MZEnd ( ConstIterator  begin,
CoordinateType  mz,
ConstIterator  end 
) const
inline

Binary search for peak range end (returns the past-the-end iterator)

Note
Make sure the spectrum is sorted with respect to m/z. Otherwise the result is undefined.
bool operator!= ( const MSSpectrum< PeakT > &  rhs) const
inline

Equality operator.

MSSpectrum& operator= ( const MSSpectrum< PeakT > &  source)
inline

Assignment operator.

bool operator== ( const MSSpectrum< PeakT > &  rhs) const
inline

Equality operator.

Referenced by MSSpectrum< RichPeak1D >::operator!=().

void setMSLevel ( UInt  ms_level)
inline
void setName ( const String name)
inline
void setRT ( double  rt)
inline
void sortByIntensity ( bool  reverse = false)
inline

Lexicographically sorts the peaks by their intensity.

Sorts the peaks according to ascending intensity. Meta data arrays will be sorted accordingly.

Referenced by OfflinePrecursorIonSelection::makePrecursorSelectionForKnownLCMSMap(), and MRMTransitionGroupPicker::pickTransitionGroup().

void sortByPosition ( )
inline

Lexicographically sorts the peaks by their position.

The spectrum is sorted with respect to position. Meta data arrays will be sorted accordingly.

Referenced by MarkerIonExtractor::extractMarkerIons(), SimpleSearchEngine::main_(), TOPPMetaProSIP::mergeSpectra(), SpectraMerger::mergeSpectra_(), PeakPickerIterative::pick(), PeakPickerHiRes::pickExperiment(), and MRMTransitionGroupPicker::pickTransitionGroup().

virtual void updateRanges ( )
inlinevirtual

Updates minimum and maximum position/intensity.

This method is usually implemented by calling clearRanges() and updateRanges_().

Implements RangeManager< 1 >.

Member Data Documentation

FloatDataArrays float_data_arrays_
protected
IntegerDataArrays integer_data_arrays_
protected
UInt ms_level_
protected
String name_
protected
double retention_time_
protected
StringDataArrays string_data_arrays_
protected

OpenMS / TOPP release 2.0.0 Documentation generated on Tue Aug 25 2015 05:54:04 using doxygen 1.8.9.1