Last data update: 2014.03.03

R: Find the optimal arrangement of biclusters for visualization...
OrderEVR Documentation

Find the optimal arrangement of biclusters for visualization in ExpressionView

Description

Finds the optimal arrangement of possibly overlapping biclusters that maximizes the areas of the largest contiguous parts of the biclusters. The reordering is necessary to obtain a visually appealing layout of the biclusters.

Usage

## S4 method for signature 'ISAModules'
OrderEV(biclusters, initialorder, maxtime, debuglevel)
## S4 method for signature 'Biclust'
OrderEV(biclusters, initialorder, maxtime, debuglevel)
## S4 method for signature 'list'
OrderEV(biclusters, initialorder, maxtime, debuglevel)

Arguments

biclusters

An ISAModules object, a Biclust object or a named list. The last one is probably coming from the isa2 package.

initialorder

A list containing the initial order. Usually the output of a previous ordering.

maxtime

The maximal computation time in seconds. The default value is one minute (maxtime=60).

debuglevel

The level of information provided during the ordering. By default, the debug output is turned off (debuglevel=0).

Details

OrderEV performs a brute-force ordering of the biclusters, treating the rows and the columns of the matrix independently. The ordering algorithm is described in more detail in the accompanying vignette of the package.

Value

A named list is returned with the following elements:

rows / genes

A list containing the maps between the rows of the initial and the optimally ordered gene expression matrix. The first element represents the map of the complete data set, while the subsequent entries contain the row maps of the data sets projected onto the individual clusters. This entry is called ‘rows’ if the function is called with a simple list as the first argument, and ‘genes’ otherwise.

cols / samples

A list containing the maps between the columns of the initial and the optimally ordered gene expression matrix. The first element represents the map of the complete data set, while the subsequent entries contain the column maps of the data sets projected onto the individual clusters. This entry is called ‘cols’ if the function is called with a simple list as the first argument, and ‘samples’ otherwise.

status

A list containing the status of the ordering. The list has two entries, named genes and samples (or rows and cols if the function was called with a simple list as the first argument). Each entry is a numeric vector of ones and zeros. A 1 indicates that the map is fully optimized, whereas a 0 signals that the ordering could not be completely within the given time frame.

Author(s)

Andreas Lüscher andreas.luescher@a3.epfl.ch

See Also

ExportEV, LaunchEV, ISA, biclust

Examples

## We generate some noisy in-silico data with biclusters,
## scramble the initially ordered arrangement
## identify the bicluster with the Iterative Signature Algorithm (ISA)
## and order the results with the OrderEV function
library(isa2)
data.in.silico <- isa.in.silico(noise=0.1)[[1]]
data.in.silico <- data.in.silico[sample(c(1:dim(data.in.silico)[1])),
                                 sample(c(1:dim(data.in.silico)[2]))] 
isa.results <- isa(data.in.silico)
optimalorder <- OrderEV(isa.results)
str(optimalorder)

## Create a plot for the scrambled and the optimal orderings
## Not run: 
layout(rbind(1:2))
image(data.in.silico)
image(data.in.silico[optimalorder$rows[[1]],
                     optimalorder$cols[[1]]])

## End(Not run)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(ExpressionView)
Loading required package: caTools
Loading required package: bitops
Loading required package: isa2
Loading required package: eisa
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: AnnotationDbi
Loading required package: stats4
Loading required package: IRanges
Loading required package: S4Vectors

Attaching package: 'S4Vectors'

The following object is masked from 'package:caTools':

    runmean

The following objects are masked from 'package:base':

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: GO.db

Loading required package: KEGG.db

KEGG.db contains mappings based on older data because the original
  resource was removed from the the public domain before the most
  recent update was produced. This package should now be considered
  deprecated and future versions of Bioconductor may not have it
  available.  Users who want more current data are encouraged to look
  at the KEGGREST or reactome.db packages

> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/ExpressionView/OrderEV.Rd_%03d_medium.png", width=480, height=480)
> ### Name: OrderEV
> ### Title: Find the optimal arrangement of biclusters for visualization in
> ###   ExpressionView
> ### Aliases: OrderEV OrderEV-methods OrderEV,ISAModules-method
> ###   OrderEV,Biclust-method OrderEV,list-method
> ### Keywords: cluster
> 
> ### ** Examples
> 
> ## We generate some noisy in-silico data with biclusters,
> ## scramble the initially ordered arrangement
> ## identify the bicluster with the Iterative Signature Algorithm (ISA)
> ## and order the results with the OrderEV function
> library(isa2)
> data.in.silico <- isa.in.silico(noise=0.1)[[1]]
> data.in.silico <- data.in.silico[sample(c(1:dim(data.in.silico)[1])),
+                                  sample(c(1:dim(data.in.silico)[2]))] 
> isa.results <- isa(data.in.silico)
> optimalorder <- OrderEV(isa.results)
ordering 300 rows ordering rows in module 1  ordering rows in module 2  ordering rows in module 3  ordering rows in module 4  ordering rows in module 5  ordering rows in module 6  ordering 50 columns ordering columns in module 1  ordering columns in module 2  ordering columns in module 3  ordering columns in module 4  ordering columns in module 5  ordering columns in module 6  ordering done.                                   
> str(optimalorder)
List of 3
 $ rows  :List of 7
  ..$ : int [1:300] 1 3 12 13 15 18 19 22 23 29 ...
  ..$ : int [1:50] 1 2 3 4 5 6 7 8 9 10 ...
  ..$ : int [1:50] 1 2 3 4 5 6 7 8 9 10 ...
  ..$ : int [1:50] 1 2 3 4 5 6 7 8 9 10 ...
  ..$ : int [1:100] 1 2 7 8 9 10 11 12 13 14 ...
  ..$ : int [1:100] 1 2 5 6 7 8 9 11 12 14 ...
  ..$ : int [1:100] 1 3 4 6 10 15 16 17 18 19 ...
 $ cols  :List of 7
  ..$ : int [1:50] 2 16 19 20 22 25 27 28 3 5 ...
  ..$ : int [1:8] 1 2 3 4 5 6 7 8
  ..$ : int [1:8] 1 2 3 4 5 6 7 8
  ..$ : int [1:8] 1 2 3 4 5 6 7 8
  ..$ : int [1:16] 1 6 7 8 9 10 11 12 2 3 ...
  ..$ : int [1:16] 1 3 5 8 9 11 12 15 2 4 ...
  ..$ : int [1:16] 1 5 7 8 9 10 11 12 2 3 ...
 $ status:List of 2
  ..$ rows: num [1:7] 1 1 1 1 1 1 1
  ..$ cols: num [1:7] 1 1 1 1 1 1 1
> 
> ## Create a plot for the scrambled and the optimal orderings
> ## Not run: 
> ##D layout(rbind(1:2))
> ##D image(data.in.silico)
> ##D image(data.in.silico[optimalorder$rows[[1]],
> ##D                      optimalorder$cols[[1]]])
> ## End(Not run)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>