# HG changeset patch # User mingchen0919 # Date 1502143887 14400 # Node ID 507e408cd6cc3b502c3b1148c2fb92cd79202ab9 # Parent 665daa8b8bdb689a895b0c0eaa5b3081a6fb03eb Uploaded diff -r 665daa8b8bdb -r 507e408cd6cc DESeq_visualization.Rmd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DESeq_visualization.Rmd Mon Aug 07 18:11:27 2017 -0400 @@ -0,0 +1,114 @@ +--- +title: 'DESeq2: Visualization' +output: + html_document: + number_sections: true + toc: true + theme: cosmo + highlight: tango +--- + +```{r setup, include=FALSE, warning=FALSE, message=FALSE} +knitr::opts_chunk$set( + echo = ECHO +) + +library(stringi) +library(DESeq2) +library(pheatmap) +library(PoiClaClu) +library(RColorBrewer) +``` + +# Import workspace + +```{r eval=TRUE} +fcp = file.copy("DESEQ_WORKSPACE", "deseq.RData") +load("deseq.RData") +``` + +# Visualization + +## Heatmaps of sample-to-sample distances {.tabset} + +### rlog-transformed values + +```{r} +sampleDistMatrix <- as.matrix( sampleDists ) +colors <- colorRampPalette( rev(brewer.pal(9, "Blues")) )(255) +pheatmap(sampleDistMatrix, + # clustering_distance_rows = sampleDists, + clustering_distance_cols = sampleDists, + col = colors) +``` + +### Poisson Distance + +```{r} +count_t = t(counts(dds)) +rownames(count_t) = colnames(counts(dds)) +poisd <- PoissonDistance(count_t) +samplePoisDistMatrix <- as.matrix( poisd$dd ) +rownames(samplePoisDistMatrix) = rownames(count_t) +colnames(samplePoisDistMatrix) = rownames(count_t) +pheatmap(samplePoisDistMatrix, + # clustering_distance_rows = poisd$dd, + clustering_distance_cols = poisd$dd, + col = colors) +``` + + +## PCA plots {.tabset} + +### Using `plotPCA()` function + +```{r} +# interest groups +col_index = as.numeric(strsplit("INTGROUPS_PCA", ',')[[1]]) +intgroup_pca = colnames(sample_table)[col_index] +``` + +```{r} +plotPCA(rld, intgroup = intgroup_pca) +``` + + +### Using *ggplot2* + +```{r} +pcaData <- plotPCA(rld, intgroup = intgroup_pca, returnData = TRUE) +percentVar <- round(100 * attr(pcaData, "percentVar")) +ggplot(pcaData, aes(x = PC1, y = PC2, color = time)) + + geom_point(size =3) + + xlab(paste0("PC1: ", percentVar[1], "% variance")) + + ylab(paste0("PC2: ", percentVar[2], "% variance")) + + coord_fixed() +``` + +### PCA data table + +```{r} +knitr::kable(pcaData) +``` + + +## MDS plots {.tabset} + +### Using rlog-transformed values + +```{r} +mds <- as.data.frame(colData(rld)) %>% + cbind(cmdscale(sampleDistMatrix)) +mds +ggplot(mds, aes(x = `1`, y = `2`, col = time)) + + geom_point(size = 3) + coord_fixed() +``` + +### Using the *Poisson Distance* + +```{r} +mdsPois <- as.data.frame(colData(dds)) %>% + cbind(cmdscale(samplePoisDistMatrix)) +ggplot(mdsPois, aes(x = `1`, y = `2`, col = time)) + + geom_point(size = 3) + coord_fixed() +```