org.fhcrc.cpl.viewer.quant.gui
Class ProteinSummarySelectorFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.fhcrc.cpl.viewer.quant.gui.ProteinSummarySelectorFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ProteinSummarySelectorFrame
extends javax.swing.JFrame

A window displaying a table with info on all the quantitated proteins in a protXML file. A single row, or multiple may be selected and the quantitative events pulled up in a ProteinQuantSummaryFrame. Gene information for proteins can optionally be pulled from a protein-gene mapping file, in which case the Gene column of the table will be populated. The table is sortable on all columns

See Also:
Serialized Form

Nested Class Summary
protected  class ProteinSummarySelectorFrame.LogRatioHistogramListener
          A chart listener that picks up events indicating changes to the selected area
static class ProteinSummarySelectorFrame.ProteinRatioAscComparator
          Sort proteins by ratio, ascending
static class ProteinSummarySelectorFrame.ProteinSummaryTable
          Sortable on all columns
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected static org.apache.log4j.Logger _log
           
protected  boolean allowMultipleSelection
           
protected  javax.swing.JButton buttonDeselectAll
           
protected  javax.swing.JButton buttonSaveTSV
           
protected  javax.swing.JButton buttonSelectAllVisible
           
protected  javax.swing.JButton buttonSelectedProtein
           
protected  javax.swing.JButton buttonShowEvents
           
 javax.swing.JPanel contentPanel
           
protected  int height
           
protected  int LOGRATIO_HISTOGRAM_PANEL_HEIGHT
           
 PanelWithLogRatioHistAndFields logRatioHistogramPanel
           
 javax.swing.JPanel mainPanel
           
protected  float maxLowRatio
           
 javax.swing.JLabel maxLowRatioLabel
           
 javax.swing.JLabel messageLabel
           
protected  float minHighRatio
           
 javax.swing.JLabel minHighRatioLabel
           
protected  float minProteinProphet
           
 javax.swing.JLabel numPassingProteinsLabel
           
protected  java.util.Map<java.lang.String,java.util.List<java.lang.String>> proteinGeneMap
           
protected  java.util.Map<ProtXmlReader.Protein,java.lang.Integer> proteinGroupNumberMap
           
protected  java.util.List<ProtXmlReader.Protein> proteins
           
protected  ProteinSummarySelectorFrame.ProteinSummaryTable proteinSummaryTable
           
protected  java.util.List<ProtXmlReader.Protein> selectedProteins
           
 javax.swing.JPanel statusPanel
           
protected  int STATUSPANEL_HEIGHT
           
 javax.swing.JPanel summaryPanel
           
protected  int SUMMARYPANEL_HEIGHT
           
protected  int TABLEROW_HEIGHT
           
protected  javax.swing.ListSelectionModel tableSelectionModel
           
protected  int TITLEBAR_HEIGHT
           
protected  int width
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ProteinSummarySelectorFrame()
           
ProteinSummarySelectorFrame(boolean allowMultipleSelection)
           
ProteinSummarySelectorFrame(java.io.File protXmlFile)
           
 
Method Summary
 void addSelectionListener(java.awt.event.ActionListener listener)
          Add a listener for selecting a row in the table.
 void buttonCancel_actionPerformed(java.awt.event.ActionEvent event)
          Quit
 void buttonDeselectAll_actionPerformed(java.awt.event.ActionEvent event)
          Deselect all currently-selected rows, whether or not they're currently passing the filter
 void buttonSaveTSV_actionPerformed(java.awt.event.ActionEvent event)
          Save the table contents as a TSV file
 void buttonSelectAllVisible_actionPerformed(java.awt.event.ActionEvent event)
          Select all currently-visible (i.e., passes filter) rows
 void buttonShowEvents_actionPerformed(java.awt.event.ActionEvent event)
          Show the detail screen with a table of the actual events for this/these protein(s)
 void displayProteins()
           
 void displayProteins(java.io.File protXmlFile)
          Display all the proteins in the protXML file that pass the ProteinProphet threshold and have ratios
protected  void errorMessage(java.lang.String message, java.lang.Throwable t)
          Display a dialog box with info message and stack trace
 float getMaxLowRatio()
           
 float getMinHighRatio()
           
 float getMinProteinProphet()
           
 java.util.List<ProtXmlReader.Protein> getSelectedProteins()
           
protected  void initGUI()
          Initialize GUI components
 void setMaxLowRatio(float maxLowRatio)
           
 void setMessage(java.lang.String message)
          Set status message.
 void setMinHighRatio(float minHighRatio)
           
 void setMinProteinProphet(float minProteinProphet)
           
 void setProteinGeneMap(java.util.Map<java.lang.String,java.util.List<java.lang.String>> proteinGeneMap)
          Define the mapping from protein names to gene symbols
 void setSelectedProteins(java.util.List<ProtXmlReader.Protein> selectedProteins)
           
protected  void updateExtremeRatioGUI()
          In response to a user action restricting ratios, modify what's shown on the table and reflected in the labels.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

_log

protected static org.apache.log4j.Logger _log

width

protected int width

height

protected int height

TITLEBAR_HEIGHT

protected final int TITLEBAR_HEIGHT
See Also:
Constant Field Values

STATUSPANEL_HEIGHT

protected final int STATUSPANEL_HEIGHT
See Also:
Constant Field Values

SUMMARYPANEL_HEIGHT

protected final int SUMMARYPANEL_HEIGHT
See Also:
Constant Field Values

TABLEROW_HEIGHT

protected final int TABLEROW_HEIGHT
See Also:
Constant Field Values

