\name{read.affybatch} \alias{read.affybatch} \alias{AllButCelsForReadAffy} \alias{ReadAffy} \title{Read CEL files into an AffyBatch} \description{ Read CEL files into an Affybatch. } \usage{ read.affybatch(\dots, filenames = character(0), phenoData = new("AnnotatedDataFrame"), description = NULL, notes = "", compress = getOption("BioC")$affy$compress.cel, rm.mask = FALSE, rm.outliers = FALSE, rm.extra = FALSE, verbose = FALSE,sd=FALSE, cdfname = NULL) ReadAffy(\dots, 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,sd=FALSE, cdfname = NULL) } \arguments{ \item{\dots}{file names separated by comma.} \item{filenames}{file names in a character vector.} \item{phenoData}{an \code{\link[Biobase:class.AnnotatedDataFrame]{AnnotatedDataFrame}} object, a \code{character} of length one, or a \code{data.frame}.} \item{description}{a \code{\link[Biobase:class.MIAME]{MIAME}} object.} \item{notes}{notes.} \item{compress}{are the CEL files compressed?} \item{rm.mask}{should the spots marked as 'MASKS' set to \code{NA}?} \item{rm.outliers}{should the spots marked as 'OUTLIERS' set to \code{NA}?} \item{rm.extra}{if \code{TRUE}, then overrides what is in \code{rm.mask} and \code{rm.oultiers}.} \item{verbose}{verbosity flag.} \item{widget}{a logical specifying if widgets should be used.} \item{celfile.path}{a character denoting the path \code{ReadAffy} should look for cel files.} \item{sampleNames}{a character vector of sample names to be used in the \code{AffyBatch}.} \item{sd}{should the standard deviation values in the CEL file be read in? Since these are typically not used default is not to read them in. This also save lots of memory.} \item{cdfname}{used to specify the name of an alternative cdf package. If set to \code{NULL}, then the usual cdf package based on Affymetrix' mappings will be used.} } \details{ \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 called 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. If \code{phenoData} is a character vector of length 1, the function \code{\link[Biobase]{read.AnnotatedDataFrame}} is called to read a file of that name and produce the \code{AnnotationDataFrame} object with the sample metadata. If \code{phenoData} is a \code{data.frame}, it is converted to an \code{AnnotatedDataFrame}. If it is \code{NULL} and \code{widget=FALSE} (\code{widget=TRUE} is not currently supported), then a default object of class \code{\link[Biobase:class.AnnotatedDataFrame]{AnnotatedDataFrame}} is created, whose \code{pData} is a data.frame with rownames being the names of the CEL files, and with one column \code{sample} with an integer index. \code{AllButCelsForReadAffy} is an internal function that gets called by \code{ReadAffy}. It gets all the information except the cel intensities. \code{description} is read using \code{\link[Biobase]{read.MIAME}}. If a character is given, then 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. } \value{ An \code{AffyBatch} object. } \author{Ben Bolstad \email{bmb@bmbolstad.com} (read.affybatch), Laurent Gautier, and Rafael A. Irizarry (ReadAffy)} \seealso{\code{\link[affy:AffyBatch-class]{AffyBatch}}} \examples{ if(require(affydata)){ celpath <- system.file("celfiles", package="affydata") 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) } } \keyword{manip}