%\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}$}} <>= library("knitr") opts_chunk$set(tidy=FALSE,dev="pdf",fig.show="hide", fig.width=4,fig.height=4.5, message=FALSE, warning=FALSE) @ <>= 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(digits=3, width=80, prompt=" ", continue=" ") opts_chunk$set(comment=NA, fig.width=7, fig.height=7) @ <>= # 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 <>= # 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]] @ <>= # Figure 1a # correlation structure based on similarity within Individual # reorder samples based on clustering plotCorrStructure( fit, "Individual" ) @ <>= # Figure 1b # use original order of samples plotCorrStructure( fit, "Individual", reorder=FALSE ) @ <>= # Figure 1c # correlation structure based on similarity within Tissue # reorder samples based on clustering plotCorrStructure( fit, "Tissue" ) @ <>= # Figure 1d # use original order of samples plotCorrStructure( fit, "Tissue", reorder=FALSE ) @ <>= # Figure 2a # correlation structure based on similarity within # Individual *and* Tissue, reorder samples based on clustering plotCorrStructure( fit ) @ <>= # 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} <>= options(prompt="> ", continue="+ ") @ % \bibliography{library} \end{document}