Class ExprProfileScrollPane

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--ExprProfileScrollPane
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.AdjustmentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

class ExprProfileScrollPane
extends java.awt.Panel
implements java.awt.event.AdjustmentListener

This creates and displays a scrollable pane list of individual expression profile graphic plots. It will be shown as a Grid of ExprProfilePanel's plots in popup window. Selecting a particular ExprProfilePanel will set the current gene and call the PopupRegistry to update other windows.

This work was produced by Peter Lemkin of the National Cancer Institute, an agency of the United States Government. As a work of the United States Government there is no associated copyright. It is offered as open source software under the Mozilla Public License (version 1.1) subject to the limitations noted in the accompanying LEGAL file. This notice must be included with the code. The MAExplorer Mozilla and Legal files are available on http://maexplorer.sourceforge.net/.

Version:
$Date: 2003/07/07 21:40:41 $ $Revision: 1.7 $
Author:
P. Lemkin (NCI), G.Thornwall (SAIC), NCI-Frederick, Frederick, MD
See Also:
MAExplorer Home, ExprProfilePanel, ShowPlotPopup, Serialized Form

Inner classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  Gene bestGene
          gene if mouse event
private  int bestHP
          HP if mouse event
private  float bestIntens
          intensity if mouse event
private  int bestMid
          gene clone ID if mouse event
private  java.lang.String[] cTitle
          [0:nGenes-1] "#Master_ID"
private  boolean doMeanPlotsFlag
          if plot means and SD
private  ExprProfile[] epOverlayList
          list of overlay expr.
private  GeneList epOvrLayCL
          special [nGenes*nHP_E] CL
private  java.awt.Panel epPanel
          holds grid of ExprProfilePanel's
private  ExprProfilePanel[] epplList
          Expr Profs [nGridElements]
private  GeneList exprProfileCL
          GeneList being used
private  boolean hasMeanPlotsFlag
          if hpDataXXX[] exists
private  float[][] hpDataMnA
          mean[0:nMnGenes-1][0:nHP_E-1]
private  int[] hpDataNbrA
          # of samples for hpDataXXX[n][]
private  float[][] hpDataSDA
          S.D.[0:nMnGenes-1][0:nHP_E-1]
private  MAExplorer mae
          link to global MAExplorer instance
private  float maxHPdataMn
          max of hpDataMnA[][] data
private static int MIN_COLS
          minimum # of columns for the grid
private static int MIN_ROWS
          minimum # of rows for the grid
private  int mNbr
          .mList[mNbr] in database to display
(package private)  int N_EP_GENES
           
private  int nCols
          # of columns in the Grid
private  int nEPgenes
          # genes to display in popup EP plot
private  int nGenes
          # genes in exprProfileCL
private  int nGridElements
          i.e.
private  int nHP_E
          # of HPS in an Expr Profile
private  int nMnGenes
          # of averaged genes ~ nGenes
private  int nPoints
          nGenes*nHP_E
private  int nRows
          # of rows in the Grid
(package private)  int plotStyleMode
          plot style mode: 0=line, 1=circle, 2=curve
private  int[] propList
          [nGenes*nHP_E] EP overlay props
private  int sbSize
          width of scroll bar control
private  ShowExprProfilesPopup sepp
          Parent window
private  boolean showErrBarsFlag
          pass through to EP panel
private  java.lang.String title
          title for entire EP.
private  java.awt.Scrollbar vs
          vertical scroll bar
private  float[] xList
          [nGenes*nHP_E] EP overlay coords
private  float[] yList
          [nGenes*nHP_E] EP overlay coords
(package private)  int zoomBarsMag
          1X, 2X, 5X, 10X pass through to EP panel
 
Fields inherited from class java.awt.Panel
base, nameCounter, serialVersionUID
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
(package private) ExprProfileScrollPane(MAExplorer mae, ShowExprProfilesPopup sepp, GeneList exprProfileCL, java.lang.String title, int preferredPanelWidth, boolean showKmeansDataFlag)
          ExprProfileScrollPane() - Create a popup grid of ExprProfile plots.
 
Method Summary
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
          adjustmentValueChanged() - handle scroll events and cause repaint.
 void paint(java.awt.Graphics g)
          paint() - redraw plots near selected Row.
