OpenMS  2.7.0
List of all members
LayerData Class Reference

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

#include <OpenMS/VISUAL/LayerData.h>

Collaboration diagram for LayerData:
[legend]

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...
 
typedef boost::shared_ptr< OSWDataOSWDataSharedPtrType
 SharedPtr on OSWData. 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 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...
 
String name_
 layer name More...
 
FeatureMapSharedPtrType features_
 feature data More...
 
ConsensusMapSharedPtrType consensus_map_
 consensus feature data More...
 
ExperimentSharedPtrType peak_map_
 peak data More...
 
ODExperimentSharedPtrType on_disc_peaks
 on disc peak data More...
 
ExperimentSharedPtrType chromatogram_map_
 chromatogram data More...
 
OSWDataSharedPtrType chrom_annotation_
 Chromatogram annotation data. More...
 
Size current_spectrum_idx_
 Index of the current spectrum. More...
 
ExperimentType::SpectrumType cached_spectrum_
 Current cached spectrum. More...
 
 LayerData ()
 Default constructor. More...
 
 LayerData (const LayerData &ld)=delete
 no Copy-ctor (should not be needed) More...
 
LayerDataoperator= (const LayerData &ld)=delete
 no assignment operator (should not be needed) More...
 
 LayerData (LayerData &&ld)=default
 move Ctor More...
 
LayerDataoperator= (LayerData &&ld)=default
 move assignment 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...
 
OSWDataSharedPtrTypegetChromatogramAnnotation ()
 
const OSWDataSharedPtrTypegetChromatogramAnnotation () const
 
void setChromatogramAnnotation (OSWData &&data)
 add annotation from an OSW sqlite file. More...
 
bool annotate (const std::vector< PeptideIdentification > &identifications, const std::vector< ProteinIdentification > &protein_identifications)
 
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...
 
ExperimentSharedPtrType getFullChromData ()
 
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...
 
float getMinIntensity () const
 Returns the minimum intensity of the internal data, depending on type. More...
 
float getMaxIntensity () const
 Returns the maximum intensity of the internal data, depending on type. More...
 
void synchronizePeakAnnotations ()
 
void removePeakAnnotationsFromPeptideHit (const std::vector< Annotation1DItem * > &selected_annotations)
 remove peak annotations in the given list from the currently active PeptideHit More...
 
const StringgetName () const
 
void setName (const String &new_name)
 
String getDecoratedName () const
 get name augmented with attributes, e.g. [flipped], or '*' if modified 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 PlotCanvas 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.

◆ OSWDataSharedPtrType

typedef boost::shared_ptr<OSWData> OSWDataSharedPtrType

SharedPtr on OSWData.

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() [1/3]

LayerData ( )

Default constructor.

◆ LayerData() [2/3]

LayerData ( const LayerData ld)
delete

no Copy-ctor (should not be needed)

◆ LayerData() [3/3]

LayerData ( LayerData &&  ld)
default

move Ctor

Member Function Documentation

◆ annotate()

bool annotate ( const std::vector< PeptideIdentification > &  identifications,
const std::vector< ProteinIdentification > &  protein_identifications 
)

add peptide identifications to the layer Only supported for DT_PEAK, DT_FEATURE and DT_CONSENSUS. Will return false otherwise.

◆ 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.

Referenced by TOPPViewBase::layerZoomChanged(), 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)

◆ getAnnotations() [2/2]

const Annotations1DContainer& getAnnotations ( Size  spectrum_index) const
inline

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

◆ getChromatogramAnnotation() [1/2]

OSWDataSharedPtrType& getChromatogramAnnotation ( )

get annotation (e.g. to build a hierachical ID View) Not const, because we might have incomplete data, which needs to be loaded from sql source

◆ getChromatogramAnnotation() [2/2]

const OSWDataSharedPtrType& getChromatogramAnnotation ( ) const

get annotation (e.g. to build a hierachical ID View) Not actually const (only the pointer, not the data), because we might have incomplete data, which needs to be loaded from sql source

◆ getChromatogramData() [1/2]

ExperimentSharedPtrType& getChromatogramData ( )
inline

Returns a mutable reference to the current chromatogram data.

◆ getChromatogramData() [2/2]

const ExperimentSharedPtrType& getChromatogramData ( ) const
inline

Returns a mutable reference to the current chromatogram data.

Referenced by TOPPViewBase::updateMenu().

◆ getConsensusMap() [1/2]

ConsensusMapSharedPtrType& getConsensusMap ( )
inline

Returns current consensus map (mutable)

◆ getConsensusMap() [2/2]

