Description Usage Arguments Details Note Author(s) References See Also Examples
This function performs an betweenarray scaling
1 
obj 
object of “marrayNorm” 
mode 
mode of scaling. Default option is scaling of arrays
to have the same withinarray variance of
logged ratios ( 
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 (withinarray)
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 withingarray 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)
Sort each column of X (independently) producing Xs,
Replace values in each row of Xs by the mean value of the row producing Xsm,
Rearrange the ordering for each column of matrix Xsm, so that it has the columns have same ordering as for the original matrix X.
The last step yields the scaled logged ratios M
.
Betweenarray 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 casebycase basis. Caution should be taken in the interpretation of results for arrays hybridised with biologically divergent samples, if betweenarray scaling is applied.
Matthias E. Futschik (http://itb.biologie.huberlin.de/~futschik)
Bolstad et al., A comparison of normalization methods for high density oligonucleotide array data based on variance and bias, Bioinformatics, 19: 185193, 2003
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  # 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])
}

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.