# The Spectral Bicluster algorithm

### Description

Performs Spectral Biclustering as described in Kluger et al., 2003. Spectral biclustering supposes that normalized microarray data matrices have a checkerboard structure that can be discovered by the use of svd decomposition in eigenvectors, applied to genes (rows) and conditions (columns).

### Usage

1 2 3 | ```
## S4 method for signature 'matrix,BCSpectral'
biclust(x, method=BCSpectral(), normalization="log", numberOfEigenvalues=3,
minr=2, minc=2, withinVar=1)
``` |

### Arguments

`x` |
The data matrix where biclusters are to be found |

`method` |
Here BCSpectral, to perform Spectral algorithm |

`normalization` |
Normalization method to apply to mat. Three methods are allowed as described by Kluger et al.: "log" (Logarithmic normalization), "irrc" (Independent Rescaling of Rows and Columns) and "bistochastization". If "log" normalization is used, be sure you can apply logarithm to elements in data matrix, if there are values under 1, it automatically will sum to each element in mat (1+abs(min(mat))) Default is "log", as recommended by Kluger et al. |

`numberOfEigenvalues` |
the number of eigenValues considered to find biclusters. Each row (gene) eigenVector will be combined with all column (condition) eigenVectors for the first numberOfEigenValues eigenvalues. Note that a high number could increase dramatically time performance. Usually, only the very first eigenvectors are used. With "irrc" and "bistochastization" methods, first eigenvalue contains background (irrelevant) information, so it is ignored. |

`minr` |
minimum number of rows that biclusters must have. The algorithm will not consider smaller biclusters. |

`minc` |
minimum number of columns that biclusters must have. The algorithm will not consider smaller biclusters. |

`withinVar` |
maximum within variation allowed. Since spectral biclustering outputs a checkerboard structure despite of relevance of individual cells, a filtering of only relevant cells is necessary by means of this within variation threshold. |

### Value

Returns an object of class `Biclust`

.

### Author(s)

Rodrigo Santamaria rodri@usal.es

### References

Kluger et al., "Spectral Biclustering of Microarray Data: Coclustering Genes and Conditions", Genome Research, 2003, vol. 13, pages 703-716

### Examples

1 2 3 4 5 6 | ```
#Random matrix with embedded bicluster
test <- matrix(rnorm(5000),100,50)
test[11:20,11:20] <- rnorm(100,10,0.1)
res1 <- biclust(test, method=BCSpectral(), numberOfEigenvalues=1)
res1
``` |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.