Difference between revisions of "SOM"

(Background)
 
(33 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
__TOC__
 
__TOC__
  
==Note==
 
  
The algorithm use for Fast Hierarchical Clustering analysis does not implement the commonly understood versions of Average Linkage and Total Linkage.  This problem is present in the current version (1.0.3) of geWorkbench and all previous versions.  Standard implementations will be available in the next release.  The implementation of single linkage gives results as expected from the standard algorithm.
 
  
==Outline==
+
==Overview==
  
In this section the following information about clustering methods is covered:
+
The SOM (Self-Organizing Maps) method clusters markers into a user-specified number of bins based on their similarity to each other.  In geWorkbench, a SOM visualizer component displays the results graphically. The markers clustered into a particular bin can be saved as a set back to the Markers component for further analysis.
# What clustering is and how it can be used.
 
# Methods implemented in geWorkbench: SOMs and Hierarchical Clustering
 
# An example of performing an SOM analysis
 
# An example of performing a Hierarchical Clustering analysis.
 
  
 +
* Note - for the distance calculations used in SOM analysis to be valid, the data should be normalized such that the scale of variation over each array is equal.
  
==Background==
+
A more formal description - Self Organizing Map (SOM) is an algorithm to perform clustering of real vectors defined on an instance space of dimensionality. The clusters found are described by prototypical instances, referred as neurons of the SOM, which are arranged topologically in the form of a one or two dimensional grid, the Self Organizing Map.
  
Clustering methods can allow identification of groups of markers with similar expression.  A common application is to search for genes that appear to be co-regulated.  A list of such markers, saved to the '''Markers''' component, can be used for further steps, such as retrieving upstream sequences, Gene Ontology analysis, or viewing of annotations.
+
==SOM Parameters==
  
==Methods supported==
+
[[Image:SOM_Parameters.png|{{ImageMaxWidth}}]]
  
geWorkbench supports two clustering methods:
 
# Self-Organizing maps (SOMs)
 
# Hierarchical Clustering
 
  
Self-organizing maps group the markers into a user-specified number of bins. In geWorkbench, a SOM visualizer component displays the results graphically.   Hierarchical clustering constructs a tree-like relationship among the expression patterns of all markers present.  Results are viewed in the Dendrogram component.
+
===Number of Rows and Columns===
 +
The final graphical display will be laid out using the given number of rows and columns. The product of the two gives the number of bins into which the markers will be clustered. Both rows and columns must be greater than 0.
 +
 
 +
===Radius===
 +
When using the bubble neighborhood parameter this float value is used to define the extent of the neighborhood. If an SOM vector is within this distance from the winning node (the cluster to which an element has been assigned) then that Node (and SOM vector) is considered to be in the neighborhood and its SOM vector is adapted. This must be a number greater than 0.
 +
 
 +
===Iterations===
 +
The number of times the dataset will be presented to the Map. Each expression element will be presented this number of times to train the Nodes. This must be a number be greater than 0.
 +
 
 +
 
 +
===Alpha===
 +
This value is used to scale the change of individual SOM vectors when a new expression vector is associated with a node. This must be a value between 1 and 0.
 +
 
 +
===Function===
 +
The neighborhood options indicate the conventions (formulas) used to update (adapt) an SOM vector once an expression vector has been added into a Node's neighborhood.
 +
====Bubble====
 +
This option uses the provided radius (see above) to determine which surrounding SOM nodes are in the neighborhood and therefore are candidates for adaptation. When this option is selected the Alpha parameter for scaling the adaptation is used directly as provided from the user.
 +
====Gaussian====
 +
This option forces all SOM vectors in the network to be adapted regardless of proximity to the winning node. In this case the Alpha parameter is scaled based on the distance between the SOM vector to be adapted and the winning node's SOM vector.
 +
 
 +
==Services (Grid)==
 +
 
 +
SOM can be run either locally within geWorkbench, or remotely as a grid job on caGrid.  See the [[Tutorial_-_Grid_Services | Grid Services]] section for further details on setting up a grid job.
 +
 
 +
==Analysis Actions==
 +
This component uses the standard [[Analysis_Framework|analysis component framework]], which provides three buttons:
 +
 
 +
* '''Analyze''' - Start the clustering job.
 +
* '''Save Settings''' - Save the current settings to a named entry in the settings list.
 +
* '''Delete Settings''' - Delete the selected setting entry from the list.
  
 
==SOM Example==
 
==SOM Example==
  
* Load the microarray dataset "webmatrix_quantile_log2_dev1_mv0.exp", available in the tutorial_data.zip [[Download]].  
+
For this example we will start with the data set used in the [[Tutorial_-_ANOVA | ANOVA]] tutorial. Briefly, the Bcell-100.exp dataset was quantile normalized and log2 transformed. A set of markers found by ANOVA analysis of four groups of arrays was saved to the Markers component.  It is this set of markers which will here be clustered.
* In the '''Arrays/Phenotypes''' component pulldown menu, select the group labeled "Class".
+
 
* Activate two sets of arrays to compare, e.g. GC B-cell and non-GC B-cell, by checking the boxes before the names (these are chosen here because they are the smallest groups).
+
1. If desired, select a subset of markers and/or arrays on which to cluster. The following figure shows the set of 1786 markers found in the ANOVA example has been activated by checking the adjacent check-box.
* Go to the '''Analysis''' component, and select '''SOM Analysis'''.
+
 
 +
[[Image:T_HC_set_activation.png]]
 +
 
  
Parameters:
+
2. Set the SOM parameters.  The default parameters are shown above in the Parameters section.  We will accept these parameters.
Rows, Columns - give the number of bins into which to separate the different marker expression patterns.
 
Radius -
 
Iterations -
 
Alpha -
 
Function - Bubble or Gaussian
 
  
The default parameters are shown belowWe will accept these parameters.
+
3. Push AnalyzeThe result will be displayed graphically in the SOM Clusters Viewer.
  
[[Image:T_SOM_Analysis_Parameters.png]]
+
4. The user might experiment with different parameter settings to attempt to discern informative groupings.
  
 +
==SOM Clusters Viewer==
  
The resulting display of nine clusters is shown below.  The user should experiment with different parameters to attempt to discern informative groupings.
+
Running the example just described, with 3 rows and 3 columns, produces the nine clusters shown below.   
  
  
[[Image:T_SOM_display.png]]
+
[[Image:T_SOM_result.png|{{ImageMaxWidth}}]]
  
 +
===Mouse over===
  
Any individual graph can be right-clicked on and "Add to Set" chosen.  This will add these markers to a new Set in the '''Markers''' component.  Each will be given a name starting with "Cluster Grid" and the number of markers will be shown.
+
Mousing over a particular point on any cluster will show the marker (probeset), the array and the expression value that the point is associated with.
  
==Hierarchical Clustering - Example==
+
[[Image:T_SOM_mouse-over.png]]
  
* Load the microarray dataset "webmatrix_quantile_log2_dev1_mv0.exp", available in the tutorial_data.zip [[Download]].
+
===Show selected===
* In the Arrays/Phenotypes component, select the set of arrays labeled "Class".
+
If the "Show selected" box is checked, the user may then click on any of the clusters and it will be enlarged to fill the display area. Unchecking the "Show selected" box will return to the original display of all clusters.
* Activate two classes of arrays to compare, e.g. GC B-cell and non-GC B-cell, by checking the boxes before the names.
 
* Go to the Analysis component, and select Hierarchical Clustering.
 
* At the bottom of the Analysis component, the box that says '''All Arrays''' should be unchecked, so that the array selection above is used.
 
  
 +
[[Image:T_SOM_show_selected.png]]
  
* In Hierarchical Clustering, set the parameters to:
+
===Left-click actions===
** Clustering Method: Total Linkage
+
====Selecting====
** Clustering Dimension: Both
+
When a point on a cluster is clicked on with the mouse, the marker and array it corresponds to will be highlighted in the Markers and Arrays/Phenotypes components, respectively.
** Clustering Metric: Euclidean
 
  
*Click '''Analyze'''.
+
====Zooming====
 +
While left-clicking on a cluster display, dragging the mouse downwards and to one side or the other will produce a selection box, which will have the effect of zooming in on the region selected.  Dragging the mouse upwards will zoom back out.
  
The results will be displayed in the Dendrogram component.
+
===Right-click menu===
  
[[Image:T_HierarchicalClustering_BCregion.png]]
+
Right-clicking on a cluster produces the menu shown below.
  
By scrolling down a bit, one finds a large interesting area, showing clear differences between groups of arrays.  We will select two clearly differentiated clusters.  Check the '''Enable Zoom''' checkbox. Then highlight the first cluster of 12 markers as shown here:
+
[[Image:T_SOM_right_click_menu.png]]
  
[[Image:T_HierarchicalClustering_BC12Markers.png]]
+
The individual choices are:
  
  
Then left-click to select this subset of the dendrogramIt will be displayed alone.  
+
====Zoom In/Zoom Out====
 +
Zoom in or zoom out in a particular clusterZooming can be done for both axes simultaneously, or individually using the sub-menus shown in the following figure.
  
[[Image:T_HierarchicalClustering_BC12MarkersZoom.png]]
+
[[Image:T_SOM_ZoomIn_detail.png]]
  
 +
====Auto Range====
 +
Return the cluster to original display size (fit to display area).
  
Now right-click and select "Add to Set".  In the Markers component, the select genes are added as Cluster Tree [12], where 12 is the number of markers selected.
+
====Image Snapshot====
 +
Add a snapshot of the selected cluster to the [[Workspace]].
  
 +
====Add to Set====
 +
Add the markers in the selected cluster to a new set in the Markers component.  The new sets name will start with "Cluster Grid".
  
Repeat for the similar region just below, which contains another 44 markers.
 
  
 +
====Properties====
 +
The "Properties" item allows the title, scale, axis labels and other aspects of the cluster graphs to be customized.
  
[[Image:T_HierarchicalClustering_BC44Markers.png]]
+
[[Image:T_SOM_Properties-title.png]]
  
 +
[[Image:T_SOM_Properties-Plot-Domain.png]]
  
This will result in two sets of markers having been added to the Markers component, as shown below:
+
[[Image:T_SOM_Properties-Plot-Appearance.png]]
  
[[Image:T_Markers_ClusterTree12and44.png]]
+
[[Image:T_SOM_Properties-Other.png]]

Latest revision as of 19:28, 22 January 2014

Home | Quick Start | Basics | Menu Bar | Preferences | Component Configuration Manager | Workspace | Information Panel | Local Data Files | File Formats | caArray | Array Sets | Marker Sets | Microarray Dataset Viewers | Filtering | Normalization | Tutorial Data | geWorkbench-web Tutorials

Analysis Framework | ANOVA | ARACNe | BLAST | Cellular Networks KnowledgeBase | CeRNA/Hermes Query | Classification (KNN, WV) | Color Mosaic | Consensus Clustering | Cytoscape | Cupid | DeMAND | Expression Value Distribution | Fold-Change | Gene Ontology Term Analysis | Gene Ontology Viewer | GenomeSpace | genSpace | Grid Services | GSEA | Hierarchical Clustering | IDEA | Jmol | K-Means Clustering | LINCS Query | Marker Annotations | MarkUs | Master Regulator Analysis | (MRA-FET Method) | (MRA-MARINa Method) | MatrixREDUCE | MINDy | Pattern Discovery | PCA | Promoter Analysis | Pudge | SAM | Sequence Retriever | SkyBase | SkyLine | SOM | SVM | T-Test | Viper Analysis | Volcano Plot



Overview

The SOM (Self-Organizing Maps) method clusters markers into a user-specified number of bins based on their similarity to each other. In geWorkbench, a SOM visualizer component displays the results graphically. The markers clustered into a particular bin can be saved as a set back to the Markers component for further analysis.

  • Note - for the distance calculations used in SOM analysis to be valid, the data should be normalized such that the scale of variation over each array is equal.

A more formal description - Self Organizing Map (SOM) is an algorithm to perform clustering of real vectors defined on an instance space of dimensionality. The clusters found are described by prototypical instances, referred as neurons of the SOM, which are arranged topologically in the form of a one or two dimensional grid, the Self Organizing Map.

SOM Parameters

SOM Parameters.png


Number of Rows and Columns

The final graphical display will be laid out using the given number of rows and columns. The product of the two gives the number of bins into which the markers will be clustered. Both rows and columns must be greater than 0.

Radius

When using the bubble neighborhood parameter this float value is used to define the extent of the neighborhood. If an SOM vector is within this distance from the winning node (the cluster to which an element has been assigned) then that Node (and SOM vector) is considered to be in the neighborhood and its SOM vector is adapted. This must be a number greater than 0.

Iterations

The number of times the dataset will be presented to the Map. Each expression element will be presented this number of times to train the Nodes. This must be a number be greater than 0.


Alpha

This value is used to scale the change of individual SOM vectors when a new expression vector is associated with a node. This must be a value between 1 and 0.

Function

The neighborhood options indicate the conventions (formulas) used to update (adapt) an SOM vector once an expression vector has been added into a Node's neighborhood.

Bubble

This option uses the provided radius (see above) to determine which surrounding SOM nodes are in the neighborhood and therefore are candidates for adaptation. When this option is selected the Alpha parameter for scaling the adaptation is used directly as provided from the user.

Gaussian

This option forces all SOM vectors in the network to be adapted regardless of proximity to the winning node. In this case the Alpha parameter is scaled based on the distance between the SOM vector to be adapted and the winning node's SOM vector.

Services (Grid)

SOM can be run either locally within geWorkbench, or remotely as a grid job on caGrid. See the Grid Services section for further details on setting up a grid job.

Analysis Actions

This component uses the standard analysis component framework, which provides three buttons:

  • Analyze - Start the clustering job.
  • Save Settings - Save the current settings to a named entry in the settings list.
  • Delete Settings - Delete the selected setting entry from the list.

SOM Example

For this example we will start with the data set used in the ANOVA tutorial. Briefly, the Bcell-100.exp dataset was quantile normalized and log2 transformed. A set of markers found by ANOVA analysis of four groups of arrays was saved to the Markers component. It is this set of markers which will here be clustered.

1. If desired, select a subset of markers and/or arrays on which to cluster. The following figure shows the set of 1786 markers found in the ANOVA example has been activated by checking the adjacent check-box.

T HC set activation.png


2. Set the SOM parameters. The default parameters are shown above in the Parameters section. We will accept these parameters.

3. Push Analyze. The result will be displayed graphically in the SOM Clusters Viewer.

4. The user might experiment with different parameter settings to attempt to discern informative groupings.

SOM Clusters Viewer

Running the example just described, with 3 rows and 3 columns, produces the nine clusters shown below.


T SOM result.png

Mouse over

Mousing over a particular point on any cluster will show the marker (probeset), the array and the expression value that the point is associated with.

T SOM mouse-over.png

Show selected

If the "Show selected" box is checked, the user may then click on any of the clusters and it will be enlarged to fill the display area. Unchecking the "Show selected" box will return to the original display of all clusters.

T SOM show selected.png

Left-click actions

Selecting

When a point on a cluster is clicked on with the mouse, the marker and array it corresponds to will be highlighted in the Markers and Arrays/Phenotypes components, respectively.

Zooming

While left-clicking on a cluster display, dragging the mouse downwards and to one side or the other will produce a selection box, which will have the effect of zooming in on the region selected. Dragging the mouse upwards will zoom back out.

Right-click menu

Right-clicking on a cluster produces the menu shown below.

T SOM right click menu.png

The individual choices are:


Zoom In/Zoom Out

Zoom in or zoom out in a particular cluster. Zooming can be done for both axes simultaneously, or individually using the sub-menus shown in the following figure.

T SOM ZoomIn detail.png

Auto Range

Return the cluster to original display size (fit to display area).

Image Snapshot

Add a snapshot of the selected cluster to the Workspace.

Add to Set

Add the markers in the selected cluster to a new set in the Markers component. The new sets name will start with "Cluster Grid".


Properties

The "Properties" item allows the title, scale, axis labels and other aspects of the cluster graphs to be customized.

T SOM Properties-title.png

T SOM Properties-Plot-Domain.png

T SOM Properties-Plot-Appearance.png

T SOM Properties-Other.png