OpenMS  2.5.0
List of all members
LayerData Class Reference

Class that stores the data for one layer. More...

#include <OpenMS/VISUAL/LayerData.h>

Type definitions

enum  DataType {
  DT_PEAK, DT_CHROMATOGRAM, DT_FEATURE, DT_CONSENSUS,
  DT_IDENT, DT_UNKNOWN
}
 
enum  Flags {
  F_HULL, F_HULLS, F_UNASSIGNED, P_PRECURSORS,
  P_PROJECTIONS, C_ELEMENTS, I_PEPTIDEMZ, I_LABELS,
  SIZE_OF_FLAGS
}
 Flags that determine which information is shown. More...
 
enum  LabelType {
  L_NONE, L_INDEX, L_META_LABEL, L_ID,
  L_ID_ALL, SIZE_OF_LABEL_TYPE
}
 Label used in visualization. More...
 
typedef FeatureMap FeatureMapType
 Features. More...
 
typedef boost::shared_ptr< FeatureMapFeatureMapSharedPtrType
 SharedPtr on feature map. More...
 
typedef ConsensusMap ConsensusMapType
 consensus features More...
 
typedef boost::shared_ptr< ConsensusMapConsensusMapSharedPtrType
 SharedPtr on consensus features. More...
 
typedef PeakMap ExperimentType
 Main data type (experiment) More...
 
typedef boost::shared_ptr< ExperimentTypeExperimentSharedPtrType
 SharedPtr on MSExperiment. More...
 
typedef boost::shared_ptr< const ExperimentTypeConstExperimentSharedPtrType
 
typedef boost::shared_ptr< OnDiscMSExperimentODExperimentSharedPtrType
 SharedPtr on On-Disc MSExperiment. More...
 
std::bitset< SIZE_OF_FLAGSflags
 Actual state of each flag. More...
 
bool visible
 if this layer is visible More...
 
bool flipped
 if this layer is flipped (1d mirror view) More...
 
DataType type
 data type (peak or feature data) More...
 
String name
 layer name More...
 
String filename
 file name of the file the data comes from (if available) More...
 
std::vector< PeptideIdentificationpeptides
 peptide identifications More...
 
Param param
 Layer parameters. More...
 
MultiGradient gradient
 Gradient for 2D and 3D views. More...
 
DataFilters filters
 Filters to apply before painting. More...
 
std::vector< Annotations1DContainerannotations_1d
 Annotations of all spectra of the experiment (1D view) More...
 
std::vector< QColor > peak_colors_1d
 Peak colors of the currently shown spectrum. More...
 
bool modifiable
 Flag that indicates if the layer data can be modified (so far used for features only) More...
 
bool modified
 Flag that indicates that the layer data was modified since loading it. More...
 
LabelType label
 Label type. More...
 
int peptide_id_index
 Selected peptide id and hit index (-1 if none is selected) More...
 
int peptide_hit_index
 
static const std::string NamesOfLabelType [SIZE_OF_LABEL_TYPE]
 Label names. More...
 
FeatureMapSharedPtrType features
 feature data More...
 
ConsensusMapSharedPtrType consensus
 consensus feature data More...
 
ExperimentSharedPtrType peaks
 peak data More...
 
ODExperimentSharedPtrType on_disc_peaks
 on disc peak data More...
 
ExperimentSharedPtrType chromatograms
 chromatogram data More...
 
Size current_spectrum_
 Index of the current spectrum. More...
 
ExperimentType::SpectrumType cached_spectrum_
 Current cached spectrum. More...
 
 LayerData ()
 Default constructor. More...
 
const FeatureMapSharedPtrTypegetFeatureMap () const
 Returns a const reference to the current feature data. More...
 
FeatureMapSharedPtrTypegetFeatureMap ()
 Returns a const reference to the current feature data. More...
 
const ConsensusMapSharedPtrTypegetConsensusMap () const
 Returns a const reference to the consensus feature data. More...
 
ConsensusMapSharedPtrTypegetConsensusMap ()
 Returns current consensus map (mutable) More...
 
const ConstExperimentSharedPtrType getPeakData () const
 Returns a const reference to the current in-memory peak data. More...
 
const ExperimentSharedPtrTypegetPeakDataMuteable ()
 Returns a mutable reference to the current in-memory peak data. More...
 
void setPeakData (ExperimentSharedPtrType p)
 Set the current in-memory peak data. More...
 
