\HeaderA{clusterGenome}{clustering and heatmap}{clusterGenome}
\aliasA{plotChrom}{clusterGenome}{plotChrom}
\aliasA{plotValChrom}{clusterGenome}{plotValChrom}
\aliasA{plotvalChrom.func}{clusterGenome}{plotvalChrom.func}
\aliasA{plotValGenome}{clusterGenome}{plotValGenome}
\keyword{hplot}{clusterGenome}
\keyword{cluster}{clusterGenome}
\begin{Description}\relax
This function clusters samples and shows their heatmap
\end{Description}
\begin{Usage}
\begin{verbatim}
clusterGenome(aCGH.obj,
                   response = as.factor(rep("All", ncol(aCGH.obj))),
                   chrominfo = human.chrom.info.Jul03, cutoff=1,
                   lowCol = "red", highCol = "green", midCol = "black",
                   ncolors = 50, byclass = FALSE, showaber = FALSE,
                   amplif = 1, homdel = -0.75,
                   samplenames = sample.names(aCGH.obj),
                   vecchrom = 1:23, titles = "Image Plot",
                   methodS = "ward", dendPlot = TRUE, imp = TRUE,
                   categoricalPheno = TRUE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{aCGH.obj}] object of class \code{aCGH} here
\item[\code{response}] phenotype of interest. defaults to the same phenotype
assigned to all samples
\item[\code{chrominfo}] a chromosomal information associated with the mapping
of the data
\item[\code{cutoff}] maximum absolute value. all the values are floored to
+/-cutoff depending on whether they are positive of
negative. defaults to 1
\item[\code{ncolors}] number of colors in the grid. input to
\code{\LinkA{maPalette}{maPalette}}. defaults to 50
\item[\code{lowCol}] color for the low (negative) values. input to
\code{\LinkA{maPalette}{maPalette}}. defaults to "red"
\item[\code{highCol}] color for the high (positive) values. input to
\code{\LinkA{maPalette}{maPalette}}. defaults to "green"
\item[\code{midCol}] color for the values close to 0. input to
\code{\LinkA{maPalette}{maPalette}}. defaults to "black"
\item[\code{byclass}] logical indicating whether samples should be clustered within each level of the phenotype or overall. defaults to F
\item[\code{showaber}] logical indicating whether high level amplifications and homozygous deletions should be indicated on the plot. defaults to F
\item[\code{amplif}] positive value that all observations equal or exceeding it  are marked by yellow dots indicating high-level changes. defaults to 1
\item[\code{homdel}] negative value that all observations equal or below it  are marked by light blue dots indicating homozygous deletions. defaults to -0.75
\item[\code{samplenames}] sample names
\item[\code{vecchrom}] vector of chromosomal indeces to use for clustering and to display. defaults to 1:23
\item[\code{titles}] plot title. defaults to "Image Plots"
\item[\code{methodS}] clustering method to cluster samples. defaults to "ward"
\item[\code{dendPlot}] logical indicating whether dendogram needs to be
drawn. defaults to T.
\item[\code{imp}] logical indicating whether imputed or original values should be used. defaults to T, i.e. imputed.
\item[\code{categoricalPheno}] logical indicating whether phenotype is
categorical. Continious phenotypes are treated as "no groups" except
that their values are dispalyed.defaults to TRUE.

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
This functions is a more flexible version of the
\code{\LinkA{heatmap}{heatmap}}. It can cluster within levels of categorical
phenotype as well as all of the samples while displaying phenotype
levels in different colors. It also uses any combination of
chromosomes that is requested and clusters samples based on these
chromosomes only. It draws the chromosomal boundaries and displays
high level changes and homozygous deletions. If phenotype if not
categical, its values may still be displayed but groups are not formed
and byclass = F.
Image plot has the samples reordered according to clustering order.
\end{Details}
\begin{SeeAlso}\relax
\code{\LinkA{aCGH}{aCGH}}
\code{\LinkA{heatmap}{heatmap}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode} 
data(colorectal)

#cluster all samples using imputed data on all chromosomes (autosomes and X):

clusterGenome(colorectal)

#cluster samples within sex groups based on 3 chromosomes individually. 
#use non-imputed data and  do not show dendogram. Indicate amplifications and 
#homozygous deletions.

clusterGenome(colorectal, response = phenotype(colorectal)$sex,
                   byclass = TRUE, showaber = TRUE, vecchrom = c(4,8,9),
                   dendPlot = FALSE, imp = FALSE)

#cluster samples based on each chromosome individualy and display age. Show
#gains in red and losses in green. Show aberrations and use values < -1
#to identify homozgous deletions. Do not show dendogram.

pdf("plotimages.pdf", width = 11, height = 8.5)
for (i in 1:23)
    clusterGenome(colorectal,
                       response = phenotype(colorectal)$age,
                       chrominfo = human.chrom.info.Jul03,
                       cutoff = 1, ncolors = 50, lowCol="green",
                       highCol="red", midCol="black", byclass = FALSE,
                       showaber = TRUE, homdel = -1, vecchrom = i,
                       titles = "Image Plot", methodS = "ward",
                       dendPlot = FALSE, categoricalPheno = FALSE)
dev.off()

\end{ExampleCode}
\end{Examples}

