Learn R Programming

BoolNet (version 1.44)

plotAttractors: Plot state tables or transition graphs of attractors

Description

Visualizes attractors, either by drawing a table of the involved states in two colors, or by drawing a graph of transitions between the states of the attractor.

Usage

plotAttractors(attractorInfo, 
               subset, 
               title = "", 
               mode = c("table","graph"),
               grouping = list(), 
               plotFixed = TRUE, 
               onColor = "green",
               offColor = "red",
               layout = layout.circle, 
               drawLabels = TRUE,
               ...)

Arguments

attractorInfo
An object of class AttractorInfo, as returned by getAttractors
subset
An subset of attractors to be plotted. This is a vector of attractor indices in attractorInfo.
title
An optional title for the plot
mode
Switches between two kinds of attractor plots. See Details for more information. Default is "table".
grouping
This optional parameter is only used if mode="table" and specifies a structure to form groups of genes in the plot. This is a list with the following elements: [object Object],[object Object]
plotFixed
This optional parameter is only used if mode="table". If this is true, genes with fixed values are included in the plot. Otherwise, these genes are not drawn.
onColor
This optional parameter is only used if mode="table" and specifies the color value for the 1/ON values in the table. Defaults to green.
offColor
This optional parameter is only used if mode="table" and specifies the color value for the 0/OFF values in the table. Defaults to red.
layout
If mode="graph", this parameter specifies a layouting function that determines the placement of the nodes in the graph. Please refer to the layout manual entry in the igraph pac
drawLabels
This parameter is only relevant if mode="graph". It determines whether the nodes of the graph are annotated with the corresponding values of the genes in the attractor states.
...
Further graphical parameters to be passed to plot.igraph if mode="graph".

Value

  • If mode="table", a list of matrices corresponding to the tables is returned. Each of these matrices has the genes in the rows and the states of the attractors in the columns.

    If mode="graph", a list of objects of class igraph is returned. Each of these objects describes the graph for one attractor.

Details

This function comprises two different types of plots:

The "table" mode visualizes the gene values of the states in the attractor and is only suited for synchronous or steady-state attractors. Complex asynchronous attractors are omitted in this mode. Attractors in attractorInfo are first grouped by length. Then, a figure is plotted to the currently selected device for each attractor length (i.e. one plot with all attractors consisting of 1 state, one plot with all attractors consisting of 2 states, etc.). This means that on the standard X11 output device, only the last plot is displayed unless you set par(mfrow=c(...)) accordingly. The figure is a table with the genes in the rows and the states of the attractors in the columns. Cells of the table are (by default) red for 0/OFF values and green for 1/ON values. If grouping is set, the genes are rearranged according to the indices in the group, horizontal separation lines are plotted between the groups, and the group names are printed.

The "graph" mode visualizes the transitions between different states. It creates a graph in which the vertices are the states in the attractor and the edges are state transitions among these states. This mode can visualize all kinds of attractors, including complex/loose attractors. One plot is drawn for each attractor. As before, this means that on the standard output device, only the last plot is displayed unless you set par(mfrow=c(...)) accordingly.

See Also

getAttractors, attractorsToLaTeX

Examples

Run this code
library(BoolNet)

# load example data
data(cellcycle)

# get attractors
attractors <- getAttractors(cellcycle)

# calculate number of different attractor lengths, 
# and plot attractors side by side in "table" mode
par(mfrow=c(1, length(table(sapply(attractors$attractors,
                          function(attractor)
                          {
                            length(attractor$involvedStates)
                          })))))
plotAttractors(attractors)

# plot attractors in "graph" mode
par(mfrow=c(1, length(attractors$attractors)))
plotAttractors(attractors, mode="graph")

# identify asynchronous attractors
attractors <- getAttractors(cellcycle, type="asynchronous")

# plot attractors in "graph" mode
par(mfrow=c(1, length(attractors$attractors)))
plotAttractors(attractors, mode="graph")

Run the code above in your browser using DataLab