\HeaderA{threestep}{Three Step expression measures}{threestep}
\keyword{manip}{threestep}
\begin{Description}\relax
This function converts an \code{\LinkA{AffyBatch}{AffyBatch}} into an
\code{\LinkA{exprSet}{exprSet}} using
a three step expression measure.
\end{Description}
\begin{Usage}
\begin{verbatim}
threestep(object,subset=NULL, verbose=TRUE, normalize=TRUE,background=TRUE,background.method="RMA.2",normalize.method="quantile",summary.method="median.polish",background.param = list(),normalize.param=list(),summary.param=list())
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{object}] an \code{\LinkA{AffyBatch}{AffyBatch}}
\item[\code{subset}] a vector with the names of probesets to be used. If NULL
then all probesets are used.
\item[\code{verbose}] logical value. If \code{TRUE} it writes out some messages. (Curently ignored)
\item[\code{normalize}] logical value. If \code{TRUE} normalize data using
quantile normalization
\item[\code{background}] logical value. If \code{TRUE} background correct
using RMA background correction
\item[\code{background.method}] name of background method to use.
\item[\code{normalize.method}] name of normalization method to use.
\item[\code{summary.method}] name of summary method to use.
\item[\code{background.param}] list of parameters for background correction methods
\item[\code{normalize.param}] list of parameters for normalization methods
\item[\code{summary.param}] list of parameters for summary methods
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
This function computes the expression measure using threestep
methods. Greater details can be found in a vignette.
\end{Details}
\begin{Value}
An \code{\LinkA{exprSet}{exprSet}}
\end{Value}
\begin{Author}\relax
Ben Bolstad \email{bmb@bmbolstad.com}
\end{Author}
\begin{References}\relax
Bolstad, BM (2004) \emph{Low Level Analysis of High-density
Oligonucleotide Array Data: Background, Normalization and
Summarization}. PhD Dissertation. University of California, Berkeley.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{expresso}{expresso}}, \code{\LinkA{rma}{rma}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
data(affybatch.example)

# should be equivalent to rma()
eset <- threestep(affybatch.example)

# Using Tukey Biweight summarization
eset <- threestep(affybatch.example,summary.method="tukey.biweight")

# Using Average Log2 summarization
eset <- threestep(affybatch.example,summary.method="average.log")

# Using IdealMismatch background and Tukey Biweight and no normalization.
eset <- threestep(affybatch.example,normalize=FALSE,background.method="IdealMM",summary.method="tukey.biweight")

# Using average.log summarization and no background or normalization.
eset <- threestep(affybatch.example,background=FALSE,normalize=FALSE,background.method="IdealMM",summary.method="tukey.biweight")

# Use threestep methodology with the rlm model fit
eset <- threestep(affybatch.example,summary.method="rlm")

# Use threestep methodology with the log of the average
eset <- threestep(affybatch.example,summary.method="log.average")

# Use threestep methodology with log 2nd largest method
eset <- threestep(affybatch.example,summary.method="log.2nd.largest")

eset <- threestep(affybatch.example,background.method="LESN2")
\end{ExampleCode}
\end{Examples}

