https://github.com/behyag/perlmann_lab_eLife2024
Raw File
Tip revision: 44f72a1e27db1bafefb159cdc26bc71f3691bf54 authored by Behzad Yaghmaeian Salmani on 07 March 2024, 16:41:19 UTC
First commit
Tip revision: 44f72a1
figure2.R

suppressPackageStartupMessages({
  library(Seurat)
  library(stringr)
  library(sctransform)
  library(future)
  require(scales)
  library(RColorBrewer)
  library("readxl")
  library(dplyr)
  library(dendextend)
})

### figure 2 + supplements 

# import the Dopaminergic nuclei (mDA) dataset.
sobj <- readRDS("/path/to/dir/mDA.rds")

# Figure 2 UMAP 

p <- DimPlot(sobj, group.by = "kmeans71", cols = c("3"="#B35806", "56"="#B35806", "12"="#2171B5", "26"="#2171B5", "54"="#2171B5",
                                                   "65"="#2171B5", "40"="#2171B5", "13"="#2171B5", "20"="#2171B5", "52"="#2171B5", 
                                                   "17"="#2171B5", "28"="#2171B5", "27"="#2171B5", "45"="#2171B5", "33"="#2171B5", 
                                                   "23"="#2171B5", "29"="#2171B5", "66"="#2171B5", "9"="#2171B5", "67"="#2171B5", 
                                                   "31"="#2171B5", "44"="#2171B5", "22"="#2171B5", "46"="#2171B5", "14"="#2171B5", 
                                                   "11"="#2171B5","30"="#2171B5", "1"="#2171B5", "38"="#2171B5", "41"="#2171B5", 
                                                   "61"="#2171B5", "21"="#2171B5", "50"="#2171B5", "19"="#2171B5", "42"="#2171B5", 
                                                   "4"="#2171B5", "10"="#2171B5", "2"="#2171B5", "39"="#2171B5", "60"="#2171B5", 
                                                   "5"="#2171B5", "43"="#2171B5", "37"="#2171B5", "53"="#2171B5", "15"="#00441B", 
                                                   "71"="#00441B", "49"="#00441B", "68"="#00441B", "8"="#DF65B0", "62"="#DF65B0", 
                                                   "58"="#DF65B0", "47"="#DF65B0", "55"="#DF65B0", "16"="#DF65B0", "63"="#DF65B0", 
                                                   "6"="#DF65B0",  "7"="#DF65B0",  "24"="#DF65B0", "18"="#FB9A99", "57"="#FB9A99", 
                                                   "69"="#FB9A99", "48"="#FB9A99", "59"="#FB9A99", "70"="#FB9A99", "25"="#FB9A99", 
                                                   "34"="#FB9A99", "32"="#FB9A99", "64"="#FB9A99", "51"="#969696", "35"="#969696", 
                                                   "36"="#969696")) + coord_fixed() + NoLegend()

tiff(file = "/path/to/dir/plot_name.tiff", 
     units="cm", width=25, height=25, res=300)

LabelClusters(plot = p, id = 'kmeans71', color = 'white', size=4, fontface = 'bold', box = T, max.overlapp = Inf, repel=T) 

dev.off()


# Figure 2 dendrogram

dend <- as.dendrogram(hc71)

tiff(file = "/path/to/dir/plot_name.tiff", 
     units="cm", width=18, height=2, res=300)

p1 <- dend %>% set("leaves_pch", 15) %>%  
  set("leaves_cex", 0.01) %>%  
  set("branches_lwd", 0.4) %>%   
  set("leaves_col", c("3"="#B35806", "56"="#B35806", "12"="#2171B5", "26"="#2171B5", "54"="#2171B5",
                      "65"="#2171B5", "40"="#2171B5", "13"="#2171B5", "20"="#2171B5", "52"="#2171B5", 
                      "17"="#2171B5", "28"="#2171B5", "27"="#2171B5", "45"="#2171B5", "33"="#2171B5", 
                      "23"="#2171B5", "29"="#2171B5", "66"="#2171B5", "9"="#2171B5", "67"="#2171B5", 
                      "31"="#2171B5", "44"="#2171B5", "22"="#2171B5", "46"="#2171B5", "51"="#969696", 
                      "14"="#2171B5", "11"="#2171B5","30"="#2171B5", "1"="#2171B5", "38"="#2171B5", 
                      "41"="#2171B5", "61"="#2171B5", "21"="#2171B5", "50"="#2171B5", "19"="#2171B5", 
                      "42"="#2171B5", "4"="#2171B5", "10"="#2171B5", "2"="#2171B5", "39"="#2171B5", 
                      "60"="#2171B5", "5"="#2171B5", "43"="#2171B5", "37"="#2171B5", "53"="#2171B5", 
                      "8"="#DF65B0", "62"="#DF65B0", "15"="#00441B", "71"="#00441B", "49"="#00441B", 
                      "68"="#00441B", "47"="#DF65B0", "55"="#DF65B0", "16"="#DF65B0", "63"="#DF65B0", 
                      "36"="#969696", "35"="#969696", "6"="#DF65B0",  "7"="#DF65B0",  "24"="#DF65B0", 
                      "18"="#FB9A99", "57"="#FB9A99", "69"="#FB9A99", "48"="#FB9A99", "59"="#FB9A99", 
                      "58"="#DF65B0", "70"="#FB9A99", "25"="#FB9A99", "34"="#FB9A99", "32"="#FB9A99", 
                      "64"="#FB9A99"))

ggplot(p1, labels = F)

dev.off()


# Figure 2 dotplot

my.levels <- as.character(hc71$order)

# re-order levels according to dendrogram leaf nodes 

sobj$kmeans71  <- factor(x = sobj$kmeans71 , levels = my.levels)

markers <-  rev(unique(c("Mog", "Mag", 'Th', 'Slc6a3', 'Ddc', 'En1', 'Nr4a2', 'Pitx3', 
                         "Prlr", 'Satb2', "Slc17a7", "Slc17a6", "Gad1", "Gad2", "Slc32a1")))  

tiff(file = "/path/to/dir/plot_name.tiff", 
     units="cm", width=55, height=20, res=300)

DotPlot(sobj, assay = "RNA", features = markers, group.by = "kmeans71") + coord_flip() + 
  theme(axis.text.x = element_text(size = 13, face = "bold", angle = 0, hjust = 0.5, vjust = 0.5), 
        axis.text.y = element_text(size = 18, face = "bold", angle = 0))

dev.off()

sessionInfo()
back to top