# diagnoseColRow: Bootstrap Procedure for Bicluster Diagnostics In biclust: BiCluster Algorithms

## Description

Calculate the signifiance of the discovered patter in the data based on the bootstrapping procedure.

## Usage

 `1` ```diagnoseColRow(x, bicResult, number, nResamplings, replace = TRUE) ```

## Arguments

 `x` data matrix, which `biclust` function was applied to `bicResult` object of class `biclust`, containing result of a biclustering algorithm `number` number of bicluster from the output for the diagnostics `nResamplings` number of bootstrap replicates `replace` logical flag for bootstrap (TRUE), or sampling without replacement (FALSE)

## Details

The function computes observed F statistics for row and column effect based on two-way ANOVA model. Bootstrap procedure is used to evaluate the significance of discovered bicluster. Based on `nResamplings` replicates, the disribution of F statistics for row and column effects are obtained. The p-value is computed as

P(A) = F^*(A)_b > F(A)^{obs} /(nResamplings+1)

Low p-values denote non-random selection of columns for a given bicluster. Large p-values show that in other columns for a given set of genes in the bicluster structure is similar. Hence, bicluster columns were just randomly picked by an algorithm for a set of co-regulated genes.

## Value

 `bootstrapFstats` matrix with two columns, containing values of bootstrap F-statistics. The first column corresponds to row, the second column corresponds to column. `observedFstatRow` observed F-statistics for the row effect `observedFstatCol` observed F-statistics for the column effect `bootstrapPvalueRow` bootstrap p value for row effect `bootstrapPvalueCol` bootstrap p value for column effect

## Author(s)

Tatsiana KHAMIAKOVA [email protected]

`diagnosticPlot`, `computeObservedFstat`, `ChiaKaruturi`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21``` ```#---simulate dataset with 1 bicluster ---# xmat<-matrix(rnorm(20*50,0,0.25),50,50) # background noise only rowSize <- 20 #number of rows in a bicluster colSize <- 10 #number of columns in a bicluster a1<-rnorm(rowSize,1,0.1) #sample row effect from N(0,0.1) #adding a coherent values bicluster: b1<-rnorm((colSize),2,0.25) #sample column effect from N(0,0.05) mu<-0.01 #constant value signal for ( i in 1 : rowSize){ for(j in 1: (colSize)){ xmat[i,j] <- xmat[i,j] + mu + a1[i] + b1[j] } } #--obtain a bicluster by running an algorithm---# plaidmab <- biclust(x=xmat, method=BCPlaid(), cluster="b", fit.model = y ~ m + a+ b, background = TRUE, row.release = 0.6, col.release = 0.7, shuffle = 50, back.fit = 5, max.layers = 1, iter.startup = 100, iter.layer = 100, verbose = TRUE) #Run boosotrap procedure: Bootstrap <- diagnoseColRow(x=xmat, bicResult = plaidmab, number = 1, nResamplings = 999, replace = TRUE) diagnosticPlot(bootstrapOutput = Bootstrap) # plotting distribution of bootstrap replicates ```