TAPIR GUI executable¶
This documents the functions in the TAPIR.py executable and also the underlying
views and models (see TOC at the end). The main window is MainWindow
which contains a single main widget ApplicationView
. The
ApplicationView is the main widget, it contains the left side tree structure
(PeptideTreeWidget
) and the right side graph area (GraphArea
).
TAPIR Main Window¶
-
class
TAPIR.
MainWindow
(settings)¶ Bases:
PyQt4.QtGui.QMainWindow
The main window running the application.
- It contains a reference to the actual MS data model (
DataModel
inMSData
) - It contains a reference to the main widget (
ApplicationView
) - It loads files through
loadFiles()
which delegates the call to the data model
- Slots:
plotsUpdated()
: Handle an update in plots (and draw time taken to plot)
-
self.
application
¶ Reference to the actual main widget (of type
ApplicationView
)
-
loadFiles
(pyFileList, fileType=None)¶ Load a set of files to display
- Try to load single yaml file
- Try to load a list of only mzML or sqMass files
- Try to load a mixed list of mzML, sqMass and other files (.tsv)
For the third option, the data files (mzML or sqMass) are separated from the annotation files (tsv, traml) and loaded using
DataModel.loadMixedFiles
.Parameters: - pyFileList (list of str) – List of paths to files
- fileType (str) – Description of the type of file the metadata file (valid: simple, yaml, traml, openswath)
-
plotsUpdated
(time_taken)¶ Slot: updates the status bar when
ApplicationView
emitsTAPIR.ApplicationView.plotsUpdated()
-
showFileLoadDialog
()¶ Show the open file dialog to load a new dataset.
-
updateSettings
(settings)¶ Update global settings (after closing the settings dialog) in the application and data model
- It contains a reference to the actual MS data model (
TAPIR ApplicationView (central window)¶
-
class
TAPIR.
ApplicationView
(parent, settings)¶ Bases:
PyQt4.QtGui.QWidget
The main/central widget for the application which is directly called from the
MainWindow
.- It hosts the following graphical widgets:
- self.leftside : Reference to the left side widget (of type
PeptideTreeWidget
) - self.graph_layout : Reference to the right side widget (of type
GraphArea
)
- self.leftside : Reference to the left side widget (of type
- Slots:
treeSelectionChanged()
: Handle a change in the selection in the tree- Signals:
plotsUpdate()
: When the plots need to be updated
-
addPlots
(datamodel)¶ Add a plot for each run that needs to be displayed (calls the underlying
GraphArea
)Parameters: datamodel ( DataModel
) – The data model containing data to plot
-
get_precursor_model
()¶ Access to the underlying hierarchical data model (proteins, precursors, peptides, transitions)
Returns: The underlying hierarchical data model (displayed on the right side) Return type: PeptideTree
-
plotsUpdated
¶ Qt signal emitted when plots need to be updated due to selecting a different peptide
-
set_communication
(c)¶
-
treeSelectionChanged
(idx)¶ Grab the selectionChanged signal from the
PeptideTreeWidget
and accordingly update the graphing area on the right.
TAPIR Widgets¶
-
class
TAPIR.
GraphArea
(use_guiqwt=True)¶ Bases:
PyQt4.QtGui.QWidget
The Graph Area is displayed on the right side of the main area (see
ApplicationView
)The actual implementation of the plotting is in the Plot module.
- Slots:
plotZoomChanged()
: Handle plot emitting a zoomChanged signal
-
self.
plots
¶ The underlying list of plots (either of type
GuiQwtMultiLinePlot
orQwtMultiLinePlot
)
-
addPlots
(datamodel)¶ Add a plot for each run that needs to be displayed
Parameters: datamodel ( DataModel
) – The data model containing data to plot
-
addPlotsDummy
()¶ Add dummy plots for testing
-
changePlotEngine
(use_guiqwt)¶
-
plotZoomChanged
(xmin, xmax, ymin, ymax)¶ Slot to deal with the underlying plot emitting a zoomChanged signal, needs to reset all axis using min/max values
-
set_communicate
(comm)¶
-
update_all_plots
(chr_transition, show_legend)¶ We update the plots for all runs.
- Load the data from the ChromatogramTransition object
- Plot the data for each plot, calling update_all_curves on each plot
-
class
TAPIR.
PeptideTreeWidget
(firstColumnName)¶ Bases:
PyQt4.QtGui.QWidget
The Peptide Tree Widget is displayed on the left side of the main area (see
ApplicationView
). It consists of aPeptidesTreeView
widget and a search box below.- Slots:
treeViewSelectionChangedSlot()
: Handle a change in the selection in the tree (and pass forward through selectionChanged signal)- Signals:
- selectionChanged : when the peptide selection is changed
-
- self._precursor_model
The underlying peptide tree model (of type
PeptideTree
)
-
- self.treeView
The underlying peptide tree view widget (of type
PeptidesTreeView
)
-
- self.treeLineEdit
A place for input below the tree
-
- self.treeComboBox
A combo box relating to the column for search
-
changeReturnPressedSlot
()¶ Slot connected to the signal generated by pressing return in the text field
-
changedText
(text)¶ Slot connected to the signal generated by changing the text in the text field
-
expandLevel
(level)¶
-
get_precursor_model
()¶ Access to the underlying precursor model
Returns: The underlying precursor model Return type: PeptideTree
-
initUI
()¶ Set up the model and the view
- This sets up the layout as follows:
self.treeView widget
- searchbox_layout layout
2.1 self.treeLineEdit (QtGui.QLineEdit) 2.2 self.treeComboBox (QtGui.QComboBox)
-
selectionChanged
¶ Qt signal emitted when the peptide selection changes
-
treeViewSelectionChangedSlot
(newvalue, oldvalue)¶
-
class
TAPIR.
ConfigDialog
(parent, settings)¶ Bases:
PyQt4.QtGui.QDialog
Configuration Dialog
-
closeAndSave
()¶ Responds to the close and save action
-
-
class
TAPIR.
Settings
(runMode, use_guiqwt=False)¶ Bases:
object