%\VignetteIndexEntry{2) Additional visualizations}
%\VignettePackage{variancePartition}
%\VignetteEngine{knitr::knitr}

% To compile this document
% library('knitr'); rm(list=ls()); knit('variancePartition.Rnw')

\documentclass[12pt]{article}

\newcommand{\lowtilde}{\raise.17ex\hbox{$\scriptstyle\mathtt{\sim}$}}

<<knitr, echo=FALSE, results='hide'>>=
library("knitr")
opts_chunk$set(tidy=FALSE,dev="pdf",fig.show="hide",
               fig.width=4,fig.height=4.5,
               message=FALSE, warning=FALSE)

@ 

<<style, eval=TRUE, echo=FALSE, results="asis">>=
BiocStyle::latex()
@

\usepackage[position=top]{subfig}
\usepackage{blkarray}

\bioctitle[Additional visualizations]{Additional visualizations for\\\Biocpkg{variancePartition}}

\author{Gabriel Hoffman\\ 
\small{Pamela Sklar Division of Psychiatric Genomics} \\
\small{Icahn Institute for Genomics and Multiscale Biology}\\
\small{Department of Genetics and Genomic Sciences}\\
\small{Icahn School of Medicine at Mount Sinai}}


\begin{document}

\maketitle


<<options, results="hide", echo=FALSE>>=
options(digits=3, width=80, prompt=" ", continue=" ")
opts_chunk$set(comment=NA, fig.width=7, fig.height=7)
@

<<initialize, cache=FALSE, echo=FALSE>>=
# load library
library('variancePartition')

# optional step to run analysis in parallel on multicore machines
# Here use 4 threads
# This is strongly recommended since the analysis 
# can be computationally intensive 
library('doParallel')
cl <- makeCluster(4)
registerDoParallel(cl)
@

The correlation structure between samples in complex study designs can be decomposed into the contribution of multiple dimensions of variation.  \Rpackage{variancePartition} provides a statistical and visualization framework to interpret sources of variation.  Here I describe a visualization of the correlation structure between samples for a single gene.  In the example dataset described in the main vignette, samples are correlated because they can come from the same individual or the same tissue.  The function \Rfunction{plotCorrStructure} shows the correlation structure caused by each variable as well and the joint correlation structure.  Figure \ref{fig:plotCorr}a,b shows the correlation between samples from the same individual where (a) shows the samples sorted based on clustering of the correlation matrix and (b) shows the original order.  Figure \ref{fig:plotCorr}c,d shows the same type of plot except demonstrating the effect of tissue.  The total correlation structure from summing individual and tissue correlation matricies is shown in \ref{fig:plotCorrAll}a,b.  The code to generate these plots is shown below. 


\pagebreak

<<corStruct, cache=TRUE, results='hide'>>=
# Fit linear mixed model and examine correlation stucture
# for one gene
data(varPartData)

form <- ~ Age + (1|Individual) + (1|Tissue)

fitList <- fitVarPartModel( geneExpr[1:2,], form, info )

# focus on one gene
fit = fitList[[1]]
@


<<corStructa, cache=TRUE>>=
# Figure 1a
# correlation structure based on similarity within Individual
# reorder samples based on clustering
plotCorrStructure( fit, "Individual" )
@

<<corStructb, cache=TRUE>>=
# Figure 1b
# use original order of samples
plotCorrStructure( fit, "Individual", reorder=FALSE )
@

<<corStructc, cache=TRUE>>=
# Figure 1c
# correlation structure based on similarity within Tissue
# reorder samples based on clustering
plotCorrStructure( fit, "Tissue" )
@

<<corStructd, cache=TRUE>>=
# Figure 1d
# use original order of samples
plotCorrStructure( fit, "Tissue", reorder=FALSE )
@

<<corStructe, cache=TRUE>>=
# Figure 2a
# correlation structure based on similarity within 
# Individual *and* Tissue, reorder samples based on clustering
plotCorrStructure( fit )
@

<<corStructf, cache=TRUE>>=
# Figure 2b
# use original order of samples
plotCorrStructure( fit, reorder=FALSE )
@


\begin{figure}[hb]
\centering
\caption{Visualizing correlation structure caused by variables modeled as random effects}
\subfloat[clustered]{\includegraphics[width=.5\textwidth]{figure/corStructa-1}}
\subfloat[original]{\includegraphics[width=.5\textwidth]{figure/corStructb-1}}\\
\subfloat[clustered]{\includegraphics[width=.5\textwidth]{figure/corStructc-1}}
\subfloat[original]{\includegraphics[width=.5\textwidth]{figure/corStructd-1}}
\label{fig:plotCorr}
\end{figure}

\begin{figure}[hb]
\centering
\caption{Visualizing correlation structure caused by multiple variables}
\subfloat[clustered]{\includegraphics[width=.5\textwidth]{figure/corStructe-1}}
\subfloat[original]{\includegraphics[width=.5\textwidth]{figure/corStructf-1}}
\label{fig:plotCorrAll}
\end{figure}


<<resetOptions, results="hide", echo=FALSE>>=
options(prompt="> ", continue="+ ")
@ 


% \bibliography{library}

\end{document}