--- a +++ b/FL_integration/RNASeq/volcanoPlot_Hanetal,CancerDiscovery.R @@ -0,0 +1,102 @@ + +setwd("~/UiO Dropbox/Ankush Sharma/LymphomaBiology/2024/MyklebustLab/FL_Multiomic_Revision/MichaelGreenPaper") +library(Seurat) +library(dplyr) +library(ggplot2) +library(EnhancedVolcano) +currentjob="Green_FL" +#Single Cell RNASeq Data from Han et al, Cancer Discovery article, GEO ID GSE203610_FL-gex-meta +GreenFL1 <- readRDS("../Data/FL_MultiomicRevision/Data_MGreenPaper/Green_FL_CZIbioscience.rds") + +#Extract gene names +gene_names <- GreenFL1@assays[["RNA"]]@meta.features[["feature_name"]] +head(feature_names) + +# Ensure that the length of gene_names matches the number of rows in your counts matrix +if(length(gene_names) == nrow(GreenFL1@assays[["RNA"]]@counts)) { + # Step 2: Replace Ensembl IDs with gene names in the counts matrix + rownames(GreenFL1@assays[["RNA"]]@counts) <- gene_names +} else { + stop("The number of gene names does not match the number of Ensembl IDs in counts.") +} +rownames(GreenFL1@assays[["RNA"]]@data) <- gene_names + + +#Define the group based on sample_id +#Corresponding Sample name "FL-013", "FL-044", "FL-030", "FL-039") mapped for samples (FL03,FL11,FL06,FL10) that are EZH2 Mutated in Metadata for HAN et al manuscript GSE203610_FL-gex-meta + + +# Subset to include only 'Malignant' cells based on the 'cell_type' metadata +GreenFL1_Malignant <- subset(GreenFL1, subset = cell_type == "malignant cell") +fl_group_ids <- c("FL-013", "FL-044", "FL-030", "FL-039") +GreenFL1_Malignant$Group <- ifelse(GreenFL1_Malignant$sample_id %in% fl_group_ids, "EZH2Mutated", "EZH2WT") +table(GreenFL1_Malignant$Group) + +GreenFL1_Malignant <- SetIdent(GreenFL1_Malignant, value = "Group") + +# Perform FindMarkers between activated Tregs and naive Tregs +de_results <- FindMarkers( + GreenFL1_Malignant, + ident.1 = "EZH2Mutated", ident.2 = "EZH2WT", + min.pct = 0.1 +) + +write.table(de_results,"GreenPaper_MalignantCells_FL_EZH2Mutated_WT_updated20240508.csv") + + +Histone <- c("H3C8","H2AC17", "H2AC7", "H2AC8", "H2BC10", "H2BC5", "H3C4", "H2AC19", "H2BC4", "H3C1", "H2BC14", "H4C4", "H2BC9", "H4C13", "H4C16", "H1-2", "H1-3", "H2AC4", "H2BC13", "H2AC16", "H2BC11", "H2AC6", "H4C12", "H4C8", "H4C2", "H2AC18", "H3C13", "H2AC20", "H2AC15", "H1-5", "H2AC12", "H2BC8", "H4C1", "H2BC3", "H2BC17", "H2AC13", "H2AC11", "H4C3", "H3C12", "H2BC7", "H2BC12", "H4C6", "H2BC18", "H4C14", "H2AC21", "H2BC15", "HLA-DQB1", "HLA-DQB2", "HLA-DRA", "TCL1A", "HLA-DRB1", "HLA-DOB", "HLA-B", "HLA-F", "LGALS1", "FOS", "JUN", "HLA_DQA", "SOX5", "CLDN5", "H2AC25", "SYT11", "CLEC4A", "IL2RA", "SLC25A23", "HLA-DQA2", "ALKAL2", "LMO7", "HLA-DMB", "HLA-E","HLA-DMB") + + + + # Assigning basic colors based on significance and fold change + keyvals <- ifelse(de_results$p_val_adj > 0.000005, "#434c54", + ifelse(de_results$avg_log2FC < -0.2 , '#5870B3', + ifelse(de_results$avg_log2FC > 0.2, '#C86065', 'lightgray'))) + keyvals[is.na(keyvals)] <- '#292524' # Assigning 'darkgrey' to NA values + + # Updated gene names based on color coding + names(keyvals)[keyvals == '#5870B3' & de_results$avg_log2FC < -0.2] <- 'downregulated' + names(keyvals)[keyvals == '#C86065' & de_results$avg_log2FC > 0.2] <- 'upregulated' + names(keyvals)[keyvals == '#434c54'] <- 'non significant' + names(keyvals)[keyvals == 'lightgray'] <- 'significant' + Green_Volc <- EnhancedVolcano(de_results, + lab = rownames(de_results), + x = 'avg_log2FC', + y = 'p_val_adj', + selectLab = Histone, + + xlim = c(-4,2), + xlab = bquote(~Log[2]~ 'fold change'), + title = 'EZH2 Mutated vs WT', + subtitle = 'Han et al.(2022) Cancer Discovery', + pCutoff = 0.0005, + FCcutoff = 0.2, + pointSize = 0.5, + labSize = 1.5, + axisLabSize=6, + + titleLabSize = 8, # Smaller font size for the title + subtitleLabSize = 6, + colCustom = keyvals, + colAlpha = 1, + legendLabSize =6, + legendIconSize = 3.0, + legendPosition = 'right', + legendLabels=c('Not significant','Avg log2FC','Adj.Pval','Adj.Pval & Avg. log2FC'), + drawConnectors = TRUE, + widthConnectors = 0.1, + colConnectors = 'grey10', + gridlines.major = FALSE, + gridlines.minor = FALSE, + border = 'full', + borderWidth = 0.3, + borderColour = 'black') + +Green_Volc +# Close the PDF device to finalize and save the file +dev.copy(pdf,paste0(currentjob, "_Volcano_EZH2Mutated_vsWT_MalignantCells_default_20240508_v1.pdf"), width=6, height=7,paper='special') +dev.off() +dev.set(dev.next()) +saveRDS(GreenFL1,"GREENFL1_group_AS.rds") + +#########################