4.Normalization {limma} | R Documentation

## Normalization of Microarray Data

### Description

This page gives an overview of the LIMMA functions available to normalize data from spotted two-colour microarrays. Smyth and Speed (2003) give an overview of the normalization techniques implemented in the functions.

Usually data from spotted microarrays will be normalized using `normalizeWithinArrays`. A minority of data will also be normalized using `normalizeBetweenArrays` if diagnostic plots suggest a difference in scale between the arrays.

In rare circumstances, data might be normalized using `normalizeForPrintorder` before using `normalizeWithinArrays`.

All the normalization routines take account of spot quality weights which might be set in the data objects. The weights can be temporarily modified using `modifyWeights` to, for example, remove ratio control spots from the normalization process.

If one is planning analysis of single-channel information from the microarrays rather than analysis of differential expression based on log-ratios, then the data should be normalized using a single channel-normalization technique. Single channel normalization uses further options of the `normalizeBetweenArrays` function. For more details see the LIMMA User's Guide which includes a section on single-channel normalization.

`normalizeWithinArrays` uses utility functions `MA.RG`, `loessFit` and `normalizeRobustSpline`. `normalizeBetweenArrays` uses utility functions `normalizeMedians`, `normalizeMedianDeviations` and `normalizeQuantiles`, none of which need to be called directly by users.

### Backgound Correction

Usually one doesn't need to explicitly ask for background correction of the intensities because this is done by default by `normalizeWithinArrays`, which subtracts the background from the foreground intensities before applying the normalization method. This default background correction method can be over-ridden by using `backgroundCorrect` which offers a number of alternative background correct methods to simple subtraction. Simply use `backgroundCorrect` to correct the `RGList` before applying `normalizeWithinArrays`.

`backgroundCorrect` uses utility functions `ma3x3.matrix`, `ma3x3.spottedarray`, `fit.normexp`, `signal.normexp` and `m2loglik.normexp`.

`kooperberg` is a Bayesian background correction tool designed specifically for GenePix data. `kooperberg` is not currently used as the default method for GenePix data because it is computationally intensive. It requires several columns of the GenePix data files which are not read in by read.maimages, so you will need to use `read.series` instead of `read.maimages` if you wish to use `kooperberg`.

### Author(s)

Gordon Smyth

### References

Smyth, G. K., and Speed, T. P. (2003). Normalization of cDNA microarray data. In: METHODS: Selecting Candidate Genes from DNA Array Screens: Application to Neuroscience, D. Carter (ed.). Methods Volume 31, Issue 4, December 2003, pages 265-273. http://www.statsci.org/smyth/pubs/normalize.pdf

[Package limma version 1.9.6 Index]