void setOnDiscPeakData (ODExperimentSharedPtrType p)
 Set the current on-disc data. More...
 
const ODExperimentSharedPtrTypegetOnDiscPeakData () const
 Returns a mutable reference to the on-disc data. More...
 
const ExperimentSharedPtrTypegetChromatogramData () const
 Returns a mutable reference to the current chromatogram data. More...
 
ExperimentSharedPtrTypegetChromatogramData ()
 Returns a mutable reference to the current chromatogram data. More...
 
const Annotations1DContainergetCurrentAnnotations () const
 Returns a const reference to the annotations of the current spectrum (1D view) More...
 
Annotations1DContainergetCurrentAnnotations ()
 Returns a mutable reference to the annotations of the current spectrum (1D view) More...
 
const Annotations1DContainergetAnnotations (Size spectrum_index) const
 Returns a const reference to the annotations of the current spectrum (1D view) More...
 
Annotations1DContainergetAnnotations (Size spectrum_index)
 Returns a mutable reference to the annotations of the current spectrum (1D view) More...
 
const ExperimentType::SpectrumTypegetCurrentSpectrum () const
 Returns a const reference to the current spectrum (1D view) More...
 
void sortCurrentSpectrumByPosition ()
 
const ExperimentType::SpectrumType getSpectrum (Size spectrum_idx) const
 Returns a const-copy of the required spectrum which is guaranteed to be populated with raw data. More...
 
Size getCurrentSpectrumIndex () const
 Get the index of the current spectrum (1D view) More...
 
void setCurrentSpectrumIndex (Size index)
 Set the index of the current spectrum (1D view) More...
 
bool isIonMobilityData () const
 Check whether the current layer should be represented as ion mobility. More...
 
void labelAsIonMobilityData () const
 
bool isDIAData () const
 Check whether the current layer contains DIA (SWATH-MS) data. More...
 
void labelAsDIAData ()
 Label the current layer as DIA (SWATH-MS) data. More...
 
bool chromatogram_flag_set () const
 Check whether the current layer is a chromatogram. More...
 
void set_chromatogram_flag ()
 set the chromatogram flag More...
 
void remove_chromatogram_flag ()
 remove the chromatogram flag More...
 
void updateRanges ()
 Update ranges of all data structures. More...
 
void synchronizePeakAnnotations ()
 
void removePeakAnnotationsFromPeptideHit (const std::vector< Annotation1DItem * > &selected_annotations)
 remove peak annotations in the given list from the currently active PeptideHit More...
 
void updateCache_ ()
 Update current cached spectrum for easy retrieval. More...
 
void updatePeptideHitAnnotations_ (PeptideHit &hit)
 updates the PeakAnnotations in the current PeptideHit with manually changed annotations More...
 

Detailed Description

Class that stores the data for one layer.

The data for a layer can be peak data, feature data (feature, consensus), chromatogram or peptide identification data.

For 2D and 3D data, the data is generally accessible through getPeakData() while features are accessible through getFeatureMap() and getConsensusMap(). For 1D data, the current spectrum must be accessed through getCurrentSpectrum().

Peak data is stored using a shared pointer to an MSExperiment data structure as well as a shared pointer to a OnDiscMSExperiment data structure. Note that the actual data may not be in memory as this is not efficient for large files and therefore may have to be retrieved from disk on-demand.

Note
The spectrum for 1D viewing retrieved through getCurrentSpectrum() is a copy of the actual raw data and *different* from the one retrieved through getPeakData()[index]. Any changes to applied to getCurrentSpectrum() are non-persistent and will be gone the next time the cache is updated. Persistent changes can be applied to getPeakDataMuteable() and will be available on the next cache update.
Layer is mainly used as a member variable of SpectrumCanvas which holds a vector of LayerData objects.

Member Typedef Documentation

◆ ConsensusMapSharedPtrType

typedef boost::shared_ptr<ConsensusMap> ConsensusMapSharedPtrType

SharedPtr on consensus features.

◆ ConsensusMapType

consensus features

◆ ConstExperimentSharedPtrType

typedef boost::shared_ptr<const ExperimentType> ConstExperimentSharedPtrType

◆ ExperimentSharedPtrType

typedef boost::shared_ptr<ExperimentType> ExperimentSharedPtrType

SharedPtr on MSExperiment.

◆ ExperimentType

Main data type (experiment)

◆ FeatureMapSharedPtrType

