Abstract

The gx script is a client of the Microarray::Explorer class.
Microarray::Explorer functions as a web viewer for
Microarray::CdtDataset objects.  Following the Model/View/Controller
concept, the Microarray::Explorer class is the View, the
Microarray::CdtDataset class is the Model, and this script, gx, is the
controller, dealing with the dispatch logic.

Intended Behaviour

Explorer will display the dataset object in a web browser in a frameset 
of 3 frames. 

The frames are:   - radar frame   - left side of the window
                  - toolbar frame - top of right side of window  
                  - zoom frame    - lower part of right side of window

Radar frame

The radar frame displays the whole dataset as an image map. The genes 
(clones, ...) are shown are the rows of the image, while the experiments 
are shown as the columns. Clicking the image will have 2 effects: 

            - the expression patterns for the next XXX genes starting at
              position of the click are displayed in the zoom frame

            - the top of a small bracket on the right side of the radar
              frame is positioned at the height of the click and the bracket
              shows the XXX genes selected and magnified on the zoom frame.

The size of the image is maximized both horizontally and vertically.

Toolbar frame

The toolbar allows actions on either the radar frame or the zoom frame.

For the radar frame it allows a simple customization: changing the width of
the radar image. Selecting any of the allowed percentages changes the current
width of the image proprotionately.

For the zoom frame, it provides a search tool. The various fields of annotations
or all of them for the genes can be searched for a string. The string can be 
entered in a text field. The string may contain more than one terms, spaces
are interpreted as term separators. The terms are conbined using logical 'AND'.
The hits resulting from the search are displayed in the zoom frame, as expression
patterns. 
The number of hits displayed in the zoom window is limited to 200 hits and the 
length of each term in te search string should be at least 2 characters long.

In addition, the toolbar frame contains an Info Box that displays various textual 
information dependent on the position of the mouse pointer over the zoom frame. 
It can display: 

             - gene information in the NAME field when the mouse is positioned 
               over an image row

             - experiment info, if positioned above the experiment image map
              
             - correlation of a genes expression pattern to that of the top
               gene in to zoom window displaying correlations, when the pointer
                is above is above the correlation image.

Zoom frame

The zoom frame displays expression patterns and annotations for genes in the 
dataset. It can display genes selected from: 

             - radar frame; it displays a given number of genes starting from the 
               genes whose image was clicked on

             - the toolbar; the result of the search performed using the searchtool
               is displayed here

             - the zoom frame itself; when a row is clicked on in the radar frame,
               the genes with the highest correlation in their expression pattern 
               are displayed

Information about various elements in the zoom frame is displayed in the Info Box
in the toolbar, dependent on the position of the mouse:
 
             - experiment info
             - gene info
             - correlation value

Parameters

    'n'    = name; name of dataset to use
    'a'    = action; action to perform
    'seed' = seed; 
    'q'    = query (the string to use for the search)
    'f'    = field (the field to search)
    'rx'   = column width in pxl in radar frame
    'ry'   = column height in pxl in radar frame
    'zy'   = column height in pxl in zoom frame
    'ry'   = column width in pxl in zoom frame


   possible values for action:
   ---------------------------

   'c' = correlate

           - print the most correlated gene expression vectors 
             (neighbors) for gene provided in param('seed')

   's' = search

           - Do a search using the string provided in param('q')
             to search the field(s) provided in param('f')

   'z' = zoom

           - print a zoom frame (currently arround the mouseclick 
	     x/y coordinates

   'r' = radar

	   - print a radar frame

   't' = toolbar

	   - print a toolbar frame

Authors Original work: Christian Rees

Re-write: Janos Demeter jdemeter@genome.stanford.edu