"isa"(data, ...)
NA
and/or NaN
values, but then the algorithm might be a
bit slower, as R matrix multiplication might be slower for these
matrices, depending on your platform.rows
contains
NA
values.columns
contains
NA
values.iterations
oscillation
thr.row
thr.col
freq
rob
robustness
for details.rob.limit
isa.filter.robust
for details.direction
direction
argument
of isa.iterate
for details.convergence
convergence
argument of
isa.iterate
for details.eps
cor.limit
corx
convergence
argument of isa.iterate
for details.maxiter
N
prenormalize
hasNA
NA
or NaN
values.unique
isa.unique
.oscillation
rob.perms
perms
argument of the
isa.filter.robust
function for details.This function can be called as
isa(data, thr.row=seq(1,3,by=0.5), thr.col=seq(1,3,by=0.5), no.seeds=100, direction=c("updown", "updown"))where the arguments are:
NA
and/or NaN
values, but then the algorithm might be a
bit slower, as R matrix multiplication might be slower for these
matrices, depending on your platform.
thr.row
and
thr.col
.
thr.row
and thr.col
.
up
) than average,
lower than average (down
), or both
(updown
).
The isa
function provides an easy to use interface to the
ISA. It runs all steps of a typical ISA work flow with their default
parameters.
This involves:
isa.normalize
.
generate.seeds
.
isa.iterate
.
isa.unique
.
isa.filter.robust
.
Please see the manual pages of these functions for the details or if you want to change their default parameters.
Ihmels J, Bergmann S, Barkai N: Defining transcription modules using large-scale gene expression data Bioinformatics 2004 Sep 1;20(13):1993-2003. Epub 2004 Mar 25.
## We generate some noisy in-silico data with modules and try to find
## them with the ISA. This might take one or two minutes.
data <- isa.in.silico(noise=0.1)
isa.result <- isa(data[[1]])
## Find the best bicluster for each block in the input
best <- apply(cor(isa.result$rows, data[[2]]), 2, which.max)
## Check correlation
sapply(seq_along(best),
function(x) cor(isa.result$rows[,best[x]], data[[2]][,x]))
## The same for the columns
sapply(seq_along(best),
function(x) cor(isa.result$columns[,best[x]], data[[3]][,x]))
## Plot the data and the modules found
if (interactive()) {
layout(rbind(1:2,3:4))
image(data[[1]], main="In-silico data")
sapply(best, function(b) image(outer(isa.result$rows[,b],
isa.result$columns[,b]),
main=paste("Module", b)))
}
Run the code above in your browser using DataLab