LOGRATIO_HISTOGRAM_PANEL_HEIGHT

protected int LOGRATIO_HISTOGRAM_PANEL_HEIGHT

proteinSummaryTable

protected ProteinSummarySelectorFrame.ProteinSummaryTable proteinSummaryTable

tableSelectionModel

protected javax.swing.ListSelectionModel tableSelectionModel

selectedProteins

protected java.util.List<ProtXmlReader.Protein> selectedProteins

proteins

protected java.util.List<ProtXmlReader.Protein> proteins

proteinGroupNumberMap

protected java.util.Map<ProtXmlReader.Protein,java.lang.Integer> proteinGroupNumberMap

minProteinProphet

protected float minProteinProphet

minHighRatio

protected float minHighRatio

maxLowRatio

protected float maxLowRatio

allowMultipleSelection

protected boolean allowMultipleSelection

contentPanel

public javax.swing.JPanel contentPanel

summaryPanel

public javax.swing.JPanel summaryPanel

mainPanel

public javax.swing.JPanel mainPanel

logRatioHistogramPanel

public PanelWithLogRatioHistAndFields logRatioHistogramPanel

buttonShowEvents

protected javax.swing.JButton buttonShowEvents

buttonSaveTSV

protected javax.swing.JButton buttonSaveTSV

buttonSelectedProtein

protected javax.swing.JButton buttonSelectedProtein

buttonSelectAllVisible

protected javax.swing.JButton buttonSelectAllVisible

buttonDeselectAll

protected javax.swing.JButton buttonDeselectAll

statusPanel

public javax.swing.JPanel statusPanel

messageLabel

public javax.swing.JLabel messageLabel

maxLowRatioLabel

public javax.swing.JLabel maxLowRatioLabel

minHighRatioLabel

public javax.swing.JLabel minHighRatioLabel

numPassingProteinsLabel

public javax.swing.JLabel numPassingProteinsLabel

proteinGeneMap

protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> proteinGeneMap
Constructor Detail

ProteinSummarySelectorFrame

public ProteinSummarySelectorFrame()

ProteinSummarySelectorFrame

public ProteinSummarySelectorFrame(boolean allowMultipleSelection)

ProteinSummarySelectorFrame

public ProteinSummarySelectorFrame(java.io.File protXmlFile)
                            throws javax.xml.stream.XMLStreamException,
                                   java.io.FileNotFoundException
Throws:
javax.xml.stream.XMLStreamException
java.io.FileNotFoundException
Method Detail

initGUI

protected void initGUI()
Initialize GUI components


setProteinGeneMap

public void setProteinGeneMap(java.util.Map<java.lang.String,java.util.List<java.lang.String>> proteinGeneMap)
Define the mapping from protein names to gene symbols

Parameters:
proteinGeneMap -

displayProteins

public void displayProteins(java.io.File protXmlFile)
                     throws javax.xml.stream.XMLStreamException,
                            java.io.FileNotFoundException,
                            java.lang.IllegalArgumentException
Display all the proteins in the protXML file that pass the ProteinProphet threshold and have ratios

Parameters:
protXmlFile -
Throws:
javax.xml.stream.XMLStreamException
java.io.FileNotFoundException
java.lang.IllegalArgumentException

updateExtremeRatioGUI

protected void updateExtremeRatioGUI()
In response to a user action restricting ratios, modify what's shown on the table and reflected in the labels. Called from two places


addSelectionListener

public void addSelectionListener(java.awt.event.ActionListener listener)
Add a listener for selecting a row in the table. This is used for populating the selected protein

Parameters:
listener -

buttonShowEvents_actionPerformed

public void buttonShowEvents_actionPerformed(java.awt.event.ActionEvent event)
Show the detail screen with a table of the actual events for this/these protein(s)

Parameters:
event -

buttonSelectAllVisible_actionPerformed

public void buttonSelectAllVisible_actionPerformed(java.awt.event.ActionEvent event)
Select all currently-visible (i.e., passes filter) rows

Parameters:
event -

buttonDeselectAll_actionPerformed

public void buttonDeselectAll_actionPerformed(java.awt.event.ActionEvent event)
Deselect all currently-selected rows, whether or not they're currently passing the filter

Parameters:
event -

buttonSaveTSV_actionPerformed

public void buttonSaveTSV_actionPerformed(java.awt.event.ActionEvent event)
Save the table contents as a TSV file

Parameters:
event -

buttonCancel_actionPerformed

public void buttonCancel_actionPerformed(java.awt.event.ActionEvent event)
Quit

Parameters:
event -

displayProteins

public void displayProteins()

getSelectedProteins

public java.util.List<ProtXmlReader.Protein> getSelectedProteins()

setSelectedProteins

public void setSelectedProteins(java.util.List<ProtXmlReader.Protein> selectedProteins)

getMinProteinProphet

public float getMinProteinProphet()

setMinProteinProphet

public void setMinProteinProphet(float minProteinProphet)

setMessage

public void setMessage(java.lang.String message)
Set status message. Separate thread necessary or UI hangs

Parameters:
message -

errorMessage

protected void errorMessage(java.lang.String message,
                            java.lang.Throwable t)
Display a dialog box with info message and stack trace

Parameters:
message -
t -

getMinHighRatio

public float getMinHighRatio()

setMinHighRatio

public void setMinHighRatio(float minHighRatio)

getMaxLowRatio

public float getMaxLowRatio()

setMaxLowRatio

public void setMaxLowRatio(float maxLowRatio)


Fred Hutchinson Cancer Research Center