gcExplorer {gcExplorer}R Documentation

Graphical Cluster Explorer

Description

Plot a neighborhood graph for "kccasimple" cluster solutions.

Usage

## S4 method for signature 'kccasimple':
gcExplorer(object, layout = c("dot", "neato", "twopi","circo","fdp"), 
   theme = "grey", edge.method=c("orig","mean","min","max"),
   node.function = NULL, node.args = NULL, doViewPort = FALSE,
   filt = 0.1, interactive = !is.null(panel.function), dev=c("one","many"),
   panel.function = NULL, panel.args = NULL, bgdata = NULL,
   colscale = NULL, mfrow = c(1,1), legend.pos = "none")

Arguments

object Object of class "kccasimple".
layout Layout method used: One of "dot", "neato", "twopi", "circo", and "fdp".
theme Color theme used.
edge.method Several methods are available to draw edges: "orig", "mean", "min", and "max", see details below.
node.function Optional. Additional information about the clusters can be included in the representation of nodes. Either a function calculating node colors or a grid-based function (see doViewPort).
node.args List of arguments which should be passed to node.function.
doViewPort Currently not used in release version of the package. Call a grid-based function specified by argument node.function and use it for node representation?
filt Cutoff value for similarities between clusters, edges above the threshold will be displayed.
interactive Should the plot be interactive?
dev Only used if interactive=TRUE. Display each cluster plot (specified by panel.function) in one device or open new devices for each cluster when clicking on a node.
panel.function Only used if interactive=TRUE. The panel function which should be used to display the corresponding cluster
panel.args List of arguments which should be passed to panel.function.
bgdata Background data to be plotted by panel.function or node.function.
colscale A vector of length 2 specifying the color range for edges and nodes, e.g. c(0,0.5).
mfrow Only used if interactive=TRUE. The panel layout in which the panel plots should be displayed.
legend.pos Position of the legend.

Details

A neighborhood graph is the default plot method for cluster objects of package flexclust. For large and highdimensional data sets like microarray data linear projection of the data into two dimensions may not scale well in the number of clusters. In this case non-linear arrangement of the nodes using layout algorithms from Graphviz can be helpful. An interface to Graphviz is provided in Bioconductor package Rgraphviz. One of the implemented layout algorithms can be selected using layout.

In a neighborhood graph each node corresponds to a cluster centroid. Two nodes are connected by an edge if there exist data points that have these two centroids as closest and second closest. The edge weights are taken from clusterSim(object). The similarity between two clusters is bounded between 0 and 1 where well-separated clusters have values close to 0. The larger the similarity between clusters the stronger the edge will be drawn in the graph. The cutoff value for drawing the edge between two centroids can be chosen by argument filt. The larger the filt value the fewer edges will be drawn.

Originally the neighborhood graph is a directed graph. An edge will be drawn from centroid 1 to centroid 2 if there exists at least one data point that has centroid 1 as closest and centroid 2 as second closest. But there need not necessarily be a data point that has centroid 2 as closest and centroid 1 as second closest centroid. For this reason there are several methods for plotting the edges between nodes. The default edge.method is 'orig' where each edge is drawn separately with its corresponding weight. This method will result in a directed graph. All other edge methods yield undirected graphs where the mean, minimum or maximum of the similarities between two clusters is used.

Additional information about the clusters can be included in the graph using node.function and panel.function. node.function is used for the node representation. If no node.function is given all nodes will be drawn in one color. The node.function can be used to calculate different colors for the nodes like cluster size or cluster tightness. Additionally node.function can be a grid–based function displaying the data in the underlying cluster, e.g. a scatterplot or a boxplot.

gcExplorer is implemented interactively. If interactive=TRUE panel.function is used to plot a cluster when clicking on the corresponding node. An example of a panel.function is given by function gcProfile.

Function calcHCL is used to calculate a HCL–based color.

Value

Object of class "graphdata" with the following slots: an object of class "Ragraph" (see package Rgraphviz), object, bgdata, node.function, edge.method, theme and colscale.

Author(s)

Theresa Scharl and Ingo Voglhuber

References

Theresa Scharl and Friedrich Leisch. gcExplorer: Interactive Exploration of Gene Clusters. Bioinformatics, 25(8): 1089-1090, 2009.

See Also

node.tight

Examples

data("hsod")
cl1 <- qtclust(hsod, radius = 2, save.data = TRUE)

gcExplorer(cl1, theme = "blue", node.function = node.size)


[Package gcExplorer version 0.9-1 Index]