\HeaderA{05.Normalization}{Normalization of Microarray Data}{05.Normalization}
\keyword{documentation}{05.Normalization}
\begin{Description}\relax
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 \code{\LinkA{normalizeWithinArrays}{normalizeWithinArrays}}.
A minority of data will also be normalized using \code{\LinkA{normalizeBetweenArrays}{normalizeBetweenArrays}} if diagnostic plots suggest a difference in scale between the arrays.

In rare circumstances, data might be normalized using \code{\LinkA{normalizeForPrintorder}{normalizeForPrintorder}} before using \code{\LinkA{normalizeWithinArrays}{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 \code{\LinkA{modifyWeights}{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 \code{\LinkA{normalizeBetweenArrays}{normalizeBetweenArrays}} function.
For more details see the \emph{\LinkA{LIMMA User's Guide}{LIMMA User's Guide}} which includes a section on single-channel normalization.

\code{normalizeWithinArrays} uses utility functions \code{\LinkA{MA.RG}{MA.RG}}, \code{\LinkA{loessFit}{loessFit}} and \code{\LinkA{normalizeRobustSpline}{normalizeRobustSpline}}.
\code{normalizeBetweenArrays} uses utility functions \code{\LinkA{normalizeMedianAbsValues}{normalizeMedianAbsValues}} and \code{\LinkA{normalizeQuantiles}{normalizeQuantiles}}, none of which need to be called directly by users.

\code{removeBatchEffect} can be used to remove a batch effect, associated with hybridization time or some other technical variable, prior to unsupervised analysis.
\end{Description}
\begin{Author}\relax
Gordon Smyth
\end{Author}
\begin{References}\relax
Smyth, G. K., and Speed, T. P. (2003). Normalization of cDNA microarray data. In: \emph{METHODS: Selecting Candidate Genes from DNA Array Screens: Application to Neuroscience}, D. Carter (ed.). Methods Volume 31, Issue 4, December 2003, pages 265-273. \url{http://www.statsci.org/smyth/pubs/normalize.pdf}
\end{References}

