OpenMS
SpectraIDViewTab Class Reference

Tabular visualization / selection of identified spectra. More...

#include <OpenMS/VISUAL/SpectraIDViewTab.h>

Inheritance diagram for SpectraIDViewTab:
[legend]
Collaboration diagram for SpectraIDViewTab:
[legend]

Classes

class  SelfResizingTableView_
 

Signals

void spectrumSelected (int spectrum_index, int pep_id_index, int pep_hit_index)
 request to show a specific spectrum, and (if available) a specific pepId + pepHit in there (otherwise -1, -1) More...
 
void spectrumDeselected (int spectrum_index)
 request to unshow a spectrum More...
 
void requestVisibleArea1D (double lower_mz, double upper_mz)
 request to zoom into a 1D spec More...
 

Public Member Functions

 SpectraIDViewTab (const Param &preferences, QWidget *parent=nullptr)
 Constructor. More...
 
 ~SpectraIDViewTab () override=default
 Destructor. More...
 
bool hasData (const LayerDataBase *layer) override
 
void updateEntries (LayerDataBase *model) override
 set layer data and create table anew; if given a nullptr or the layer is not LayerDataPeak, behaves as clear() More...
 
LayerDataBasegetLayer ()
 get layer data More...
 
void clear () override
 clears all visible data from table widget and voids the layer More...
 
- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 

Public Attributes

bool ignore_update = false
 Helper member to block outgoing signals. More...
 

Protected Slots

void updateEntries_ ()
 Rebuild table entries. More...
 
void updateProteinEntries_ (int spec_cell_row_idx)
 Rebuild protein table entries. More...
 
void switchOrientation_ ()
 Switch horizontal or vertical layout of the PSM and Proteintable. More...
 

Private Slots

void saveIDs_ ()
 Saves the (potentially filtered) IDs as an idXML or mzIdentML file. More...
 
void updatedSingleCell_ (QTableWidgetItem *item)
 update PeptideIdentification / PeptideHits, when data in the table changes (status of checkboxes) More...
 
void currentCellChanged_ (int row, int column, int old_row, int old_column)
 Cell clicked in table_widget; emits which spectrum (row) was clicked, and may show additional data. More...
 
void createProteinToPeptideIDMap_ ()
 Create 'protein accession to peptide identification' map using C++ STL unordered_map. More...
 
void currentSpectraSelectionChanged_ ()
 Cell selected or deselected: this is only used to check for deselection, rest happens in currentCellChanged_. More...
 
void updatedSingleProteinCell_ (QTableWidgetItem *)
 update ProteinHits, when data in the table changes (status of checkboxes) More...
 
void proteinCellClicked_ (int row, int column)
 Protein Cell clicked in protein_table_widget; emits which protein (row) was clicked, and may show additional data. More...
 

Private Member Functions

void fillRow_ (const MSSpectrum &spectrum, const int spec_index, const QColor &background_color)
 partially fill the bottom-most row
More...
 
void openUniProtSiteWithAccession_ (const QString &accession)
 open browser to navigate to uniport site with accession More...
 

Static Private Member Functions

static QString extractNumFromAccession_ (const QString &listItem)
 extract the required part of the accession More...
 

Private Attributes

LayerDataPeaklayer_ = nullptr
 
QCheckBox * hide_no_identification_ = nullptr
 
QCheckBox * create_rows_for_commmon_metavalue_ = nullptr
 
TableViewtable_widget_ = nullptr
 
TableViewprotein_table_widget_ = nullptr
 
QTableWidgetfragment_window_ = nullptr
 
QSplitter * tables_splitter_ = nullptr
 
bool is_first_time_loading_ = true
 
std::unordered_map< String, std::vector< const PeptideIdentification * > > protein_to_peptide_id_map
 

Additional Inherited Members

- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 
- Protected Member Functions inherited from DefaultParamHandler
virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Detailed Description

