\name{ParameterList-class}
\docType{class}
\alias{ParameterList-class}
\alias{show,ParameterList-method}

\title{Class "ParameterList" - List to store all the parameters }

\description{ A simple list-based class for storing all the model parameters of a 
      batch of microarray. 
 }	

\section{Objects from the Class}{
   Objects can be created by calls of the form
   \code{new("ParameterList", parameter)}  where parameter is a list. In
   the CALIB package, ParameterList objects are normally generated by
   function \code{\link{estimateParameter}}.
 
 }

\section{List Components}{
    Objects should contain the following list components:
	 \describe{
    \item{\code{MuS}:}{ Spot parameter. Mean of spot capacity.}

    \item{\code{Ka}:}{ Hybridization constant.}

    \item{\code{P1}:}{ Respective slope of the linear dye saturation function. It is
          different for different dyes.}

    \item{\code{P2}:}{ Respective intercept of the linear dye saturation function.
         It is different for different dyes}

    \item{\code{SigmaA}:}{ Standard deviation of additive error. It is different
         for different dyes.}

    \item{\code{SigmaM}:}{ Standard deviation of multiplicative error.}

    \item{\code{SigmaS}:}{ Spot parameter. Standard deviation of spot capacity.}

    \item{\code{SpotError}:}{ numeric matrix containing spot error of all external
          control spikes on arrays}

    \item{\code{Method}:}{ boolean values indicating the way to calculate the measured 
          intensities. It contains two subfields which are both logical value: BC and 
          Area. BC indicates whether background corrected measured intensities are used.
          Area indicates whether spot area is used to calculate measured intensities. }

    \item{\code{ErrorModel}:}{ a character to represent the distribution of spot capacity.
          "L" means spot capacity follows \code{log normal} distribution. "N" means spot 
          capacity follows \code{normal} distribution.}

    \item{\code{genes}:}{ data.frame containing information on spikes spotted on the arrays.
          Should include a character column Name containing names for all the spikes.}
  }
  See reference for more detailed explaination for these list components.
}

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

\section{Methods}{
This class inherits directly from class List. However since it
represents the parameters 
 
of the calibration model for arrays, it makes on sense to run functions
like \code{\link[CALIB]{dim}}, 
 
\code{\link[CALIB]{dimnames}},or
\code{\link[CALIB]{merge}} on this class. 
 
Therefore, only some operations appropriate for list will work on objects of this class. 
ParameterList objects can be \code{\link[CALIB:cbind]{cbind}} and
\code{\link[methods]{show}} in a compact way.

ParameterList objects are used on functions such as \code{\link[CALIB]{normalizeData}}
or on some other data visualization functions like
\code{\link[CALIB]{plotSpikeHI}} in the CALIB package.
}
\references{ Engelen, K., Naudts, B., DeMoor, B., Marchal, K. (2006) 
   A calibration method for estimating absolute expression levels from 
   microarray data. Bioinformatics  22: 1251-1258.}

\author{ Hui Zhao}

\keyword{classes}