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]) }