const ConsensusMapSharedPtrType& getConsensusMap ( ) const
inline

Returns a const reference to the consensus feature data.

Referenced by 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)

◆ getCurrentAnnotations() [2/2]

const Annotations1DContainer& getCurrentAnnotations ( ) const
inline

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

◆ 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)

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

◆ getDecoratedName()

String getDecoratedName ( ) const

get name augmented with attributes, e.g. [flipped], or '*' if modified

◆ getFeatureMap() [1/2]

FeatureMapSharedPtrType& getFeatureMap ( )
inline

Returns a const reference to the current feature data.

◆ getFeatureMap() [2/2]

const FeatureMapSharedPtrType& getFeatureMap ( ) const
inline

Returns a const reference to the current feature data.

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

◆ getFullChromData()

ExperimentSharedPtrType getFullChromData ( )
inline

get the full chromExperiment Could be backed up in layer.getChromatogramData() (if layer.getPeakDataMuteable() shows converted chroms already) ... or layer.getChromatogramData() is empty and thus layer.getPeakDataMuteable() is the original chrom data

◆ getMaxIntensity()

float getMaxIntensity ( ) const

Returns the maximum intensity of the internal data, depending on type.

◆ getMinIntensity()

float getMinIntensity ( ) const

Returns the minimum intensity of the internal data, depending on type.

◆ getName()

const String& getName ( ) const
inline

◆ getOnDiscPeakData()

const ODExperimentSharedPtrType& getOnDiscPeakData ( ) const
inline

Returns a mutable reference to the on-disc data.

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, use getCurrentSpectrum() instead.

Referenced by TOPPViewBase::addData(), 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, use getCurrentSpectrum() instead.

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

◆ getSpectrum()

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.

◆ isDIAData()

bool isDIAData ( ) const
inline

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

Referenced by TOPPViewBase::showCurrentPeaksAsDIA().

◆ isIonMobilityData()

bool isIonMobilityData ( ) const
inline

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

Referenced by TOPPViewBase::showCurrentPeaksAs3D().

◆ labelAsDIAData()

void labelAsDIAData ( )
inline

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

◆ labelAsIonMobilityData()

void labelAsIonMobilityData ( ) const
inline

◆ operator=() [1/2]

LayerData& operator= ( const LayerData ld)
delete

no assignment operator (should not be needed)

◆ operator=() [2/2]

LayerData& operator= ( LayerData &&  ld)
default

move assignment

◆ remove_chromatogram_flag()

void remove_chromatogram_flag ( )
inline

remove the chromatogram flag

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

◆ setChromatogramAnnotation()

void setChromatogramAnnotation ( OSWData &&  data)

add annotation from an OSW sqlite file.

◆ setCurrentSpectrumIndex()

void setCurrentSpectrumIndex ( Size  index)
inline

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

◆ setName()

void setName ( const String new_name)
inline

◆ setOnDiscPeakData()

void setOnDiscPeakData ( ODExperimentSharedPtrType  p)
inline

Set the current on-disc data.

◆ setPeakData()

void setPeakData ( ExperimentSharedPtrType  p)
inline

Set the current in-memory peak data.

◆ 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.

◆ 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)

◆ cached_spectrum_

ExperimentType::SpectrumType cached_spectrum_
private

Current cached spectrum.

◆ chrom_annotation_

OSWDataSharedPtrType chrom_annotation_
private

Chromatogram annotation data.

◆ chromatogram_map_

ExperimentSharedPtrType chromatogram_map_
private

chromatogram data

◆ consensus_map_

ConsensusMapSharedPtrType consensus_map_
private

consensus feature data

◆ current_spectrum_idx_

Size current_spectrum_idx_
private

Index of the current spectrum.

◆ features_

FeatureMapSharedPtrType features_
private

feature data

◆ filename

String filename

◆ filters

DataFilters filters

Filters to apply before painting.

◆ flags

std::bitset<SIZE_OF_FLAGS> flags

Actual state of each flag.

◆ flipped

bool flipped

if this layer is flipped (1d mirror view)

◆ 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.

◆ name_

String name_
private

layer name

◆ NamesOfLabelType

const std::string NamesOfLabelType[SIZE_OF_LABEL_TYPE]
static

◆ on_disc_peaks

ODExperimentSharedPtrType on_disc_peaks
private

on disc peak data

◆ param

Param param

Layer parameters.

Referenced by TOPPViewBase::loadFiles().

◆ peak_colors_1d

std::vector<QColor> peak_colors_1d

Peak colors of the currently shown spectrum.

◆ peak_map_

ExperimentSharedPtrType peak_map_
private

peak data

◆ 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