\HeaderA{MultiSet}{Class to Contain and Describe High-Throughput Expression Level Assays.}{MultiSet}
\aliasA{class:MultiSet}{MultiSet}{class:MultiSet}
\aliasA{coerce,eSet,MultiSet-method}{MultiSet}{coerce,eSet,MultiSet.Rdash.method}
\aliasA{initialize,MultiSet-method}{MultiSet}{initialize,MultiSet.Rdash.method}
\aliasA{MultiSet-class}{MultiSet}{MultiSet.Rdash.class}
\keyword{classes}{MultiSet}
\begin{Description}\relax
Container for high-throughput assays and experimental
metadata. \code{MutliSet} is derived from
\code{\LinkA{eSet-class}{eSet.Rdash.class}}. \code{MultiSet} differs from
\code{\LinkA{ExpressionSet-class}{ExpressionSet.Rdash.class}} because \code{MultiSet} can contain
any element(s) in \code{assayData} (\code{ExpressionSet} must have an
element named \code{exprs}).
\end{Description}
\begin{Section}{Extends}
Directly extends class \code{\LinkA{eSet}{eSet}}.
\end{Section}
\begin{Section}{Creating Objects}
\code{new('MultiSet',
    phenoData = [AnnotatedDataFrame],
    experimentData = [MIAME],
    annotation = [character],
    protocolData = [AnnotatedDataFrame],
    ...)
  }

\code{updateOldESet(oldESet,"MultiSet")}

\code{MultiSet} instances are usually created through
\code{new("MultiSet", ...)}. The \code{...} arguments to \code{new}
are matrices of expression data (with features
corresponding to rows and samples to columns), \code{phenoData},
\code{experimentData}, \code{annotation}, and \code{protocolData}. 
\code{phenoData}, \code{experimentData}, \code{annotation}, and
\code{protocolData} can be missing, in which case they are assigned
default values.

\code{\LinkA{updateOldESet}{updateOldESet}} will take a serialized instance (e.g., saved to a disk
file with \code{save} object created with earlier definitions of
the \code{eSet-class}, and update the object to
\code{MultiSet}. Warnings are issued when direct translation is not
possible; incorrectly created \code{oldESet} instances may not be updated.
\end{Section}
\begin{Section}{Slots}
Inherited from \code{eSet}:
\describe{
\item[\code{assayData}:] Contains zero or more matrices with equal
dimensions, and with column number equal to
\code{nrow(phenoData)}. Each matrix in \code{assayData} has rows
representing features (e.g., reporters) and columns representing
samples. Class:\code{\LinkA{AssayData-class}{AssayData.Rdash.class}}
\item[\code{phenoData}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{experimentData}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{annotation}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{protocolData}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
}
\end{Section}
\begin{Section}{Methods}
Class-specific methods: none

Derived from \code{\LinkA{eSet-class}{eSet.Rdash.class}}:
\describe{
\item[\code{updateObject(object, ..., verbose=FALSE)}] Update instance to current version, if necessary. See \code{\LinkA{updateObject}{updateObject}} and \code{\LinkA{eSet}{eSet}}
\item[\code{isCurrent(object)}] Determine whether version of object is current. See \code{\LinkA{isCurrent}{isCurrent}}
\item[\code{isVersioned(object)}] Determine whether object contains a 'version' string describing its structure . See \code{\LinkA{isVersioned}{isVersioned}}
\item[\code{sampleNames(MultiSet)} and \code{sampleNames(MultiSet)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{featureNames(MultiSet)}, \code{featureNames(MultiSet, value)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{dims(MultiSet)}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{phenoData(MultiSet)}, \code{phenoData(MultiSet,value)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{varLabels(MultiSet)}, \code{varLabels(MultiSet, value)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{varMetadata(MultiSet)}, \code{varMetadata(MultiSet,value)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{pData(MultiSet)}, \code{pData(MultiSet,value)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{varMetadata(MultiSet)}, \code{varMetadata(MultiSet,value)}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{experimentData(MultiSet)},\code{experimentData(MultiSet,value)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{pubMedIds(MultiSet)}, \code{pubMedIds(MultiSet,value)}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{abstract(MultiSet)}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{annotation(MultiSet)}, \code{annotation(MultiSet,value)<-}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{protocolData(MultiSet)}, \code{protocolData(MultiSet,value)<-}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{combine(MultiSet,MultiSet)}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{storageMode(eSet)}, \code{storageMode(eSet,character)<-}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
}

Standard generic methods:
\describe{
\item[\code{initialize(MultiSet)}:] Object instantiation, used by \code{new}; not to be called directly by the user.
\item[\code{validObject(MultiSet)}:] Validity-checking method, ensuring that all elements of \code{assayData} are matricies with equal dimensions.
\item[\code{as(eSet,MultiSet)}:] Coerce the \code{eSet} portion of an object to \code{MultiSet}.
\item[\code{show(MultiSet)}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{dim(MultiSet)}, \code{ncol}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{MultiSet[(index)}:] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
\item[\code{MultiSet\$}, \code{MultiSet\$<-}] See \code{\LinkA{eSet-class}{eSet.Rdash.class}}
}
\end{Section}
\begin{Author}\relax
Biocore team
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{eSet-class}{eSet.Rdash.class}}, \code{\LinkA{ExpressionSet-class}{ExpressionSet.Rdash.class}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# create an instance of ExpressionSet
new("MultiSet")
\end{ExampleCode}
\end{Examples}

