\name{RGList_CALIB-class}
\docType{class}
\alias{RGList_CALIB-class}
\alias{show,RGList_CALIB-method}
\alias{coerce,RGList_CALIB,exprSet2-method}

\title{Red, Green Intensity List - Class  }
\description{ A simple list-based class for storing red and green channel foreground and 
      background intensities for a batch of spotted microarrays. It is a extension of 
      the RGList in the LIMMA package.}

\section{Objects from the Class}{
Objects can be created by calls of the form \code{new("RGList_CALIB", RG)}, where RG is a list.
In the CALIB package, RGList\_CALIB objects are normally generated by
\code{read.rg}.
}

\section{List Components}{
    objects should contain the following list components:
	 \describe{ 
    \item{\code{R}:}{ numeric matrix containing the red(Cy5) foreground intensities.
          Rows correspond to spots and columns to arrays.}
    
    \item{\code{G}:}{ numeric matrix containing the green(Cy3) foreground intensities.}

    \item{\code{Rb}:}{ numeric matrix containing the red(Cy5) background intensities.}

    \item{\code{Gb}:}{ numeric matrix containing the green(Cy3) background intensities.}

    \item{\code{RArea}:}{ numeric matrix containing the red(Cy5) spot areas.}

    \item{\code{GArea}:}{ numeric matrix containing the green(Cy3) spot areas.}
  }

    Optional components include:
       \describe{
    \item{\code{weights}:}{ numeric matrix containing relative spot quality weights.
          Should be non-negative.}

    \item{\code{printer}:}{ list containing information on the process used to print
          the spots on the arrays. See \code{\link[CALIB:read.rg]{read.rg}}.}

    \item{\code{genes}:}{ data.frame containing information on the genes spotted on
          the arrays. Should include a character column Name containing names for the
          genes or controls.}

    \item{\code{targets}:}{ data.frame containing information on the target RNA samples.
          Should include factor or character columns Cy3 and Cy5 specifying which RNA was
          hybridized to each array.}

    \item{\code{other}:}{ list containing numeric matrices of other spot-specific information.}
  }
     All of the matrices should have the same dimensions. The row dimension of targets
     should match the column dimension of the matrices.  
}

\section{Extends}{
Class \code{"list"}, from data part.
Class \code{"LargeDataObject"}, directly.
Class \code{"vector"}, by class \code{"list"}.
}

\section{Methods}{
This class inherits directly from class List so any operation appropriate for lists will
work on objects of this class. In addition, RGList\_CALIB objects can be \code{\link[CALIB:subsetting]{subsetted}},
\code{\link[CALIB:cbind]{combined}} and \code{\link[CALIB:merge]{merged}}. RGList\_CALIB objects
will return dimensions and hence functions such as \code{\link[CALIB:dim]{dim}},
\code{\link[CALIB:dimnames]{dimnames}}, \code{\link[base:nrow]{nrow}} and
\code{\link[base:ncol]{ncol}} are defined. RGList\_CALIB also inherit a \code{\link[methods]{show}}
method from the virtual class \code{\link[limma:LargeDataObject]{LagerDataObject}},
which means that RGList\_CALIB objects will print in a compact way.

In the CALIB package, RGList\_CALIB objects are mainly for storing microarray data and they are
used to pass microarray data into functions such as \code{\link[CALIB:estimateparameter]{estimateParameter}}
or \code{\link[CALIB:normalizedata]{normalizeData}}. 
}

\references{ \code{RGList} in the limma package}

\author{ Hui Zhao}

\seealso{
\code{\link[limma]{RGList}} and \code{\link[limma]{LargeDataObject}} in limma packge.
}

\keyword{classes}