"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.iterationsoscillationthr.rowthr.colfreqrobrobustness for details.rob.limitisa.filter.robust for details.directiondirection argument
of isa.iterate for details.convergenceconvergence argument of
isa.iterate for details.epscor.limitcorxconvergence
argument of isa.iterate for details.maxiterNprenormalizehasNANA or NaN values.uniqueisa.unique.oscillationrob.permsperms 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