private  void setCurGene(int mid)
          setCurGene() - set current gene if mid is not -1
(package private)  void setEPcanvasDrawingOptions(boolean showErrBarsFlag, int zoomBarsMag, int plotStyleMode)
          setEPcanvasDrawingOptions() - set err-bar & zoom status and then repaint.
(package private)  void setPlotEPmeansData(int nMnGenes, int[] hpDataNbrA, float[][] hpDataMnA, float[][] hpDataSDA, boolean doMeanPlotsFlag)
          setPlotEPmeansData() - set EP to plot means for each panel
private  void setScrollBarPos(int cNumber)
          setScrollBarPos() - set the scroll barPosition for this panel.
private  void showGeneOfInterest(int mid, int mouseKeyMods)
          showGeneOfInterest() - show quant and genomic data if click on a point in plot
(package private)  void updateCurGene(int mid)
          updateCurGene()- update the current gene in the EP plot list.
(package private)  void updateData(GeneList exprProfileCL, java.lang.String title)
          updateData() - update expression profile scroller with new gene data.
private  void updateEPtitles()
          updateEPtitles() - generate array of titles for drawing in expression profile plots
 
Methods inherited from class java.awt.Panel
, addNotify, constructComponentName, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, paramString, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, readObject, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusOwner, setFont, setLayout, transferFocus, update, validate, validateTree, writeObject
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, resetGC, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

mae

private MAExplorer mae
link to global MAExplorer instance

MIN_ROWS

private static final int MIN_ROWS
minimum # of rows for the grid

MIN_COLS

private static final int MIN_COLS
minimum # of columns for the grid

sepp

private ShowExprProfilesPopup sepp
Parent window

title

private java.lang.String title
title for entire EP. panel

exprProfileCL

private GeneList exprProfileCL
GeneList being used

nGenes

private int nGenes
# genes in exprProfileCL

N_EP_GENES

final int N_EP_GENES

sbSize

private int sbSize
width of scroll bar control

nGridElements

private int nGridElements
i.e. nRows*nCols

nRows

private int nRows
# of rows in the Grid

nCols

private int nCols
# of columns in the Grid

mNbr

private int mNbr
.mList[mNbr] in database to display

nEPgenes

private int nEPgenes
# genes to display in popup EP plot

epOverlayList

private ExprProfile[] epOverlayList
list of overlay expr. profiles

epplList

private ExprProfilePanel[] epplList
Expr Profs [nGridElements]

cTitle

private java.lang.String[] cTitle
[0:nGenes-1] "#Master_ID"

nHP_E

private int nHP_E
# of HPS in an Expr Profile

nMnGenes

private int nMnGenes
# of averaged genes ~ nGenes

hpDataNbrA

private int[] hpDataNbrA
# of samples for hpDataXXX[n][]

maxHPdataMn

private float maxHPdataMn
max of hpDataMnA[][] data

hpDataMnA

private float[][] hpDataMnA
mean[0:nMnGenes-1][0:nHP_E-1]

hpDataSDA

private float[][] hpDataSDA
S.D.[0:nMnGenes-1][0:nHP_E-1]

showErrBarsFlag

private boolean showErrBarsFlag
pass through to EP panel

doMeanPlotsFlag

private boolean doMeanPlotsFlag
if plot means and SD

hasMeanPlotsFlag

private boolean hasMeanPlotsFlag
if hpDataXXX[] exists

plotStyleMode

int plotStyleMode
plot style mode: 0=line, 1=circle, 2=curve

zoomBarsMag

int zoomBarsMag
1X, 2X, 5X, 10X pass through to EP panel

epPanel

private java.awt.Panel epPanel
holds grid of ExprProfilePanel's

vs

private java.awt.Scrollbar vs
vertical scroll bar

xList

private float[] xList
[nGenes*nHP_E] EP overlay coords

yList

private float[] yList
[nGenes*nHP_E] EP overlay coords

nPoints

private int nPoints
nGenes*nHP_E

propList

private int[] propList
[nGenes*nHP_E] EP overlay props

epOvrLayCL

private GeneList epOvrLayCL
special [nGenes*nHP_E] CL

bestGene

private Gene bestGene
gene if mouse event

bestHP

private int bestHP
HP if mouse event

