\HeaderA{lumiB}{Background correction of Illumina data}{lumiB}
\keyword{methods}{lumiB}
\begin{Description}\relax
Background correction of Illumina data
\end{Description}
\begin{Usage}
\begin{verbatim}
lumiB(x.lumi, method = c('none', 'bgAdjust', 'forcePositive', 'bgAdjust.affy'), verbose = TRUE, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x.lumi}] an ExpressionSet inherited object or a data matrix with columns as samples and rows as genes. For 'bgAdjust' method, it should be a LumiBatch Object 
\item[\code{method}] the background correction method, it can be any function with a LumiBatch Object as the first argument and return a LumiBatch Object 
\item[\code{verbose}] a boolean to decide whether to print out some messages 
\item[\code{...}] other parameters used by the user provided background correction method  
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
We assume the BeadStudio output data is background corrected. So by default, it will do nothing. The 'bgAdjust' method will estimate the background based on the control probe information, which is kept in the controlData slot of LumiBatch object. The 'forcePositive' method will force all expression values to be positive by adding an offset (minus minimum value plus one), it does nothing if all expression values are positive. The purpose of this is to avoid NA when do logarithm transformation. 'none' does not but return the LumiBatch object. 'bgAdjust.affy' will call the \code{\LinkA{bg.adjust}{bg.adjust}} function in affy package. User can also provide their own function with a LumiBatch Object as the first argument and return a LumiBatch Object with background corrected.

Thanks Kevin Coombes (M.D. Anderson Cancer Center) suggested adding this function.
\end{Details}
\begin{Value}
Return an object with background corrected. The class of the return object is the same as the input object x.lumi.
\end{Value}
\begin{Author}\relax
Pan Du, Kevin Coombes
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{bgAdjust}{bgAdjust}}, \code{\LinkA{lumiExpresso}{lumiExpresso}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## load example data
data(example.lumi)

## Do the default background correction method
lumi.B <- lumiB(example.lumi, method='bgAdjust', probs=0)

\end{ExampleCode}
\end{Examples}

