| bas {OLIN} | R Documentation |
This function performs an between-array scaling
bas(obj,mode="var")
obj |
object of “marrayNorm” |
mode |
mode of scaling. Default option is scaling of arrays
to have the same within-array variance of
logged ratios (var). Alternatively, mad
qq can be used (see details) |
The function bsv adjust the scale of logged ratios (M=(log2(Ch2)-log2(Ch1)))
between the different arrays stored in obj.
Following schemes (mode) are implemented:
mode="var": Logged ratios M are scaled to show the same (within-array)
variance for all arrays in the batch stored in obj.
The variance is calculated using var.
mode="mad": The same procedure as for mode="var" is applied using, however,
median absolute deviation (mad) as robust estimate for withing-array variance.
mode="qq": The quantile scaling is using the same procedure as the quantile normalisation described
by Bolstad et al. (2003). In brief: Given X is the matrix with logged ratios (column corresponding to arrays, rows to genes)
M.
Between-array scaling should only be performed if it can be assumed that the different arrays have a similar distribution of logged ratios. This has to be check on a case-by-case basis. Caution should be taken in the interpretation of results for arrays hybridised with biologically divergent samples, if between-array scaling is applied.
Matthias E. Futschik (http://itb.biologie.hu-berlin.de/~futschik)
Bolstad et al., A comparison of normalization methods for high density oligonucleotide array data based on variance and bias, Bioinformatics, 19: 185-193, 2003
# DISTRIBUTION OF M BEFORE SCALING
data(sw.olin)
col <- c("red","blue","green","orange")
M <- maM(sw.olin)
plot(density(M[,4]),col=col[4],xlim=c(-2,2))
for (i in 1:3){
lines(density(M[,i]),col=col[i])
}
# SCALING AND VISUALISATION
sw.olin.s <- bas(sw.olin,mode="var")
M <- maM(sw.olin.s)
plot(density(M[,4]),col=col[4],xlim=c(-2,2))
for (i in 1:3){
lines(density(M[,i]),col=col[i])
}