\Header{loess.normalize}{Normalize arrays}
\keyword{smooth}{loess.normalize}
\begin{Description}\relax
This function treats PM and MM as the raw data on each chip. It fits
loess curves to MVA plots and tries to
normalize the chips with respect to each other by forcing log ratios to
be scattered around the same constant.
\end{Description}
\begin{Usage}
\begin{verbatim}
loess.normalize(mat, subset=sample(1:dim(mat)[2], 5000), epsilon=10^-2,
          maxit=1,log.it=TRUE, verbose=TRUE, span=2/3, family.loess="symmetric")
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{mat}] a matrix with columns containing the values of the chips
to normalize.
\item[\code{subset}] a subset of the data to fit a loess to.
\item[\code{epsilon}] small value used for the stopping criterion.
\item[\code{maxit}] maximum number of iterations.
\item[\code{log.it}] logical. If \code{TRUE} it takes the log2 of \code{mat}
\item[\code{verbose}] logical. If \code{TRUE} displays current pair of chip being
worked on.
\item[\code{span}] span to be used by loess
\item[\code{family.loess}] \code{"gaussian"} or \code{"symmetric"}
as in \code{\Link{loess}}
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Experience shows that you only need 1-2 iterations to obtain useful
results. This function is not written in an efficient way. In order to
make it faster, loess is fit to a sample of the data which we then use to
predict the curve for all the data. By setting
\code{family.loess="gaussian"} the function is faster, but you risk
losing information on differentially expressed genes. The function
\code{\Link{normalize.quantiles}} is faster.
\end{Details}
\begin{Value}
A matrix with normalized values for chips in columns.\end{Value}
\begin{Author}\relax
Rafael A. Irizarry
\end{Author}
\begin{SeeAlso}\relax
\code{\Link{normalize.quantiles}}, \code{\Link{maffy.normalize}},
\code{\Link{maffy.subset}}
\end{SeeAlso}

