Luise-Seeker-Human-WM-Glia / src / 72_Validation_SPARC_HCN2_OLIG2_IF_FOV_thresholds.Rmd
72_Validation_SPARC_HCN2_OLIG2_IF_FOV_thresholds.Rmd
Raw
---
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()

```