--- title: "Validation_sparc_hcn2_OLIG2_IF" author: "Luise A. Seeker" date: "09/08/2022" output: html_document --- HCN2 SPARC and OLIG2 co-labelling in 3 BA4 and 2 CSC samples ```{r} library(ggplot2) library(lme4) library(lmerTest) library(here) library(tidyr) library(ggsci) library(Seurat) ``` ```{r, echo = F} mypal <- pal_npg("nrc", alpha = 0.7)(10) mypal2 <-pal_tron("legacy", alpha = 0.7)(7) mypal3 <- pal_lancet("lanonc", alpha = 0.7)(9) mypal4 <- pal_simpsons(palette = c("springfield"), alpha = 0.7)(16) mypal5 <- pal_rickandmorty(palette = c("schwifty"), alpha = 0.7)(6) mypal6 <- pal_futurama(palette = c("planetexpress"), alpha = 0.7)(5) mypal7 <- pal_startrek(palette = c("uniform"), alpha = 0.7)(5) mycoloursP<- c(mypal, mypal2, mypal3, mypal4, mypal5, mypal6, mypal7) ``` ```{r} sparc_hcn2 <- read.csv(here("data", "validation_data", "20220819_HCN2_SPARC_OLIG2_quant.csv")) ``` ```{r} names(sparc_hcn2) sparc_hcn2$tissue <- as.factor(sparc_hcn2$tissue) sparc_hcn2$sample_id <- factor(sparc_hcn2$sample_id, levels = c("SD008_18_BA4", "SD012_15_BA4", "SD031_14_BA4", "SD011_18_CSC", "SD042_18_CSC")) ``` Convert from wide to long format to see how many single, double and triple positive cells are in each sample ```{r} keycol <- "sample_id" valuecol <- "count" gathercols <- c("Num_Detections", "Num_HCN2", "Num_OLIG2", "Num_OLIG2_HCN2", "Num_OLIG2_SPARC", "Num_OLIG2_SPARC_HCN2", "Num_SPARC", "SPARC_HCN2") long_data <- gather(sparc_hcn2, keycol, valuecol, gathercols) head(long_data) nrow(long_data) names(long_data) ``` ```{r} ggplot(long_data, aes(x = sample_id , y = valuecol, fill = keycol)) + geom_bar(position="stack", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+scale_fill_manual(values= mycoloursP[25:50]) ggplot(long_data, aes(x = sample_id , y = valuecol, fill = keycol)) + geom_bar(position="fill", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +scale_fill_manual(values= mycoloursP[25:50]) ``` Remove cells that are negative for all tested markers: ```{r} keycol <- "sample_id" valuecol <- "count" gathercols <- c("Num_HCN2", "Num_OLIG2", "Num_OLIG2_HCN2", "Num_OLIG2_SPARC", "Num_OLIG2_SPARC_HCN2", "Num_SPARC", "SPARC_HCN2") long_data <- gather(sparc_hcn2, keycol, valuecol, gathercols) head(long_data) nrow(long_data) names(long_data) ggplot(long_data, aes(x = sample_id , y = valuecol, fill = keycol)) + geom_bar(position="stack", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+scale_fill_manual(values= mycoloursP[25:50]) ggplot(long_data, aes(x = sample_id , y = valuecol, fill = keycol)) + geom_bar(position="fill", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +scale_fill_manual(values= mycoloursP[25:50]) ``` Exclude cells that are not positive for OLIG2 ```{r} keycol <- "sample_id" valuecol <- "count" gathercols <- c("Num_OLIG2", "Num_OLIG2_HCN2", "Num_OLIG2_SPARC", "Num_OLIG2_SPARC_HCN2") long_data <- gather(sparc_hcn2, keycol, valuecol, gathercols) ggplot(long_data, aes(x = sample_id , y = valuecol, fill = keycol)) + geom_bar(position="stack", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+scale_fill_manual(values= mycoloursP[25:50]) ggplot(long_data, aes(x = sample_id , y = valuecol, fill = keycol)) + geom_bar(position="fill", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +scale_fill_manual(values= mycoloursP[25:50]) ``` collapse tissue ```{r} ggplot(long_data, aes(x = tissue , y = valuecol, fill = keycol)) + geom_bar(position="stack", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+scale_fill_manual(values= mycoloursP[25:50]) ggplot(long_data, aes(x = tissue, y = valuecol, fill = keycol)) + geom_bar(position="fill", stat="identity")+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +scale_fill_manual(values= mycoloursP[25:50]) ``` ```{r} sparc_hcn2$perc_HCN2 <- ((sparc_hcn2$Num_OLIG2_HCN2 + sparc_hcn2$Num_OLIG2_SPARC_HCN2)/ (sparc_hcn2$Num_OLIG2_HCN2 + sparc_hcn2$Num_OLIG2_SPARC_HCN2 + sparc_hcn2$Num_OLIG2_SPARC + sparc_hcn2$Num_OLIG2))*100 ggplot(sparc_hcn2, aes(x = tissue, y = perc_HCN2)) + geom_boxplot()+ geom_jitter(width = 0.2, aes(colour = sample_id)) + theme_bw(14) + ylab("HCN2+OLIG2+ (% of OLIG2)") + xlab("Tissue") ``` ```{r} wilcox.test(perc_HCN2 ~ tissue, data=sparc_hcn2) ``` ```{r} ggplot(sparc_hcn2, aes(x = tissue, y = perc_HCN2_SPARC_oligos)) + geom_boxplot()+ geom_jitter(width = 0.2, aes(colour = sample_id)) + theme_bw(14) + ylab("HCN2+OLIG2+SPARC+ (% of OLIG2)") + xlab("Tissue") ``` ```{r} wilcox.test(perc_HCN2_SPARC_oligos ~ tissue, data=sparc_hcn2) ``` ```{r} summary(sparc_hcn2$perc_HCN2_SPARC_oligos) ``` ```{r} nad_ol <- readRDS(here("data", "single_nuc_data", "oligodendroglia", "srt_oligos_and_opcs_LS.RDS")) Idents(nad_ol) <- "ol_clusters_named" oligos <- subset(nad_ol, idents = c("Oligo_A", "Oligo_B", "Oligo_C", "Oligo_D", "Oligo_E", "Oligo_F")) cd_genes <- c("HCN2") a <- DotPlot(object = oligos, features = cd_genes) a$data mean(a$data$pct.exp) df <- data.frame(modality = c("HCN2_pos", "HCN2_neg"), percentage = c(mean(a$data$pct.exp), 100- mean(a$data$pct.exp))) df$gene <- "HCN2" ggplot(df, aes(x = gene, y=percentage, fill = modality))+ geom_bar(stat="identity")+scale_fill_manual(values= mycoloursP[25:50]) ``` Conclusion: HCN2 expressing oligos are more abundant in CSC compared to BA4. Some but not all of them are co-expressing SPARC. ```{r} sessionInfo() ```