OpenMS
Loading...
Searching...
No Matches
MetaDataBrowser.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Marc Sturm $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11// OpenMS_GUI config
12#include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
13
17
18//QT
19#include <QtWidgets/QDialog>
20#include <QtWidgets/QTreeWidget>
21class QTreeWidgetItem;
22class QPushButton;
23class QStackedWidget;
24class QHBoxLayout;
25class QVBoxLayout;
26class QGridLayout;
27
28namespace OpenMS
29{
30 class BaseVisualizerGUI;
31 class Acquisition;
32 class AcquisitionInfo;
33 class ContactPerson;
34 class ExperimentalSettings;
35 class Gradient;
36 class HPLC;
37 class PeptideIdentification;
38 class Instrument;
39 class IonDetector;
40 class IonSource;
41 class MassAnalyzer;
42 class MetaInfo;
43 class MetaInfoDescription;
44 class MetaInfoInterface;
45 class MetaInfoRegistry;
46 class PeptideHit;
47 class Precursor;
48 class DataProcessing;
49 class ProteinHit;
50 class ProteinIdentification;
51 class Sample;
52 class Software;
53 class SourceFile;
54 class SpectrumSettings;
55 class DocumentIdentifier;
56 class Product;
57
73 class OPENMS_GUI_DLLAPI MetaDataBrowser :
74 public QDialog
75 {
76 Q_OBJECT
77
78public:
79
81 MetaDataBrowser(bool editable = false, QWidget * parent = nullptr, bool modal = false);
82
84 void add(PeakMap & exp)
85 {
86 add(static_cast<ExperimentalSettings &>(exp));
87 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
88 }
89
91 void add(MSSpectrum & spectrum)
92 {
93 //spectrum settings
94 add(static_cast<SpectrumSettings &>(spectrum));
95
96 //MetaInfoDescriptions
97 for (Size i = 0; i < spectrum.getFloatDataArrays().size(); ++i)
98 {
99 add(spectrum.getFloatDataArrays()[i]);
100 }
101 for (Size i = 0; i < spectrum.getIntegerDataArrays().size(); ++i)
102 {
103 add(spectrum.getIntegerDataArrays()[i]);
104 }
105 for (Size i = 0; i < spectrum.getStringDataArrays().size(); ++i)
106 {
107 add(spectrum.getStringDataArrays()[i]);
108 }
109
110 add(static_cast<MetaInfoInterface &>(spectrum));
111
112 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
113 }
114
116 void add(FeatureMap& map)
117 {
118 //identifier
119 add(static_cast<DocumentIdentifier &>(map));
120
121 //protein ids
122 for (Size i = 0; i < map.getProteinIdentifications().size(); ++i)
123 {
124 add(map.getProteinIdentifications()[i]);
125 }
126
127 //unassigned peptide ids
128 for (Size i = 0; i < map.getUnassignedPeptideIdentifications().size(); ++i)
129 {
131 }
132
133 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
134 }
135
137 void add(Feature & feature);
139 void add(ConsensusFeature & feature);
140
142 void add(ConsensusMap & map);
143
149 template <class MetaDataType>
150 void add(MetaDataType & meta_data_object)
151 {
152 visualize_(meta_data_object);
153 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
154 }
155
157 bool isEditable() const;
158
162
163public slots:
164
166 void setStatus(const std::string& status);
167
168protected slots:
169
172
174 void saveAll_();
175
176protected:
177
179
180 void visualize_(ExperimentalSettings & meta, QTreeWidgetItem * parent = nullptr);
181 void visualize_(SpectrumSettings & meta, QTreeWidgetItem * parent = nullptr);
182 void visualize_(MetaInfoInterface & meta, QTreeWidgetItem * parent = nullptr);
183 void visualize_(Sample & meta, QTreeWidgetItem * parent = nullptr);
184 void visualize_(HPLC & meta, QTreeWidgetItem * parent = nullptr);
185 void visualize_(Gradient & meta, QTreeWidgetItem * parent = nullptr);
186 void visualize_(Software & meta, QTreeWidgetItem * parent = nullptr);
187 void visualize_(ScanWindow & meta, QTreeWidgetItem * parent = nullptr);
188 void visualize_(SourceFile & meta, QTreeWidgetItem * parent = nullptr);
189 void visualize_(ContactPerson & meta, QTreeWidgetItem * parent = nullptr);
190 void visualize_(Instrument & meta, QTreeWidgetItem * parent = nullptr);
191 void visualize_(IonSource & meta, QTreeWidgetItem * parent = nullptr);
192 void visualize_(IonDetector & meta, QTreeWidgetItem * parent = nullptr);
193 void visualize_(MassAnalyzer & meta, QTreeWidgetItem * parent = nullptr);
194 void visualize_(DataProcessingPtr & meta, QTreeWidgetItem * parent = nullptr);
195 void visualize_(ProteinIdentification & meta, QTreeWidgetItem * parent = nullptr);
196 void visualize_(ProteinHit & meta, QTreeWidgetItem * parent = nullptr);
197 void visualize_(PeptideHit & meta, QTreeWidgetItem * parent = nullptr);
198 void visualize_(Acquisition & meta, QTreeWidgetItem * parent = nullptr);
199 void visualize_(AcquisitionInfo & meta, QTreeWidgetItem * parent = nullptr);
200 void visualize_(MetaInfoDescription & meta, QTreeWidgetItem * parent = nullptr);
201 void visualize_(Precursor & meta, QTreeWidgetItem * parent = nullptr);
202 void visualize_(Product & meta, QTreeWidgetItem * parent = nullptr);
203 void visualize_(InstrumentSettings & meta, QTreeWidgetItem * parent = nullptr);
204 void visualize_(PeptideIdentification & meta, QTreeWidgetItem * parent = nullptr);
205 void visualize_(DocumentIdentifier & meta, QTreeWidgetItem * parent = nullptr);
207
209 template <typename ContainerType>
210 void visualizeAll_(ContainerType & container, QTreeWidgetItem * parent)
211 {
212 for (typename ContainerType::iterator it = container.begin(); it != container.end(); ++it)
213 {
214 visualize_(*it, parent);
215 }
216 }
217
220
222 void filterHits_(double threshold, bool higher_better, int tree_item_id);
224 void showAllHits_(int tree_item_id);
225
227 std::string status_list_;
228
231
233 QStackedWidget * ws_;
235 QPushButton * saveallbutton_;
237 QPushButton * closebutton_;
239 QPushButton * cancelbutton_;
241 QPushButton * undobutton_;
242
245 };
246}
Description of the combination of raw data to a single spectrum.
Definition AcquisitionInfo.h:29
Information about one raw data spectrum that was combined with several other raw data spectra.
Definition Acquisition.h:25
A base class for all visualizer classes.
Definition BaseVisualizerGUI.h:40
A consensus feature spanning multiple LC-MS/MS experiments.
Definition ConsensusFeature.h:45
A container for consensus elements.
Definition ConsensusMap.h:68
Contact person information.
Definition ContactPerson.h:23
Manage source document information.
Definition DocumentIdentifier.h:30
Description of the experimental settings.
Definition ExperimentalSettings.h:36
A container for features.
Definition FeatureMap.h:82
const PeptideIdentificationList & getUnassignedPeptideIdentifications() const
non-mutable access to the unassigned peptide identifications
const std::vector< ProteinIdentification > & getProteinIdentifications() const
An LC-MS feature.
Definition Feature.h:46
Representation of a HPLC gradient.
Definition Gradient.h:27
Representation of a HPLC experiment.
Definition HPLC.h:25
Description of the settings a MS Instrument was run with.
Definition InstrumentSettings.h:24
Description of a MS instrument.
Definition Instrument.h:40
Description of a ion detector (part of a MS Instrument)
Definition IonDetector.h:25
Description of an ion source (part of a MS Instrument)
Definition IonSource.h:27
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
const IntegerDataArrays & getIntegerDataArrays() const
Returns a const reference to the integer meta data arrays.
const StringDataArrays & getStringDataArrays() const
Returns a const reference to the string meta data arrays.
const FloatDataArrays & getFloatDataArrays() const
Returns a const reference to the float meta data arrays.
Description of a mass analyzer (part of a MS Instrument)
Definition MassAnalyzer.h:27
A meta data visualization widget.
Definition MetaDataBrowser.h:75
bool isEditable() const
Check if mode is editable or not.
void visualize_(PeptideHit &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(SpectrumSettings &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(InstrumentSettings &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Gradient &meta, QTreeWidgetItem *parent=nullptr)
QPushButton * cancelbutton_
Cancel Button.
Definition MetaDataBrowser.h:239
void visualize_(Sample &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Instrument &meta, QTreeWidgetItem *parent=nullptr)
void filterHits_(double threshold, bool higher_better, int tree_item_id)
Filters hits according to a score threshold. Takes the score orientation into account.
void visualize_(AcquisitionInfo &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ProteinIdentification &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ExperimentalSettings &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ProteinHit &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ContactPerson &meta, QTreeWidgetItem *parent=nullptr)
void add(ConsensusMap &map)
Adds a consensus map.
void visualize_(IonSource &meta, QTreeWidgetItem *parent=nullptr)
std::string status_list_
A list of setting errors due to invalid formats.
Definition MetaDataBrowser.h:227
void visualizeAll_(ContainerType &container, QTreeWidgetItem *parent)
Visualizes all elements of a container.
Definition MetaDataBrowser.h:210
MetaDataBrowser(bool editable=false, QWidget *parent=nullptr, bool modal=false)
Constructor with flag for edit mode.
QStackedWidget * ws_
A widgetstack that keeps track of all widgets.
Definition MetaDataBrowser.h:233
void showAllHits_(int tree_item_id)
Shows hits.
void add(Feature &feature)
Adds a feature.
QTreeWidget * treeview_
The tree.
Definition MetaDataBrowser.h:244
QPushButton * saveallbutton_
Save button.
Definition MetaDataBrowser.h:235
void visualize_(Precursor &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(MetaInfoDescription &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(MetaInfoInterface &meta, QTreeWidgetItem *parent=nullptr)
void setStatus(const std::string &status)
Set a list of error strings due to invalid date format.
QPushButton * closebutton_
Close Button.
Definition MetaDataBrowser.h:237
void saveAll_()
Saves all changes and close explorer.
bool editable_
Indicates the mode.
Definition MetaDataBrowser.h:230
void visualize_(SourceFile &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(PeptideIdentification &meta, QTreeWidgetItem *parent=nullptr)
void add(FeatureMap &map)
Adds a feature map.
Definition MetaDataBrowser.h:116
QPushButton * undobutton_
Undo Button.
Definition MetaDataBrowser.h:241
void visualize_(IonDetector &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Software &meta, QTreeWidgetItem *parent=nullptr)
void showDetails_()
Raises the corresponding viewer from the widget stack according to the item selected in the tree.
void add(PeakMap &exp)
Adds a peak map.
Definition MetaDataBrowser.h:84
void visualize_(DocumentIdentifier &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Acquisition &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Product &meta, QTreeWidgetItem *parent=nullptr)
void add(MSSpectrum &spectrum)
Adds a peak spectrum.
Definition MetaDataBrowser.h:91
void visualize_(ScanWindow &meta, QTreeWidgetItem *parent=nullptr)
void add(MetaDataType &meta_data_object)
A generic function to add data.
Definition MetaDataBrowser.h:150
void add(ConsensusFeature &feature)
Adds a consensus feature.
void visualize_(HPLC &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(MassAnalyzer &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(DataProcessingPtr &meta, QTreeWidgetItem *parent=nullptr)
void connectVisualizer_(BaseVisualizerGUI *ptr)
Connects the Signals of all visualiser classes with Slot setStatus()
Description of the meta data arrays of MSSpectrum.
Definition MetaInfoDescription.h:25
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition MetaInfoInterface.h:36
Represents a single spectrum match (candidate) for a specific tandem mass spectrum (MS/MS).
Definition PeptideHit.h:52
Class that displays all meta information for PeptideIdentification objects.
Definition PeptideIdentificationVisualizer.h:31
Represents the set of candidates (SpectrumMatches) identified for a single precursor spectrum.
Definition PeptideIdentification.h:64
Precursor meta information.
Definition Precursor.h:37
Product meta information.
Definition Product.h:26
Representation of a protein hit.
Definition ProteinHit.h:35
Class that displays all meta information for ProteinIdentification objects.
Definition ProteinIdentificationVisualizer.h:31
Representation of a protein identification run.
Definition ProteinIdentification.h:54
Meta information about the sample.
Definition Sample.h:30
Description of the software used for processing.
Definition Software.h:26
Description of a file location, used to store the origin of (meta) data.
Definition SourceFile.h:23
Representation of 1D spectrum settings.
Definition SpectrumSettings.h:44
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::shared_ptr< DataProcessing > DataProcessingPtr
Definition DataProcessing.h:123
@ Precursor
Precursor ion.
Scan window description.
Definition ScanWindow.h:22