\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{ExpressionSet}{ExpressionSet}} using a three step expression measure.
\end{Description}
\begin{Usage}
\begin{verbatim}
threestep(object,subset=NULL, normalize=TRUE,background=TRUE,background.method="RMA.2",normalize.method="quantile",summary.method="median.polish",background.param = list(),normalize.param=list(),summary.param=list(),verbosity.level=0)
\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 \code{NULL}, then all probesets are used.
\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.
\item[\code{verbosity.level}] An integer specifying how much to print
out. Higher values indicate more verbose. A value of 0 will print nothing.
\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{ExpressionSet}{ExpressionSet}}
\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}
if (require(affydata)) {
  data(Dilution)

  # should be equivalent to rma()
  eset <- threestep(Dilution)

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

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

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

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

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

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

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

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

