CorticalOrganoids / scr / AllCells / Explore_Different_resolutions.Rmd
Explore_Different_resolutions.Rmd
Raw
---
title: "Try various cluster resolutions for complete dataset"
author: "Nina-Lydia Kazakou"
date: "24 May 2021"
output: html_document
---

I have decided that as far as the whole dataset is concerned I will use a low clustering resolution because I am only interested in annotating the different populations present in these 3D cultures and then I want to analyse closely only the oligodendrocytes.

After doing a quick clustering using Seurat, I checked for the presence of oligolineage cells. Using "RNA_snn_res.0.5", the SOX10+ cells seem to localise within cluster 12, while the OLIG2+ cells seem to localise mostly on cluster 12, but also a bit in cluster 5. Cluster 5 is a big cluster ans I wouldn't want to integrate it all into the oligolineage subset.

Here, I try different resolutions to see if I can somehow separate the oligolineage cells form cluster 5 into a separate cluster or merge them to cluster 12.

# Load libraries
```{r}
library(SingleCellExperiment)
library(Seurat)
library(scater)
library(scran)
library(devtools)
library(dplyr)
library(ggsci)
library(tidyverse)
library(Matrix)
library(scales)
library(here)
```

# Set the colour pallete 
```{r}
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)
show_col(mycoloursP, labels =F)
```

# Load object
```{r}
co.norm <- readRDS(here("data", "co.norm.rds"))
```

# Re-run Clustering & Umap
```{r}
co.norm <- FindNeighbors(co.norm, dims = 1:14)
co.norm <- FindClusters(co.norm, resolution = c(0.1, 0.3, 0.4, 0.5, 0.7, 0.8, 0.9, 1.0, 1.2, 1.5, 1.7, 2.0))

co.norm <- RunUMAP(co.norm, dims = 1:14, reduction = "pca")
```

# Plot the different resolutions
```{r}
Idents(co.norm) <- "RNA_snn_res.0.1"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.0.3"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.0.4"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.0.5"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.0.7"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.0.8"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.0.9"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.1"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.1.2"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.1.5"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.1.7"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)

Idents(co.norm) <- "RNA_snn_res.2"
DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5)
```

```{r}
co.norm@meta.data$man_clust <- ifelse(co.norm@meta.data$RNA_snn_res.2 == 18, "10_A",
                                       ifelse(co.norm@meta.data$RNA_snn_res.2 == 21, "10_B",
                                               ifelse(co.norm@meta.data$RNA_snn_res.2 == 12, "4_A",
                                                       ifelse(co.norm@meta.data$RNA_snn_res.2 == 16, "4_B",
                                                              paste(co.norm@meta.data$RNA_snn_res.0.5)))))


                                      
                                      
                                      
                         


co.norm@meta.data$man_clust <- ifelse(co.norm@meta.data$man_clust == 10, "4_B",
                                      ifelse(co.norm@meta.data$man_clust == 4, "4_B",
                                                              paste(co.norm@meta.data$man_clust)))

DimPlot(co.norm, reduction = "umap", label = TRUE, pt.size = 0.5,
        group.by = "man_clust", cols= mycoloursP)           
```


Cluster 5 seems to split at a very high resolution and only vertically, not horizontaly as I would want for the OLIG2+ cells.