Description Usage Arguments Details Note Author(s) References See Also Examples
This function performs an between-array scaling
1 |
obj |
object of “marrayNorm” |
mode |
mode of scaling. Default option is scaling of arrays
to have the same within-array 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 (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)
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
.
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
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.