Set working directory and load libraries

setwd("C:/Users/Fei_lab/Documents/BTI2023/Reruns")
library(WGCNA)
library(tidyr)
library(ggplot2)
library(cowplot)
library(dplyr)
library(stringr)
library(ComplexHeatmap)
library(reshape2)
library(colorRamp2)
library(grid)
library(readxl)
library(kableExtra)
library(data.table)
library(rmarkdown)

Load differentially expressed genes

candidategenes <- read_excel("~/BTI2023/WGCNA Analysis/genes.xlsx", 
    sheet = "Importantgenes", range = "A1:O61")
geneFrame <- data.frame(candidategenes)
geneFrame <- geneFrame[-(28:57),]
rmarkdown::paged_table(geneFrame)

Average data from the same growth stage for each gene

MGcols <- geneFrame[, grepl("MG", colnames(geneFrame))]
average_MG <- rowMeans(MGcols)
Brcols <- geneFrame[, grepl("Br", colnames(geneFrame))]
average_Br <- rowMeans(Brcols)
Ripecols <- geneFrame[, grepl("Ripe", colnames(geneFrame))]
average_Ripe <- rowMeans(Ripecols)
dpacols <- geneFrame[, grepl("21dpa", colnames(geneFrame))]
average_dpa <- rowMeans(dpacols)
averaged_geneFrame <- data.frame(Gene = geneFrame$Gene, '21dpa' = average_dpa, MG = average_MG, Br = average_Br, Ripe = average_Ripe)
row.names(averaged_geneFrame) <- averaged_geneFrame$Gene
averaged_geneFrame <- averaged_geneFrame[, 2:5]
rmarkdown::paged_table(averaged_geneFrame)

Heatmap

corrgeneframe <- geneFrame[, -(2:3)]
corrgeneframe <- corrgeneframe[, -(13)]
row.names(corrgeneframe) <- corrgeneframe$Gene
corrgeneframe <- corrgeneframe[, -(1)]
corrgeneframe <- t(corrgeneframe)
correlation_matrix <- cor(as.matrix(corrgeneframe))

heatmap <- Heatmap(correlation_matrix, name = "Correlation", col = colorRamp2(c(-1, 0, 1), c("blue", "white", "red")), show_row_names = TRUE, show_column_names = TRUE,  column_names_gp = grid::gpar(fontsize = 8),
  row_names_gp = grid::gpar(fontsize = 8))

draw(heatmap)