typedef boost::shared_ptr<FeatureMap > FeatureMapSharedPtrType

SharedPtr on feature map.

◆ FeatureMapType

Features.

◆ ODExperimentSharedPtrType

typedef boost::shared_ptr<OnDiscMSExperiment> ODExperimentSharedPtrType

SharedPtr on On-Disc MSExperiment.

Member Enumeration Documentation

◆ DataType

enum DataType

Dataset types. Order in the enum determines the order in which layer types are drawn.

Enumerator
DT_PEAK 

Spectrum profile or centroided data.

DT_CHROMATOGRAM 

Chromatogram data.

DT_FEATURE 

Feature data.

DT_CONSENSUS 

Consensus feature data.

DT_IDENT 

Peptide identification data.

DT_UNKNOWN 

Undefined data type indicating an error.

◆ Flags

enum Flags

Flags that determine which information is shown.

Enumerator
F_HULL 

Features: Overall convex hull.

F_HULLS 

Features: Convex hulls of single mass traces.

F_UNASSIGNED 

Features: Unassigned peptide hits.

P_PRECURSORS 

Peaks: Mark precursor peaks of MS/MS scans.

P_PROJECTIONS 

Peaks: Show projections.

C_ELEMENTS 

Consensus features: Show elements.

I_PEPTIDEMZ 

Identifications: m/z source.

I_LABELS 

Identifications: Show labels (not sequences)

SIZE_OF_FLAGS 

◆ LabelType

enum LabelType

Label used in visualization.

Enumerator
L_NONE 

No label is displayed.

L_INDEX 

The element number is used.

L_META_LABEL 

The 'label' meta information is used.

L_ID 

The best peptide hit of the first identification run is used.

L_ID_ALL 

All peptide hits of the first identification run are used.

SIZE_OF_LABEL_TYPE 

Constructor & Destructor Documentation

◆ LayerData()

LayerData ( )
inline

Default constructor.

References LayerData::annotations_1d.

Member Function Documentation

◆ chromatogram_flag_set()

bool chromatogram_flag_set ( ) const
inline

Check whether the current layer is a chromatogram.

This is needed because type will *not* distinguish properly between chromatogram and spectra data. This is due to the fact that we store chromatograms for display in 1D in a data layer using MSSpectrum and so the layer looks like PEAK data to tools.

References LayerData::getPeakData().

Referenced by LayerData::remove_chromatogram_flag(), and TOPPViewBase::runTOPPTool_().

◆ getAnnotations() [1/2]

Annotations1DContainer& getAnnotations ( Size  spectrum_index)
inline

Returns a mutable reference to the annotations of the current spectrum (1D view)

References LayerData::annotations_1d.

◆ getAnnotations() [2/2]

const Annotations1DContainer& getAnnotations ( Size  spectrum_index) const
inline

Returns a const reference to the annotations of the current spectrum (1D view)

References LayerData::annotations_1d.

◆ getChromatogramData() [1/2]

ExperimentSharedPtrType& getChromatogramData ( )
inline

Returns a mutable reference to the current chromatogram data.

References LayerData::chromatograms.

◆ getChromatogramData() [2/2]

const ExperimentSharedPtrType& getChromatogramData ( ) const
inline

Returns a mutable reference to the current chromatogram data.

References LayerData::chromatograms.

◆ getConsensusMap() [1/2]

ConsensusMapSharedPtrType& getConsensusMap ( )
inline

Returns current consensus map (mutable)

References LayerData::consensus.

◆ getConsensusMap() [2/2]

const ConsensusMapSharedPtrType& getConsensusMap ( ) const
inline

Returns a const reference to the consensus feature data.

References LayerData::consensus.

Referenced by TOPPViewBase::annotateWithID(), TOPPViewBase::copyLayer(), TOPPViewBase::fileChanged_(), and TOPPViewBase::runTOPPTool_().

◆ getCurrentAnnotations() [1/2]

Annotations1DContainer& getCurrentAnnotations ( )
inline

Returns a mutable reference to the annotations of the current spectrum (1D view)

References LayerData::annotations_1d, and LayerData::current_spectrum_.

◆ getCurrentAnnotations() [2/2]

const Annotations1DContainer& getCurrentAnnotations ( ) const
inline

Returns a const reference to the annotations of the current spectrum (1D view)

References LayerData::annotations_1d, and LayerData::current_spectrum_.

◆ getCurrentSpectrum()

