\HeaderA{RGList-class}{Red, Green Intensity List - class}{RGList.Rdash.class}
\aliasA{coerce,RGList,exprSet2-method}{RGList-class}{coerce,RGList,exprSet2.Rdash.method}
\keyword{classes}{RGList-class}
\keyword{data}{RGList-class}
\begin{Description}\relax
A simple list-based class for storing red and green channel foreground and background intensities for a batch of spotted microarrays.
\code{RGList} objects are normally created by \code{\LinkA{read.maimages}{read.maimages}}.
\end{Description}
\begin{Section}{Slots/List Components}
\code{RGList} objects can be created by \code{new("RGList",RG)} where \code{RG} is a list.
Objects of this class contains no slots (other than \code{.Data}), but objects should contain the following list components:
\Tabular{ll}{
\code{R}:& numeric matrix containing the red (cy5) foreground intensities.  Rows correspond to spots and columns to arrays.\\
\code{G}:& numeric matrix containing the green (cy3) foreground intensities. Rows correspond to spots and columns to arrays.
}
Optional components include
\Tabular{ll}{
\code{Rb}:& numeric matrix containing the red (cy5) background intensities\\
\code{Gb}:& numeric matrix containing the green (cy3) background intensities\\
\code{weights}:& numeric matrix of same dimension as \code{R} containing relative spot quality weights.  Elements should be non-negative.\\
\code{other}:& list containing other matrices, all of the same dimensions as \code{R} and \code{G}.\\
\code{genes}:& data.frame containing probe information. Should have one row for each spot. May have any number of columns.\\
\code{targets}:& data.frame containing information on the target RNA samples.  Rows correspond to arrays.  May have any number of columns. Usually includes columns \code{Cy3} and \code{Cy5} specifying which RNA was hybridized to each array.\\
\code{printer}:& list containing information on the process used to print the spots on the arrays.  See \LinkA{PrintLayout}{PrintLayout}.
}
Valid \code{RGList} objects may contain other optional components, but all probe or array information should be contained in the above components.
\end{Section}
\begin{Section}{Methods}
This class inherits directly from class \code{list} so any operation appropriate for lists will work on objects of this class.
In addition, \code{RGList} objects can be \LinkA{subsetted}{subsetted}, \LinkA{combined}{combined} and \LinkA{merged}{merged}.
\code{RGList} objects will return dimensions and hence functions such as \code{\LinkA{dim}{dim}}, \code{\LinkA{nrow}{nrow}} and \code{\LinkA{ncol}{ncol}} are defined. 
\code{RGLists} also inherit a \code{\LinkA{show}{show}} method from the virtual class \code{\LinkA{LargeDataObject}{LargeDataObject}}, which means that \code{RGLists} will print in a compact way.

\code{RGList} objects can be converted to \code{exprSet2} objects by \code{as(RG,"exprSet2")}.

Other functions in LIMMA which operate on \code{RGList} objects include
\code{\LinkA{normalizeBetweenArrays}{normalizeBetweenArrays}},
\code{\LinkA{normalizeForPrintorder}{normalizeForPrintorder}},
\code{\LinkA{normalizeWithinArrays}{normalizeWithinArrays}}.
\end{Section}
\begin{Author}\relax
Gordon Smyth
\end{Author}
\begin{SeeAlso}\relax
\LinkA{02.Classes}{02.Classes} gives an overview of all the classes defined by this package.

\code{\LinkA{marrayRaw-class}{marrayRaw.Rdash.class}} is the corresponding class in the marrayClasses package.
\end{SeeAlso}

