\HeaderA{NetAffxResource-class}{Manage NetAffx annotations}{NetAffxResource.Rdash.class}
\aliasA{affxLicence,NetAffxResource-method}{NetAffxResource-class}{affxLicence,NetAffxResource.Rdash.method}
\aliasA{affxUrl,NetAffxResource-method}{NetAffxResource-class}{affxUrl,NetAffxResource.Rdash.method}
\aliasA{annotationsFile,NetAffxResource-method}{NetAffxResource-class}{annotationsFile,NetAffxResource.Rdash.method}
\aliasA{directory,NetAffxResource-method}{NetAffxResource-class}{directory,NetAffxResource.Rdash.method}
\aliasA{names,NetAffxResource-method}{NetAffxResource-class}{names,NetAffxResource.Rdash.method}
\aliasA{password,NetAffxResource-method}{NetAffxResource-class}{password,NetAffxResource.Rdash.method}
\aliasA{readAnnotation}{NetAffxResource-class}{readAnnotation}
\aliasA{readAnnotation,NetAffxResource,character,character-method}{NetAffxResource-class}{readAnnotation,NetAffxResource,character,character.Rdash.method}
\aliasA{readAnnotation,NetAffxResource,character,numeric-method}{NetAffxResource-class}{readAnnotation,NetAffxResource,character,numeric.Rdash.method}
\aliasA{readAnnotation,NetAffxResource,missing,AffxAnnotation-method}{NetAffxResource-class}{readAnnotation,NetAffxResource,missing,AffxAnnotation.Rdash.method}
\aliasA{readAnnotation,NetAffxResource,numeric,character-method}{NetAffxResource-class}{readAnnotation,NetAffxResource,numeric,character.Rdash.method}
\aliasA{readAnnotation,NetAffxResource,numeric,numeric-method}{NetAffxResource-class}{readAnnotation,NetAffxResource,numeric,numeric.Rdash.method}
\aliasA{show,NetAffxResource-method}{NetAffxResource-class}{show,NetAffxResource.Rdash.method}
\aliasA{user,NetAffxResource-method}{NetAffxResource-class}{user,NetAffxResource.Rdash.method}
\aliasA{[[,NetAffxResource,character,character-method}{NetAffxResource-class}{[[,NetAffxResource,character,character.Rdash.method}
\aliasA{[[,NetAffxResource,character,missing-method}{NetAffxResource-class}{[[,NetAffxResource,character,missing.Rdash.method}
\aliasA{[[,NetAffxResource,character,numeric-method}{NetAffxResource-class}{[[,NetAffxResource,character,numeric.Rdash.method}
\aliasA{[[,NetAffxResource,numeric,character-method}{NetAffxResource-class}{[[,NetAffxResource,numeric,character.Rdash.method}
\aliasA{[[,NetAffxResource,numeric,missing-method}{NetAffxResource-class}{[[,NetAffxResource,numeric,missing.Rdash.method}
\aliasA{[[,NetAffxResource,numeric,numeric-method}{NetAffxResource-class}{[[,NetAffxResource,numeric,numeric.Rdash.method}
\keyword{classes}{NetAffxResource-class}
\begin{Description}\relax
This class is for accessing and retrieving NetAffx
annotation files for Affymetrix chips. It requires that the user has
established an account with Affymetrix. Detailed usage is described in
the `Annotations with NetAffx' vignette.
\end{Description}
\begin{Section}{Objects from the Class}
Objects are created by calls of the form
\code{NetAffxResource(user="user@research.org", password="terces")},
as illustrated below and in the `Annotations with NetAffx vignette.
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{user}:] Object of class \code{"character"} containing
the full user name (typically an email address) obtained when the
user registers with Affymetrix.
\item[\code{password}:] Object of class \code{"character"}
containing the password associated with the Affymetrix user
name. The password is entered and stored in plain text, and should
not be considered secure within Bioconductor.
\item[\code{affxLicence}:] Object of class \code{"character"}
containing the licence, obtained from Affymetrix, for retrieving
NetAffx annotations. The licence is usually software specific
(e.g., for the AffyCompatible package of Bioconductor). Users will
not usually change the defeault value.
\item[\code{directory}:] Object of class \code{"character"},
containing the local directory path where the NetAffx data base
and annotation files will reside.
\item[\code{annotationsFile}:] Object of class \code{"character"}
containing the file name of the NetAffx data base. Users will not
usually change the default value.
\item[\code{affxUrl}:] Object of class \code{"character"} containing
the URL used to download the NetAffx annotations file. Users will
not usually change the default value.
}
\end{Section}
\begin{Section}{Extends}
Class \code{"\LinkA{NetAffxCompatibility}{NetAffxCompatibility.Rdash.class}"}, directly.
Class \code{"\LinkA{AffyCompatible}{AffyCompatible.Rdash.class}"}, by class "NetAffxCompatibility", distance 2.
\end{Section}
\begin{Section}{Methods}
\describe{
\item[[[] \code{signature(x = "NetAffxResource", i = "numeric", j = "missing")}
\item[[[] \code{signature(x = "NetAffxResource", i = "character", j = "missing")}:
Retrieve an object representing all NetAffx annotations
available for an array. The argument \code{i} may be a numeric index
or character string corresponding to an array name returned by
\code{names(x)}.

\item[[[] \code{signature(x = "NetAffxResource", i = "numeric", j = "numeric")}
\item[[[] \code{signature(x = "NetAffxResource", i = "character", j = "numeric")}
\item[[[] \code{signature(x = "NetAffxResource", i = "numeric", j = "character")}
\item[[[] \code{signature(x = "NetAffxResource", i = "character", j = "character")}:
Retrieve an object representing a specific annotation for an
array. The argument \code{i} may be a numeric index or
character string corresponding to an array name returned by
\code{names(x)}. The argument \code{i} may be a numeric index or
character string corresonding to an annotation returned by
\code{description(x[[i]])}.

\item[affxLicence] \code{signature(x = "NetAffxResource")}: 
the character string representation of the licence used to access
the NetAffx site.
\item[affxUrl] \code{signature(x = "NetAffxResource")}: the
url used to access the NetAffx site.
\item[annotationsFile] \code{signature(x = "NetAffxResource")}: the
file name of NetAffx data base, as stored on the local disk of the
user.
\item[directory] \code{signature(x = "NetAffxResource")}: the
directory in wich the NetAffx data base and annotation files are
stored on the local disk of the user.
\item[names] \code{signature(x = "NetAffxResource")}: the names of
the arrays for which annotations are available.
\item[password] \code{signature(x = "NetAffxResource")}: The
password associated with the user name obtained when the user
registered with Affymetrix. The password is entered and stored as
plain text, and is not secure.
\item[readAnnotation] \code{signature(netAffxResource = "NetAffxResource", array = "numeric", annotation = "numeric", ...)}
\item[readAnnotation] \code{signature(netAffxResource = "NetAffxResource", array = "numeric", annotation = "character", ...)}
\item[readAnnotation] \code{signature(netAffxResource = "NetAffxResource", array = "character", annotation = "numeric", ...)}
\item[readAnnotation] \code{signature(netAffxResource = "NetAffxResource", array = "character", annotation = "character", ...)}
\item[readAnnotation] \code{signature(netAffxResource = "NetAffxResource", array = "missing", annotation = "AffxAnnotation", ...)}: 
Read a specific anntotation file as an R object. for the first
four methods, \code{array}, if present, indexes or names the array
while \code{annotation} indexes or names the
annotation. All methods also accept \code{content = "logical"} to
indicate whether the content of the file should be returned if
possible (\code{content=TRUE}, default) or only the path to the local file
(\code{content=FALSE}) and \code{update = "logical"} indicating
whether the file should be read from disk if available
(\code{update=FALSE}, default) or retrieved from the NetAffx web
site (\code{update=TRUE}). \code{readAnnotation} parses \code{CSV,
        Tabular, PSI} to data frames, and reads \code{FASTA} files to a
list of description / sequence pairs (see
\code{Biostrings::readFASTA}).

\item[show] \code{signature(object = "NetAffxResource")}: compactly
show the \code{NetAffxResource} object.
\item[user] \code{signature(x = "NetAffxResource")}: The user name
(typcially email address) obtained when the user registers with
the Affymetrix web site.
}
\end{Section}
\begin{Author}\relax
Martin Morgan <mtmorgan@fhcrc.org>
\end{Author}
\begin{SeeAlso}\relax
Vignette `Annotations with NetAffx'. Affymetrix user login site
\url{https://www.affymetrix.com/site/login/login.affx}.

\code{\LinkA{.Rprofile}{.Rprofile}} for ways to automatically set variables (such
as \code{password}, and \code{directory}) for each session.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}

## password must be obtained by the user
rsrc <- NetAffxResource(user="mtmorgan@fhcrc.org", password=password)
head(names(rsrc))
affxDescription(rsrc[["Bovine"]])
## paradigm to display all elements of 'annotation'
sapply(affxAnnotation(rsrc[["Bovine"]]), force)
## obtain and read a single annotation
anno <- rsrc[["Porcine", "BLASTP annotations, CSV Format"]]
df <- readAnnotation(rsrc, annotation=anno)
\end{ExampleCode}
\end{Examples}