Tabular visualization / selection of identified spectra.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
tsg:isotope_model stringnone none, coarse, fineModel to use for isotopic peaks ('none' means no isotopic peaks are added, 'coarse' adds isotopic peaks in unit mass distance, 'fine' uses the hyperfine isotopic generator to add accurate isotopic peaks. Note that adding isotopic peaks is very slow.
tsg:max_isotope int2  Defines the maximal isotopic peak which is added if 'isotope_model' is 'coarse'
tsg:max_isotope_probability float0.05  Defines the maximal isotopic probability to cover if 'isotope_model' is 'fine'
tsg:add_metainfo stringfalse true, falseAdds the type of peaks as metainfo to the peaks, like y8+, [M-H2O+2H]++
tsg:add_losses stringfalse true, falseAdds common losses to those ion expect to have them, only water and ammonia loss is considered
tsg:sort_by_position stringtrue true, falseSort output by position
tsg:add_precursor_peaks stringfalse true, falseAdds peaks of the unfragmented precursor ion to the spectrum
tsg:add_all_precursor_charges stringfalse true, falseAdds precursor peaks with all charges in the given range
tsg:add_abundant_immonium_ions stringfalse true, falseAdd most abundant immonium ions (for Proline, Cystein, Iso/Leucine, Histidin, Phenylalanin, Tyrosine, Tryptophan)
tsg:add_first_prefix_ion stringfalse true, falseIf set to true e.g. b1 ions are added
tsg:add_y_ions stringtrue true, falseAdd peaks of y-ions to the spectrum
tsg:add_b_ions stringtrue true, falseAdd peaks of b-ions to the spectrum
tsg:add_a_ions stringfalse true, falseAdd peaks of a-ions to the spectrum
tsg:add_c_ions stringfalse true, falseAdd peaks of c-ions to the spectrum
tsg:add_x_ions stringfalse true, falseAdd peaks of x-ions to the spectrum
tsg:add_z_ions stringfalse true, falseAdd peaks of z-ions to the spectrum (sometimes observed in CID and for some AAs in ExD due to H abstraction)
tsg:add_zp1_ions stringfalse true, falseAdd peaks of z+1-radical cations (also [z+H]*^{+} or simply z*) to the spectrum (often observed in ExD)
tsg:add_zp2_ions stringfalse true, falseAdd peaks of z+2-radical cations (also [z+2H]*^{2+} or simply z') to the spectrum (often observed in ExD esp. with higher precursor charges >3 and smaller z-ions.)
tsg:y_intensity float1.0 min: 0.0Intensity of the y-ions
tsg:b_intensity float1.0 min: 0.0Intensity of the b-ions
tsg:a_intensity float1.0 min: 0.0Intensity of the a-ions
tsg:c_intensity float1.0 min: 0.0Intensity of the c-ions
tsg:x_intensity float1.0 min: 0.0Intensity of the x-ions
tsg:z_intensity float1.0 min: 0.0Intensity of the z-ions
tsg:relative_loss_intensity float0.1 min: 0.0 max: 1.0Intensity of loss ions, in relation to the intact ion intensity
tsg:precursor_intensity float1.0 min: 0.0Intensity of the precursor peak
tsg:precursor_H2O_intensity float1.0 min: 0.0Intensity of the H2O loss peak of the precursor
tsg:precursor_NH3_intensity float1.0 min: 0.0Intensity of the NH3 loss peak of the precursor
align:tolerance float0.3  Defines the absolute (in Da) or relative (in ppm) tolerance
align:is_relative_tolerance stringfalse true, falseIf true, the 'tolerance' is interpreted as ppm-value

Note:
  • If a section name is documented, the documentation is displayed as tooltip.
  • Advanced parameter names are italic.

Constructor & Destructor Documentation

◆ SpectraIDViewTab()

SpectraIDViewTab ( const Param preferences,
QWidget parent = nullptr 
)

Constructor.

◆ ~SpectraIDViewTab()

~SpectraIDViewTab ( )
overridedefault

Destructor.

Member Function Documentation

◆ clear()

void clear ( )
overridevirtual

clears all visible data from table widget and voids the layer

Implements DataTabBase.

◆ createProteinToPeptideIDMap_

void createProteinToPeptideIDMap_ ( )
privateslot

Create 'protein accession to peptide identification' map using C++ STL unordered_map.

◆ currentCellChanged_

void currentCellChanged_ ( int  row,
int  column,
int  old_row,
int  old_column 
)
privateslot

Cell clicked in table_widget; emits which spectrum (row) was clicked, and may show additional data.

◆ currentSpectraSelectionChanged_

void currentSpectraSelectionChanged_ ( )
privateslot

Cell selected or deselected: this is only used to check for deselection, rest happens in currentCellChanged_.

◆ extractNumFromAccession_()

static QString extractNumFromAccession_ ( const QString &  listItem)
staticprivate

extract the required part of the accession

◆ fillRow_()

void fillRow_ ( const MSSpectrum spectrum,
const int  spec_index,
const QColor &  background_color 
)
private

partially fill the bottom-most row

◆ getLayer()

LayerDataBase* getLayer ( )

get layer data

◆ hasData()

bool hasData ( const LayerDataBase layer)
overridevirtual

given a layer, determine if the tab could use it to show data (useful to decide if the tab should be enabled/disabled) If a nullptr is given, it HAS to return false!

Implements DataTabBase.

◆ openUniProtSiteWithAccession_()

void openUniProtSiteWithAccession_ ( const QString &  accession)
private

open browser to navigate to uniport site with accession

◆ proteinCellClicked_

void proteinCellClicked_ ( int  row,
int  column 
)
privateslot

Protein Cell clicked in protein_table_widget; emits which protein (row) was clicked, and may show additional data.

◆ requestVisibleArea1D

void requestVisibleArea1D ( double  lower_mz,
double  upper_mz 
)
signal

request to zoom into a 1D spec

◆ saveIDs_

void saveIDs_ ( )
privateslot

Saves the (potentially filtered) IDs as an idXML or mzIdentML file.

◆ spectrumDeselected

void spectrumDeselected ( int  spectrum_index)
signal

request to unshow a spectrum

◆ spectrumSelected

void spectrumSelected ( int  spectrum_index,
int  pep_id_index,
int  pep_hit_index 
)
signal

request to show a specific spectrum, and (if available) a specific pepId + pepHit in there (otherwise -1, -1)

◆ switchOrientation_

void switchOrientation_ ( )
protectedslot

Switch horizontal or vertical layout of the PSM and Proteintable.

◆ updatedSingleCell_

void updatedSingleCell_ ( QTableWidgetItem *  item)
privateslot

update PeptideIdentification / PeptideHits, when data in the table changes (status of checkboxes)

◆ updatedSingleProteinCell_

void updatedSingleProteinCell_ ( QTableWidgetItem *  )
privateslot

update ProteinHits, when data in the table changes (status of checkboxes)

◆ updateEntries()

void updateEntries ( LayerDataBase model)
overridevirtual

set layer data and create table anew; if given a nullptr or the layer is not LayerDataPeak, behaves as clear()

Implements DataTabBase.

◆ updateEntries_

void updateEntries_ ( )
protectedslot

Rebuild table entries.

◆ updateProteinEntries_

void updateProteinEntries_ ( int  spec_cell_row_idx)
protectedslot

Rebuild protein table entries.

Member Data Documentation

◆ create_rows_for_commmon_metavalue_

QCheckBox* create_rows_for_commmon_metavalue_ = nullptr
private

◆ fragment_window_

QTableWidget* fragment_window_ = nullptr
private

◆ hide_no_identification_

QCheckBox* hide_no_identification_ = nullptr
private

◆ ignore_update

bool ignore_update = false

Helper member to block outgoing signals.

◆ is_first_time_loading_

bool is_first_time_loading_ = true
private

◆ layer_

LayerDataPeak* layer_ = nullptr
private

◆ protein_table_widget_

TableView* protein_table_widget_ = nullptr
private

◆ protein_to_peptide_id_map

std::unordered_map<String, std::vector<const PeptideIdentification*> > protein_to_peptide_id_map
private

◆ table_widget_

TableView* table_widget_ = nullptr
private

◆ tables_splitter_

QSplitter* tables_splitter_ = nullptr
private