bestMid

private int bestMid
gene clone ID if mouse event

bestIntens

private float bestIntens
intensity if mouse event
Constructor Detail

ExprProfileScrollPane

ExprProfileScrollPane(MAExplorer mae,
                      ShowExprProfilesPopup sepp,
                      GeneList exprProfileCL,
                      java.lang.String title,
                      int preferredPanelWidth,
                      boolean showKmeansDataFlag)
ExprProfileScrollPane() - Create a popup grid of ExprProfile plots. Set the Filter.workingCL if the specified list is null.
Parameters:
mae - is MAExplorer instance
sepp - is the ShowExprProfilesPopup Parent
exprProfileCL - is the gene list to use
title - of window
preferredPanelWidth - is the set by parent Frame if not 0
showKmeansDataFlag - is the report Kmeans data else just CloneID and name
See Also:
ExprProfilePanel, Util.showMsg(java.lang.String), updateData(GeneList, java.lang.String)
Method Detail

updateEPtitles

private void updateEPtitles()
updateEPtitles() - generate array of titles for drawing in expression profile plots

updateData

void updateData(GeneList exprProfileCL,
                java.lang.String title)
updateData() - update expression profile scroller with new gene data. This will cause it to repaint as well.
Parameters:
exprProfileCL - is the new list of genes
title - is the title for the canvas label
See Also:
updateEPtitles(), Component.repaint()

setEPcanvasDrawingOptions

void setEPcanvasDrawingOptions(boolean showErrBarsFlag,
                               int zoomBarsMag,
                               int plotStyleMode)
setEPcanvasDrawingOptions() - set err-bar & zoom status and then repaint.
Parameters:
showErrBarsFlag - is used if their is duplicate data
zoomBarsMag - magnification factor (1,2,5,10,20) for expression data
plotStyleMode - (line, circle, curve)
See Also:
Component.repaint()

setPlotEPmeansData

void setPlotEPmeansData(int nMnGenes,
                        int[] hpDataNbrA,
                        float[][] hpDataMnA,
                        float[][] hpDataSDA,
                        boolean doMeanPlotsFlag)
setPlotEPmeansData() - set EP to plot means for each panel
Parameters:
nMnGenes - is the # of averaged genes
hpDataNbrA - is the # samples hpDataXXX[n][]
hpDataMnA - is the mean[0:nMnGenes-1][0:nHP_E-1] expression data
hpDataSDA - is the S.D.[0:nMnGenes-1][0:nHP_E-1] expression data
doMeanPlotsFlag - if plot the mean data
See Also:
Component.repaint()

paint

public void paint(java.awt.Graphics g)
paint() - redraw plots near selected Row.
Overrides:
paint in class java.awt.Container
Parameters:
g - is graphics context
See Also:
ExprProfilePanel.setPlotEPmeansData(int, int, float, float[], float[], boolean), ExprProfilePanel.updateData(int, java.lang.String, boolean)

updateCurGene

void updateCurGene(int mid)
updateCurGene()- update the current gene in the EP plot list.
Parameters:
mid - is the new Master Gene ID of the current gene
See Also:
Component.repaint()

setScrollBarPos

private void setScrollBarPos(int cNumber)
setScrollBarPos() - set the scroll barPosition for this panel. The arguments are in the range of allowable values otherwise it is a no-op.
Parameters:
cNumber - is data range to be mapped to scroller range

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
adjustmentValueChanged() - handle scroll events and cause repaint.
Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener
Parameters:
e - is scroller adjustment event
See Also:
Component.repaint()

setCurGene

private void setCurGene(int mid)
setCurGene() - set current gene if mid is not -1
Parameters:
mid - is the new Master Gene ID of the current gene
See Also:
CompositeDatabase.setObjCoordFromMID(int, java.lang.Object)

showGeneOfInterest

private void showGeneOfInterest(int mid,
                                int mouseKeyMods)
showGeneOfInterest() - show quant and genomic data if click on a point in plot
Parameters:
mid - is the new Master Gene ID of the current gene
mouseKeyMods - is SHIFT or CONTROL key modifiers if not 0
See Also:
PopupRegistry.chkOtherCurGeneEffects(int, int), Component.repaint(), setCurGene(int), Component.repaint()