\HeaderA{smlSet-class}{Class "smlSet" -- efficient representation of SNP+expression data,
based on Clayton snpMatrix package}{smlSet.Rdash.class}
\aliasA{chrnum}{smlSet-class}{chrnum}
\aliasA{chrnum,numeric-method}{smlSet-class}{chrnum,numeric.Rdash.method}
\aliasA{chrnum-class}{smlSet-class}{chrnum.Rdash.class}
\aliasA{exprs,smlSet-method}{smlSet-class}{exprs,smlSet.Rdash.method}
\aliasA{getSnpChroms}{smlSet-class}{getSnpChroms}
\aliasA{getSnpChroms,smlSet,logical-method}{smlSet-class}{getSnpChroms,smlSet,logical.Rdash.method}
\aliasA{getSnpChroms,smlSet,missing-method}{smlSet-class}{getSnpChroms,smlSet,missing.Rdash.method}
\aliasA{getSnpChroms,smlSet-method}{smlSet-class}{getSnpChroms,smlSet.Rdash.method}
\aliasA{getSnpChroms,SQLiteConnection,character-method}{smlSet-class}{getSnpChroms,SQLiteConnection,character.Rdash.method}
\aliasA{getSnpData}{smlSet-class}{getSnpData}
\aliasA{getSnpData,character,character-method}{smlSet-class}{getSnpData,character,character.Rdash.method}
\aliasA{getSnpData,character-method}{smlSet-class}{getSnpData,character.Rdash.method}
\aliasA{getSnpLocs}{smlSet-class}{getSnpLocs}
\aliasA{getSnpLocs,smlSet,logical-method}{smlSet-class}{getSnpLocs,smlSet,logical.Rdash.method}
\aliasA{getSnpLocs,smlSet,missing-method}{smlSet-class}{getSnpLocs,smlSet,missing.Rdash.method}
\aliasA{getSnpLocs,smlSet-method}{smlSet-class}{getSnpLocs,smlSet.Rdash.method}
\aliasA{getSnpLocs,SQLiteConnection,character-method}{smlSet-class}{getSnpLocs,SQLiteConnection,character.Rdash.method}
\aliasA{hmceuB36.2021}{smlSet-class}{hmceuB36.2021}
\aliasA{nsamp}{smlSet-class}{nsamp}
\aliasA{nsamp,smlSet-method}{smlSet-class}{nsamp,smlSet.Rdash.method}
\aliasA{rawSNP}{smlSet-class}{rawSNP}
\aliasA{rawSNP,smlSet,numeric-method}{smlSet-class}{rawSNP,smlSet,numeric.Rdash.method}
\aliasA{rsNum}{smlSet-class}{rsNum}
\aliasA{rsNum,character-method}{smlSet-class}{rsNum,character.Rdash.method}
\aliasA{rsNum-class}{smlSet-class}{rsNum.Rdash.class}
\aliasA{sampleNames,smlSet-method}{smlSet-class}{sampleNames,smlSet.Rdash.method}
\aliasA{show,smlSet-method}{smlSet-class}{show,smlSet.Rdash.method}
\aliasA{smlEnv,smlSet-method}{smlSet-class}{smlEnv,smlSet.Rdash.method}
\aliasA{smList}{smlSet-class}{smList}
\aliasA{smList,smlSet-method}{smlSet-class}{smList,smlSet.Rdash.method}
\aliasA{[,smlSet,ANY,ANY-method}{smlSet-class}{[,smlSet,ANY,ANY.Rdash.method}
\aliasA{[,smlSet-method}{smlSet-class}{[,smlSet.Rdash.method}
\keyword{classes}{smlSet-class}
\begin{Description}\relax
Efficient representation of SNP+expression data,
based on Clayton snpMatrix package.  Supports efficient subsetting
of whole-genome snp genotyping by chromosome.
\end{Description}
\begin{Section}{Objects from the Class}
Objects can be created by calls of the form \code{new("smlSet", smlEnv, assayData, phenoData, featureData, experimentData, annotation, ...)}.
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{smlEnv}:] Object of class \code{"environment"} -- there is
one key 'smList' with value a list of \code{snp.matrix} from snpMatrix package 
\item[\code{snpLocPathMaker}:] OBSOLETE -- IGNORE
\item[\code{chromInds}:] Object of class \code{"numeric"}, a numeric
vector telling what chromosomes are represented. If chromosomes 20 and 21
are present, the values is c(20,21).  X and Y are 23, 24.
\item[\code{organism}:] Object of class \code{"character"}; string such as Hs for
modern humans. 
\item[\code{assayData}:] Object of class \code{"AssayData"}; container for
expression data as in ExpressionSet 
\item[\code{phenoData}:] Object of class \code{"AnnotatedDataFrame"}; container
for sample data as in ExpressionSet  
\item[\code{featureData}:] Object of class \code{"AnnotatedDataFrame"}; container
for expression feature data as in ExpressionSet
\item[\code{experimentData}:] Object of class \code{"MIAME"}; container for MIAME
schema  
\item[\code{annotation}:] Object of class \code{"character"}; vector with
names \code{exprs} and \code{snps}; \code{exprs} should be the name of a
SQLite-based Bioconductor annotation package  
\item[\code{.\_\_classVersion\_\_}:] Object of class \code{"Versions"} ~~ 
}
\end{Section}
\begin{Section}{Extends}
Class \code{"\LinkA{eSet}{eSet}"}, directly.
Class \code{"\LinkA{VersionedBiobase}{VersionedBiobase}"}, by class "eSet", distance 2.
Class \code{"\LinkA{Versioned}{Versioned}"}, by class "eSet", distance 3.
\end{Section}
\begin{Section}{Methods}
\describe{
\item[[] \code{signature(x = "smlSet")}: subsetting must be done with care.
The usual idiom is \code{X[G, S]} where \code{G} restricts reporters and
\code{S} restricts samples.  Reporter restriction:
At present one can use an instance of \code{chrnum} class to obtain
a subsetted object with SNP data restricted to specified chromosomes.
Sample restriction: works in the customary way for \code{eSet} instances. 
\item[exprs] \code{signature(object = "smlSet")}: return the
expression data matrix. 
\item[gwSnpScreen] \code{signature(sym = "genesym", sms = "smlSet")}: Execute
snpMatrix snp.rhs.tests for all SNP in the genome.  Returns instance
of gwSnpScreenResult. 
\item[cwSnpScreen] \code{signature(sym = "genesym", sms = "smlSet",
      cnum="chrnum")}: Execute
snpMatrix snp.rhs.tests for all SNP on the specific
chromosome.  Returns instance
of cwSnpScreenResult. 
\item[nsamp] \code{signature(x = "smlSet")}: returns number of samples. 
\item[rawSNP] \code{signature(x = "smlSet", chrind = "numeric")}: returns
byte (raw) representation of SNP data in snp.matrix format for specified
chromosome.  
\item[getSnpLocs] \code{signature(x = "smlSet")}: returns
all relevant locations in order of rs numbers in the
snp.matrices as a single vector
\item[getSnpChroms] \code{signature(x = "smlSet")}: returns
all relevant chromosome assignments in order of rs numbers in the
snp.matrices as a single vector
\item[sampleNames] \code{signature(object = "smlSet")}: returns
vector of sample names. 
\item[show] \code{signature(object = "smlSet")}: prints short report. 
\item[smList] \code{signature(x = "smlSet")}: returns the list of
snp.matrix encoding genotypes. 
\item[smlEnv] \code{signature(x = "smlSet")}: returns the environment
in which the smList list is contained. 
}
\end{Section}
\begin{Author}\relax
VJ Carey <stvjc@channing.harvard.edu>
\end{Author}
\begin{Examples}
\begin{ExampleCode}
#showClass("smlSet")
data(hmceuB36.2021)
rawSNP(hmceuB36.2021, 20)[1:5,1:5]
exprs(hmceuB36.2021)[1:5,1:5]
\end{ExampleCode}
\end{Examples}

