isa.normalize: Normalize input data for use with ISA

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Normalize a matrix and create a form that can be effectively used for ISA runs.

Usage

1
2
## S4 method for signature 'matrix'
isa.normalize(data, ...)

Arguments

data

A numeric matrix, the input data. It might contains NA and/or NaN values.

...

Additional arguments, see details below.

Details

This function can be called as

1
2
    isa.normalize(data, prenormalize = FALSE)    
  

where the arguments are:

data

A numeric matrix, the input data. It might contains NA and/or NaN values.

prenormalize

Logical scalar, see details below.

It was observed that the ISA works better if the input matrix is scaled and its rows have mean zero and standard deviation one.

An ISA step consists of two sub-steps, and this implies two different normalizations, in the first the rows, in the second the columns of the input matrix will be scaled.

If the prenormalize argument is set to TRUE, then row-wise scaling is calculated on the column-wise scaled matrix and not on the input matrix directly.

Value

A list of two normalized matrices, the first one is transposed.

Author(s)

Gabor Csardi [email protected]

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.

Ihmels J, Friedlander G, Bergmann S, Sarig O, Ziv Y, Barkai N: Revealing modular organization in the yeast transcriptional network Nat Genet. 2002 Aug;31(4):370-7. Epub 2002 Jul 22

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.

See Also

isa2-package for a short introduction on the Iterative Signature Algorithm. See isa for an easy way of running ISA.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## In-silico data
set.seed(1)
insili <- isa.in.silico()
nm <- isa.normalize(insili[[1]])

## Check it
max(abs(rowSums(nm[[1]])))
max(abs(rowSums(nm[[2]])))

max(abs(apply(t(nm[[1]]), 2, sd) - 1))
max(abs(apply(t(nm[[2]]), 2, sd) - 1))

## Plot them
if (interactive()) {
  layout(rbind(1:2,3:4))
  image(insili[[1]], main="Original data")
  image(t(nm[[1]]), main="Row normalized")
  image(nm[[2]], main="Column normalized")
}

isa2 documentation built on May 29, 2017, 6:44 p.m.

Related to isa.normalize in isa2...