Microarray normalization

From Organic Design wiki

{{#Security:*|Sven}}

Two channel cDNA microarrays

The purpose of normalization is to identify and remove systematic technical variation while retaining the biological signal. Among the sources of technical variation are different labelling efficiences and scanning properties of the Cy3 and Cy5 dyes, different scanning parameters, print tip, spacial and plate effects. Normalization precedures aim to ensure that the observed differences in intensity indeed reflect the differencial gene expression and not artficial biases due to technical factors. There is a bias-variance tradeoff: more complex normalization precedures tend to be able to remove more of the technical variation that simple precedures - but they might also remove more of the biological signal, and they might even introduce new sources of variation of their own. For example, due to the uncertainty with which the optimal normalization parameters can be estimated. The choice between different methods and method settings for the optimal trade-off is not simple, and it is currenty mostly done manually on an ad hoc basis. A more thorough discussion of these issues and a proposal to achive some automation is given by Xiao et al. (2005).

The process of two channel normalizaion can be separated in two main components: localtion and scale In general, method for location and scale normalization adjust the center ans spread of the distribution of log-ratios. the normzlized intensity log-ratios Mnorm are generally given by;

[math] M_{norm} = \frac{M - l}{s}[/math]

--Bioinformatics and computational biology solutions using R and BioConductor (page 62-63)

Normalization methods can be partitioned into a Dichotomy two types Within slide, and Between slide normalization.

Limma

Within slide

Between slide

  • normalizeBetweenArrays
    • scale
    • quantile normalizeQuantiles(cbind(object$A - object$M/2, object$A + object$M/2), ...)
    • Aquantile normalizeQuantiles(object$A, ...)
    • Gquantile normalizeQuantiles(G, ...) - G
    • Rquantile normalizeQuantiles(R, ...) - R
    • Tquantile normalizeQuantiles(Z[, j], ...) where j are unique targets and Z <-cbind(object$A - object$M/2, object$A + object$M/2)
    • vsn