\name{makeQCTable} \alias{makeQCTable} %- Also NEED an '\alias' for EACH other topic documented here. \title{ Tabulate QC scores } \description{ Function to make a table of quality control scores for every section in a \code{beadLevelData} object. Either the annotation of the data needs to be specified, or a control profile data frame that lists ArrayAddress IDs and control types. The supplied summary functions are applied to each control type on each section. } \usage{ makeQCTable(BLData, transFun = logGreenChannelTransform, controlProfile = NULL, summaryFns = list(Mean = function(x) mean(x, na.rm=TRUE), Sd = function(x) sd(x, na.rm=TRUE)), channelSuffix = NULL) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{BLData}{ a \code{beadLevelData} object } \item{transFun}{ a function to be applied to the \code{beadLevelData} object prior to tabulation } \item{controlProfile}{ an optional data frame that specifies ID and type of controls to be used to generate the table } \item{summaryFns}{ list of functions to apply to each control type on every section } \item{channelSuffix}{ optional character string to append to the column names of the resulting table } } \details{ For each section in turn, the function groups together IDs of the same control type (e.g. housekeeping), and uses an \code{\link{lapply}} with the specified summary functions. A transformation function is applied to \code{BLData} prior to the summary, with the default being to take the log2 of the green channel. If the annotation of the \code{beadLevelData} has been set by \code{\link{readIllumina}} or \code{\link{setAnnotation}} then the controlProfile data frame is calculated automatically and the \code{controlProfile} argument may be omitted. } \value{ A matrix with one row per section and one column for each combination of control type and summary function. } \examples{ data(BLData) data(controlProfile) table(controlProfile[,2]) qct = makeQCTable(BLData, controlProfile=controlProfile) barplot(qct[,1]) } \author{ Mark Dunning }