\HeaderA{read.affybatch}{Read CEL files into an AffyBatch}{read.affybatch}
\aliasA{AllButCelsForReadAffy}{read.affybatch}{AllButCelsForReadAffy}
\aliasA{ReadAffy}{read.affybatch}{ReadAffy}
\keyword{manip}{read.affybatch}
\begin{Description}\relax
Read CEL files into an Affybatch
\end{Description}
\begin{Usage}
\begin{verbatim}
read.affybatch(..., filenames = character(0),
               phenoData = new("phenoData"),
               description = NULL,
               notes = "",
               compress = getOption("BioC")$affy$compress.cel,
               rm.mask = FALSE, rm.outliers = FALSE, rm.extra = FALSE,
               verbose = FALSE)

ReadAffy(..., filenames=character(0),
              widget=getOption("BioC")$affy$use.widgets,
              compress=getOption("BioC")$affy$compress.cel,
              celfile.path=NULL,
              sampleNames=NULL,
              phenoData=NULL,
              description=NULL,
              notes="",
              rm.mask=FALSE, rm.outliers=FALSE, rm.extra=FALSE,
              verbose=FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{...}] file names separated by comma.
\item[\code{filenames}] file names in a character vector.
\item[\code{phenoData}] a \code{\LinkA{phenoData}{phenoData}} object
\item[\code{description}] a \code{\LinkA{MIAME}{MIAME}} object 
\item[\code{notes}] notes 
\item[\code{compress}] are the CEL files compressed ?
\item[\code{rm.mask}] should the spots marked as 'MASKS' set to \code{NA} ? 
\item[\code{rm.outliers}] should the spots marked as 'OUTLIERS' set to \code{NA} 
\item[\code{rm.extra}] if \code{TRUE}, overrides what is in \code{rm.mask} and \code{rm.oultiers} 
\item[\code{verbose}] verbosity flag 
\item[\code{widget}] a logical specifying if widgets should be used.
\item[\code{celfile.path}] a character denoting the path \code{ReadAffy}
should look for cel files
\item[\code{sampleNames}] a character vector of sample names to be used in
the \code{AffyBatch}
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{ReadAffy} is a wrapper for \code{read.affybatch} that permits the
user to read in phenoData, MIAME information, and CEL files using
widgets. One can also define files where to read phenoData and MIAME
information.

If the function is call with no arguments \code{ReadAffy()} all the CEL
files in the working directory are read and put into an
\code{AffyBatch}.
However, the arguments give the user great flexibility.

\code{phenoData} is read using \code{link[Biobase]\{read.phenoData\}}. If a
character is given it tries to read the file with that name
to obtain the phenoData
object as described in \code{link[Biobase]\{read.phenoData\}}. If left
\code{NULL} but \code{widget=TRUE} then widgets are used. If left
\code{NULL} and \code{widget=FALSE} then a default object is created.
It will be a data frame with
\code{new("phenoData",pData=data.frame(x=1:length(CELfiles)),varLabels=list(x="arbitrary number"))}


\code{AllButCelsForReadAffy} is an internal function that gets called
by \code{ReadAffy}. It gets all the information expect the cel intencities.


\code{description} is read using \code{\LinkA{read.MIAME}{read.MIAME}}. If a
character is given it tries to read the file with that name to obtain a
\code{MIAME} instance. If left
\code{NULL} but \code{widget=TRUE} then widgets are used. If left
\code{NULL} and \code{widget=FALSE} then an empty instance of
\code{MIAME} is created..
\end{Details}
\begin{Value}
An \code{AffyBatch} object.
\end{Value}
\begin{Author}\relax
Ben Bolstad \email{bolstad@stat.berkeley.edu} (read.affybatch),
Laurent Gautier,
and Rafael A. Irizarry (ReadAffy)
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{AffyBatch}{AffyBatch}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
if(require(affydata)){
     celpath <- paste(.path.package("affydata"),"celfiles",sep="/")
     fns <- list.celfiles(path=celpath,full.names=TRUE)
 
     cat("Reading files:\n",paste(fns,collapse="\n"),"\n")
     ##read a binary celfile
     abatch <- ReadAffy(filenames=fns[1])
     ##read a text celfile
     abatch <- ReadAffy(filenames=fns[2])
     ##read all files in that dir
     abatch <- ReadAffy(celfile.path=celpath)
}
\end{ExampleCode}
\end{Examples}