const ExperimentType::SpectrumType& getCurrentSpectrum ( ) const

Returns a const reference to the current spectrum (1D view)

Note
Only use this function to access the current spectrum for the 1D view

Referenced by TOPPViewBase::showCurrentPeaksAsDIA(), and TOPPViewBase::showCurrentPeaksAsIonMobility().

◆ getCurrentSpectrumIndex()

Size getCurrentSpectrumIndex ( ) const
inline

Get the index of the current spectrum (1D view)

References LayerData::current_spectrum_.

Referenced by TOPPViewBase::runTOPPTool_(), and TOPPViewBase::showCurrentPeaksAsIonMobility().

◆ getFeatureMap() [1/2]

FeatureMapSharedPtrType& getFeatureMap ( )
inline

Returns a const reference to the current feature data.

References LayerData::features.

◆ getFeatureMap() [2/2]

const FeatureMapSharedPtrType& getFeatureMap ( ) const
inline

Returns a const reference to the current feature data.

References LayerData::features.

Referenced by TOPPViewBase::annotateWithID(), TOPPViewBase::copyLayer(), TOPPViewBase::fileChanged_(), and TOPPViewBase::runTOPPTool_().

◆ getOnDiscPeakData()

const ODExperimentSharedPtrType& getOnDiscPeakData ( ) const
inline

Returns a mutable reference to the on-disc data.

References LayerData::on_disc_peaks.

Referenced by TOPPViewBase::copyLayer(), TOPPViewBase::showCurrentPeaksAs2D(), and TOPPViewBase::showCurrentPeaksAsDIA().

◆ getPeakData()

const ConstExperimentSharedPtrType getPeakData ( ) const

Returns a const reference to the current in-memory peak data.

Note
Depending on the caching strategy (on-disk or in-memory), all or some spectra may have zero size and contain only meta data since peak data is cached on disk.
Do *not* use this function to access the current spectrum for the 1D view

Referenced by TOPPViewBase::addData(), LayerData::chromatogram_flag_set(), TOPPViewBase::copyLayer(), TOPPViewBase::enhancedWorkspaceWindowChanged(), LayerData::isDIAData(), LayerData::isIonMobilityData(), TOPPViewBase::layerZoomChanged(), TOPPViewBase::runTOPPTool_(), and TOPPViewBase::showCurrentPeaksAsDIA().

◆ getPeakDataMuteable()

const ExperimentSharedPtrType& getPeakDataMuteable ( )
inline

Returns a mutable reference to the current in-memory peak data.

Note
Depending on the caching strategy (on-disk or in-memory), all or some spectra may have zero size and contain only meta data since peak data is cached on disk.
Do *not* use this function to access the current spectrum for the 1D view

References LayerData::peaks.

Referenced by TOPPViewBase::annotateMS1FromMassFingerprinting_(), TOPPViewBase::annotateWithID(), TOPPViewBase::copyLayer(), TOPPViewBase::fileChanged_(), TOPPViewBase::showCurrentPeaksAs2D(), and TOPPViewBase::showCurrentPeaksAs3D().

◆ getSpectrum()

const ExperimentType::SpectrumType getSpectrum ( Size  spectrum_idx) const
inline

Returns a const-copy of the required spectrum which is guaranteed to be populated with raw data.

References LayerData::cached_spectrum_, LayerData::current_spectrum_, LayerData::on_disc_peaks, and LayerData::peaks.

◆ isDIAData()

bool isDIAData ( ) const
inline

Check whether the current layer contains DIA (SWATH-MS) data.

References LayerData::getPeakData().

Referenced by TOPPViewBase::showCurrentPeaksAsDIA().

◆ isIonMobilityData()

bool isIonMobilityData ( ) const
inline

Check whether the current layer should be represented as ion mobility.

References LayerData::getPeakData().

Referenced by TOPPViewBase::showCurrentPeaksAs3D().

◆ labelAsDIAData()

void labelAsDIAData ( )
inline

Label the current layer as DIA (SWATH-MS) data.

References LayerData::peaks.

◆ labelAsIonMobilityData()

void labelAsIonMobilityData ( ) const
inline

References LayerData::peaks.

◆ remove_chromatogram_flag()

void remove_chromatogram_flag ( )
inline

remove the chromatogram flag

References LayerData::chromatogram_flag_set(), and LayerData::peaks.

Referenced by TOPPViewBase::runTOPPTool_().

