eisa (version 1.24.0)

ISASweep: Create an ISA module tree

Description

These functions create and plot the hierarchical description of an expression data set, by applying the ISA with various thresholds, and connecting the related modules. See details below.

Usage

ISASweep (expset, modules, ...) ISASweepGraph (sweep.result) ISASweepGraphPlot (graph, vertex.label=V(graph)$id, vertex.label.topleft=NA, vertex.label.topright=NA, vertex.label.bottomleft=NA, vertex.label.bottomright=NA, vertex.label.cex=0.8, edge.label=NA, asp=FALSE, rescale=FALSE, xlim=range(graph$layout[,1]), ylim=range(graph$layout[,2]), thresholds=TRUE, xlab=NA, ylab=NA, ...)

Arguments

expset
The expression set object, if it is not an ISAExpressionSet, then ISANormalize is called on it.
modules
An ISAModules object.
...
Additional arguments. ISASweep passes these to isa.sweep; ISASweepGraphPlot passes additional arguments to plot.igraph.
sweep.result
An ISAModules object that contains the sweep tree information as well.
graph
An igraph graph object, the sweep tree.
vertex.label
Vertex labels, by default the ids of the modules.
vertex.label.topleft
Vertex labels to put at the top left corner.
vertex.label.topright
Vertex labels to put at the top right corner.
vertex.label.bottomleft
Vertex labels to put at the bottom left corner.
vertex.label.bottomright
Vertex labels to put at the bottom right corner.
vertex.label.cex
Magnification factor for the vertex labels.
edge.label
Edge labels.
asp
Logical scalar, whether the plot should have 1:1 aspect ratio.
rescale
Logical scalar, whether to rescale the layout coordinates to the [-1,1] interval.
xlim
Numeric vector of length two, the X limits of the plot.
ylim
Numeric vector of length two, the Y limits of the plot.
thresholds
Logical scalar, whether to add the (non-constant) thresholds to the plot.
xlab
The label of the horizontal axis, by default omitted.
ylab
The label of the vertical axis, by default omitted.

Value

ISASweep returns an ISAModules object, with some seed data added.ISASweepGraph returns an igraph graph object.ISASweepGraphPlot returns NULL, invisibly.

Details

The ISA uses two threshold parameters that tune the sizes of the transcription modules. The sweep graph of an expression set is defined as the following. It is a directed graph, where the vertices are ISA modules, found at some threshold parameter values. There is an edge from module A to module B, if using 1) (the genes of) module A as the seed vector and 2) the threshold parameters used to find module B, the ISA converges to module B. The ISASweep function creates an ISA sweep tree, in which one threshold parameter is kept fixed and the other varies. It starts from the modules found at the most stringent (=highest) threshold parameters, and uses them individually as seeds at the next less stringent threshold level. If this ISA iteration converges to an already known module, then an edge of the sweep tree is found. If the iteration converges to a new module, then this is added to the module list, together with the sweep tree edge. Then we proceed with the next level of modules, towards the less stringent threshold parameters.

The ISASweepGraph function creates a graph object that corresponds to the sweep tree of the expression set.

The ISASweepGraphPlot function plots a graph created with ISASweepGraph.

References

Bergmann S, Ihmels J, Barkai N: Iterative signature algorithm for the analysis of large-scale gene expression data Phys Rev E Stat Nonlin Soft Matter Phys. 2003 Mar;67(3 Pt 1):031902. Epub 2003 Mar 11.

Examples

Run this code
library(genefilter)
library(ALL)
data(ALL)

varLimit <- 0.5
kLimit <- 4
ALimit <- 5
flist <- filterfun(function(x) var(x)>varLimit, kOverA(kLimit,ALimit))
ALL.filt <- ALL[genefilter(ALL, flist), ]
ALL.filt2 <- ALL.filt[, grepl("^B", ALL.filt$BT)]

# Run ISA
set.seed(2)
modules <- ISA(ALL.filt2, flist=NA, thr.gene=seq(2,4,by=0.5), thr.cond=1)

# Do the sweep
modules2 <- ISASweep(ALL.filt2, modules)
modules2

# Plot it
## Not run: 
#   G <- ISASweepGraph(modules2)
#   ISASweepGraphPlot(G)
# ## End(Not run)

Run the code above in your browser using DataLab