% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/data_import.R
\name{extract.expression}
\alias{extract.expression}
\title{Extract Expression and Metadata from GEO Dataset}
\usage{
extract.expression(eset)
}
\arguments{
\item{eset}{An \code{ExpressionSet} object as returned by
\code{load.geo.soft()}.}
}
\value{
A named list with three elements:
\describe{
\item{expression}{Numeric matrix of gene expression values. Rows are
probe IDs, columns are sample IDs.}
\item{phenotype}{Data frame of sample metadata (e.g., disease state,
age, tissue). Row names are sample IDs matching the column names of
\code{expression}.}
\item{gene}{Data frame of probe-level gene annotations (e.g., gene
symbol, gene title, chromosomal location). Row names are probe IDs
matching the row names of \code{expression}.}
}
}
\description{
Decomposes an \code{ExpressionSet} object into its core components,
returning a named list that is used as the primary data structure
throughout BioUtils.
}
\details{
The three returned components form the basis of all downstream BioUtils
workflows. The \code{gene} data frame is passed to
\code{find.probe.by.gene()} for probe lookup, \code{expression} is
passed to \code{get.gene.expression()}, and \code{phenotype} is passed
to \code{build.analysis.df()} for group labeling.
}
\examples{
\donttest{
eset <- load.geo.soft(accession = "GDS507", log.transform = TRUE)
geo <- extract.expression(eset)
head(geo$phenotype)
dim(geo$expression)
}

}