◆ removePeakAnnotationsFromPeptideHit()

void removePeakAnnotationsFromPeptideHit ( const std::vector< Annotation1DItem * > &  selected_annotations)

remove peak annotations in the given list from the currently active PeptideHit

◆ set_chromatogram_flag()

void set_chromatogram_flag ( )
inline

set the chromatogram flag

References LayerData::peaks.

◆ setCurrentSpectrumIndex()

void setCurrentSpectrumIndex ( Size  index)
inline

Set the index of the current spectrum (1D view)

References LayerData::current_spectrum_, and LayerData::updateCache_().

◆ setOnDiscPeakData()

void setOnDiscPeakData ( ODExperimentSharedPtrType  p)
inline

Set the current on-disc data.

References LayerData::on_disc_peaks.

◆ setPeakData()

void setPeakData ( ExperimentSharedPtrType  p)
inline

Set the current in-memory peak data.

References LayerData::peaks, and LayerData::updateCache_().

◆ sortCurrentSpectrumByPosition()

void sortCurrentSpectrumByPosition ( )
inline

◆ synchronizePeakAnnotations()

void synchronizePeakAnnotations ( )

updates the PeakAnnotations in the current PeptideHit with manually changed annotations if no PeptideIdentification or PeptideHit for the spectrum exist, it is generated

◆ updateCache_()

void updateCache_ ( )
private

Update current cached spectrum for easy retrieval.

Referenced by LayerData::setCurrentSpectrumIndex(), and LayerData::setPeakData().

◆ updatePeptideHitAnnotations_()

void updatePeptideHitAnnotations_ ( PeptideHit hit)
private

updates the PeakAnnotations in the current PeptideHit with manually changed annotations

◆ updateRanges()

void updateRanges ( )

Update ranges of all data structures.

Updates ranges of all tracked data structures (spectra, chromatograms, features etc).

Member Data Documentation

◆ annotations_1d

std::vector<Annotations1DContainer> annotations_1d

Annotations of all spectra of the experiment (1D view)

Referenced by LayerData::getAnnotations(), LayerData::getCurrentAnnotations(), and LayerData::LayerData().

◆ cached_spectrum_

ExperimentType::SpectrumType cached_spectrum_
private

Current cached spectrum.

Referenced by LayerData::getSpectrum(), and LayerData::sortCurrentSpectrumByPosition().

◆ chromatograms

ExperimentSharedPtrType chromatograms
private

chromatogram data

Referenced by LayerData::getChromatogramData().

◆ consensus

ConsensusMapSharedPtrType consensus
private

consensus feature data

Referenced by LayerData::getConsensusMap().

◆ current_spectrum_

Size current_spectrum_
private

◆ features

FeatureMapSharedPtrType features
private

feature data

Referenced by LayerData::getFeatureMap().

◆ filename

String filename

◆ filters

DataFilters filters

◆ flags

std::bitset<SIZE_OF_FLAGS> flags

Actual state of each flag.

◆ flipped

bool flipped

if this layer is flipped (1d mirror view)

Referenced by TOPPViewBase::updateLayerBar().

◆ gradient

MultiGradient gradient

Gradient for 2D and 3D views.

◆ label

LabelType label

Label type.

Referenced by TOPPViewBase::updateToolBar().

◆ modifiable

bool modifiable

Flag that indicates if the layer data can be modified (so far used for features only)

◆ modified

bool modified

Flag that indicates that the layer data was modified since loading it.

Referenced by TOPPViewBase::updateLayerBar().

◆ name

String name

◆ NamesOfLabelType

const std::string NamesOfLabelType[SIZE_OF_LABEL_TYPE]
static

◆ on_disc_peaks

ODExperimentSharedPtrType on_disc_peaks
private

◆ param

Param param

Layer parameters.

Referenced by TOPPViewBase::loadFiles(), and TOPPViewBase::updateLayerBar().

◆ peak_colors_1d

std::vector<QColor> peak_colors_1d

Peak colors of the currently shown spectrum.

◆ peaks

ExperimentSharedPtrType peaks
private

◆ peptide_hit_index

int peptide_hit_index

◆ peptide_id_index

int peptide_id_index

Selected peptide id and hit index (-1 if none is selected)

◆ peptides

std::vector<PeptideIdentification> peptides

peptide identifications

Referenced by TOPPViewBase::copyLayer().

◆ type

DataType type

◆ visible

bool visible