\HeaderA{MAList-class}{M-value, A-value Expression List - class}{MAList.Rdash.class}
\keyword{classes}{MAList-class}
\keyword{data}{MAList-class}
\begin{Description}\relax
A simple list-based class for storing M-values and A-values for a batch of spotted microarrays.
\code{MAList} objects are usually created during normalization by the functions \code{\LinkA{normalizeWithinArrays}{normalizeWithinArrays}} or \code{\LinkA{MA.RG}{MA.RG}}.
\end{Description}
\begin{Section}{Slots/List Components}
\code{MAList} objects can be created by \code{new("MAList",MA)} where \code{MA} is a list.
This class contains no slots (other than \code{.Data}), but objects should contain the following components:
\Tabular{ll}{
\code{M}:& numeric matrix containing the M-values (log-2 expression ratios).  Rows correspond to spots and columns to arrays.\\
\code{A}:& numeric matrix containing the A-values (average log-2 expression values).
}
Optional components include:
\Tabular{ll}{
\code{weights}:& numeric matrix of same dimensions as \code{M} containing relative spot quality weights.  Elements should be non-negative.\\
\code{other}:& list containing numeric matrices of other spot-specific information. All matrices must have the same dimensions as \code{M}.\\
\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{MAList} 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{MAList} objects can be \LinkA{subsetted}{subsetted} and \LinkA{combined}{combined}.
\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{MALists} 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.

Other functions in LIMMA which operate on \code{MAList} objects include
\code{\LinkA{normalizeWithinArrays}{normalizeWithinArrays}},
\code{\LinkA{normalizeBetweenArrays}{normalizeBetweenArrays}},
\code{\LinkA{normalizeForPrintorder}{normalizeForPrintorder}},
\code{\LinkA{plotMA}{plotMA}}
and \code{\LinkA{plotPrintTipLoess}{plotPrintTipLoess}}.
\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{marrayNorm-class}{marrayNorm.Rdash.class}} is the corresponding class in the marrayClasses package.
\end{SeeAlso}

