\name{stam.net}
\alias{stam.net}
\title{Generate a Classifier Graph for StAM}
\description{
  Generates a classifier graph for structured analysis of microarray
  data based on the Gene Ontology.
}
\usage{
  stam.net(chip = "hgu95av2", root = "GO:0008150", probes = character(0))
}
\arguments{
  \item{chip}{A character string representing the microarray chip from which data has been
     generated. A meta data packages of the same name is used to obtain the annotation 
     data, namely for the Gene Ontology.}
  \item{root}{The identifier of the GO node to be used as the root of the classifier 
     graph. Only successors of this node are considered to generate the graph.}
  \item{probes}{The probe names in the order as they occur in the expression matrix. 
     Indeces according to this character array are used to index probes/probesets.}
}
\details{
  stam.net crawls through the Gene Ontology starting with the root node specified. It 
  collects all successors of the root into a classifier graph according to the 
  parent-children relations defined in the Gene Ontology. Probesets of the microarray
  chip at hand are attributed to GO nodes according to the Bioconductor annotation 
  meta data package for the chip. 

  For any node i which has GO annotations AND successors an additional node i' is 
  introduced to the classifier graph. The new node is added as an additional child to i 
  and all probesets annotated to i are moved to i', such that only leaf nodes hold 
  probesets. Nodes which neither themselves nor any of their successors hold probesets 
  are discarded. stam.net also replaces inner nodes with only one child by their 
  successor.
}
\value{
  An object of class stamNet is returned. You may use the print method to obtain detailed
  information about the classifier graph. You may further investigate any element of the 
  'nodes' list using the print method.
}
\author{Claudio Lottaz}
\seealso{\code{\link{stamNet-class}}, \code{\link{stam.writeHTML}}}
\examples{
# load some data
library(golubEsets)
data(Golub_Merge)
emat <- exprs(Golub_Merge)

# determine classifier graph for chip "hu6800" on
# biological processes, taking the positions of 
# probesets in Golub's expression matrix into account
net <- stam.net(chip="hu6800", root="GO:0003674", probes=rownames(emat))

# have a look
print(net)
print(net@nodes[[16]])
print(net@nodes$"GO:0007638")
}
\keyword{utilities}
