---
title: "The Code That Never Was"
output: html_document
date: "2023-12-14"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## The Code That Never Was
This is code that did not make the "final cut" and would've been nice, but ultimately not neccessary to the analyses.
## 06-deseq2
### Making an extra Heatmap for sig DEGs
I wanted to create a heatmap that showed sig. DEGs by sample, not neccessary, but was would've been cool. Scrapped it for the sake of time. The following code goes after the whole of the \`06-deseq2.Rmd\` script:
\~\~\~\~
commenting out this section so I can knit and folks can see the outputs
```{r}
# make a heatmap using only our significant DEGs
# #import data
# DEGCounts <- read.table("../output/1213-DEG.tab", header=TRUE, quote="\"")
# head(DEGCounts)
#
# #select subset of just gene and sample columns
# DEGHeatmap <- DEGCounts[-c(2:7)]
# head(DEGHeatmap)
#
# # establish that the first column is row names
# # rownames(DEGHeatmap) <- DEGHeatmap$gene
#
# #get rid of the redundant row names column that will be created.
# # DEGHeatmap <- DEGHeatmap[,-1]
#
#
# ### stuck here
# ### Error in seq.default(-m, m, length.out = n + 1) :'from' must be a finite number
#
# #make heatmap
# pheatmap(DEGHeatmap, scale = "row",show_rownames = TRUE, treeheight_col = 1, fontsize_col = 10, fontsize_row = 3)
```
Chunk above is giving me trouble. Here's what I want:
1. a data frame containing rows = genes, cols = samples, values = mean exp but ONLY for things where p \<= 0.05
2. a heatmap that then shows the genes that are *significantly deferentially* expressed
```{r}
# read in sig.DEGs
DEGCounts <- read.table("../output/1213-DEG.tab", header=TRUE, quote="\"")
head(DEGCounts)
DEGCountNames <-rownames(DEGCounts)
DEGCounts <- add_column(DEGCounts, DEGCountNames, .before = DEGCounts$baseMean )
varGenes <- order( rowVars (x = assay(rld), useNames = FALSE ), decreasing=TRUE )
varGenes <-assay(rld)[topVarGenes,]
varNames <- rownames(varGenes)
varGenes <- as.data.frame(varGenes)
varGenes <- add_column(varGenes, varNames, .before = varNames$`M-C-193`)
merge(varGenes, DEGCounts, by.y = "DEGCountNames", by.x = "top25names")
```
## extra abandoned chunks
[github issue](https://github.com/RobertsLab/resources/issues/1880) from when I was struggling (again) with DESeq2 and getting a heatmap
```{r}
#Regularized log transformation
rld <- rlog( deseq2.dds, blind = FALSE )
#Get 25 top varying genes
topVarGenes <- head( order( rowVars (x = assay(rld), useNames = FALSE ), decreasing=TRUE ), 25)
```
```{r}
# log2_changes <- deseq2.res[, "log2FoldChange"]
# Filter for significant genes (adjusted p-value < 0.05)
significant_results <- subset(deseq2.res, padj < 0.05)
# Sort results by absolute log2 fold change
significant_results <- significant_results[order(abs(significant_results$baseMean), decreasing = TRUE), ]
# Get top 25 significant genes
top_25_genes <- head(significant_results, 25)
# Extract log2 fold change values for top 25 genes
top_25_genes_ids <- rownames(top_25_genes)
top_25_genes_log2fc <- top_25_genes$log2FoldChange
# Create a matrix containing log2 fold change values of top 25 genes
top_25_genes_matrix <- count_matrix[top_25_genes_ids, ]
# Plot heatmap for log2 fold change of top 25 genes
pheatmap(top_25_genes_matrix,
cluster_rows = FALSE,
cluster_cols = FALSE,
main = "Heatmap of Log2 Fold Change for Top 25 DEGs",
#color = colorRampPalette(c("blue", "yellow", "red"))(100), # Choose a color palette
breaks = seq(-4, 4, length.out = 101), # Adjust the breaks for better color resolution
fontsize = 8) # Adjust fontsize as needed
```
```{r}
# make heatmap of top 25 differentially expressed genes
# get top 25 counts
top25Counts<-assay(rld)[topVarGenes,]
head(top25Counts)
# make the heatmap. Cluster_cols = FALSE neccessary to get the M-T and M-C columns next to eachother (defult leaves em randomized)
pheatmap(top25Counts,scale = "row",show_rownames = TRUE, treeheight_col = 1, fontsize_col = 12, fontsize_row = 5, cluster_cols = FALSE, cluster_rows = FALSE)
deg <- read.csv("../output/1213-DEG.tab", row.names = 1, sep = "")
deg <- deg[order(deg[, 1], decreasing = TRUE), ]
deg25 <- deg[1:25, ]
pheatmap(top25Counts,scale = "row",show_rownames = TRUE, treeheight_col = 1, fontsize_col = 12, fontsize_row = 5, cluster_cols = FALSE, cluster_rows = FALSE)
```