\HeaderA{pm-methods}{Methods for accessing perfect matches and mismatches}{pm.Rdash.methods}
\aliasA{mm}{pm-methods}{mm}
\aliasA{mm-methods}{pm-methods}{mm.Rdash.methods}
\aliasA{pm}{pm-methods}{pm}
\keyword{methods}{pm-methods}
\begin{Description}\relax
Methods for accessing perfect match (PM) and mismatch (MM) probes.

\emph{Usage}

\code{pm(object, which = "pm")}

\code{mm(object, which = "mm")}
\end{Description}
\begin{Arguments}
\begin{ldescription}
\item[\code{object}] object of class \code{DataTreeSet}.
\item[\code{which}] type of perfect match or mismatch probes to be returned.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
For expression arrays all the perfect match (pm) or mismatch (mm) probes on the arrays 
the object represents are returned as data.frame.

For exon arrays, \code{pm} returns the probes of the different exon levels as data.frame, 
i.e. \code{which} can have one of the following values:
\Tabular{lll}{
& \code{core}:& probesets supported by RefSeq and full-length GenBank transcripts. \\
& \code{metacore}:& core meta-probesets. \\
& \code{extended}:& probesets with other cDNA support. \\
& \code{metaextended}:& extended meta-probesets. \\
& \code{full}:& probesets supported by gene predictions only. \\
& \code{metafull}:& full meta-probesets. \\
& \code{affx}:& standard AFFX controls.
}

For whole genome arrays, \code{pm} returns the probes of the different exon levels as data.frame, 
i.e. \code{which} can have one of the following values:
\Tabular{lll}{
& \code{core}:& probesets with category \sQuote{unique} and \sQuote{mixed}. \\
& \code{metacore}:& probesets with category \sQuote{unique} only. \\
& \code{affx}:& standard AFFX controls.
}

For exon/genome arrays, \code{mm} returns the background probes as data.frame, 
i.e. \code{which} is either \dQuote{genomic} or \dQuote{antigenomic}.
\end{Details}
\begin{Value}
A \code{\LinkA{data.frame}{data.frame}}.
\end{Value}
\begin{Author}\relax
Christian Stratowa
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{validData}{validData}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## load existing ROOT scheme file and ROOT data file
scheme.test3 <- root.scheme(paste(.path.package("xps"),"schemes/SchemeTest3.root",sep="/"))
data.test3 <- root.data(scheme.test3, paste(.path.package("xps"),"rootdata/DataTest3_cel.root",sep="/"))

## need to attach scheme mask and probe intensities
data.test3 <- attachMask(data.test3)
data.test3 <- attachInten(data.test3)

pm <- pm(data.test3)
mm <- mm(data.test3)
head(pm)
head(mm)

## optionally remove mask and data to free memory
data.test3 <- removeInten(data.test3)
data.test3 <- removeMask(data.test3)
\end{ExampleCode}
\end{Examples}

