Skip to content
Snippets Groups Projects
  • Matthieu Gobin's avatar
    6099cf4e
    Update 8 files · 6099cf4e
    Matthieu Gobin authored
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 1D_GBA_LAMP1_Colocalization/GBA_LAMP1 staining.nb.html
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 1D_GBA_LAMP1_Colocalization/GBA_LAMP1 staining.Rmd
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5I_EdU staining/568Edu_647Sox2.nb.html
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5I_EdU staining/568Edu_647Sox2.Rmd
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/.Rhistory
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/LMNB1 stainings.Rmd
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/Environment.RData
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/LMNB1 stainings.nb.html
    6099cf4e
    History
    Update 8 files
    Matthieu Gobin authored
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 1D_GBA_LAMP1_Colocalization/GBA_LAMP1 staining.nb.html
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 1D_GBA_LAMP1_Colocalization/GBA_LAMP1 staining.Rmd
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5I_EdU staining/568Edu_647Sox2.nb.html
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5I_EdU staining/568Edu_647Sox2.Rmd
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/.Rhistory
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/LMNB1 stainings.Rmd
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/Environment.RData
    - /Data processing and plotting/Image analysis data processing and plotting/Figure 5J_LaminB1 staining/LMNB1 stainings.nb.html
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
LMNB1 stainings.Rmd 7.12 KiB
title: "R Notebook"
output: html_notebook
library(ggplot2)
library(pheatmap)
library(RColorBrewer)
#display.brewer.all()
library(tidyverse)
library(ggpubr)
library(ggsignif)
library(openxlsx)
library(viridis)
library(data.table)
library(readxl)
library(janitor)
library(dplyr)
library(jcolors)
library(stringr)


setwd("//atlas.uni.lux/users/isabel.rosety/GBA/Stainings/Plots/")

data1<-read.csv("//atlas.uni.lux/users/isabel.rosety/GBA/Stainings/Plots/488TUJ1_568LMNB1_Sox2647/IR_20211208_488TUJ1_568LMNB1_647Sox2_RS_e41e42e45d30_20211216_094400.csv",sep = ",")
data2<-read.csv("//atlas.uni.lux/users/isabel.rosety/GBA/Stainings/Plots/488TUJ1_568LMNB1_Sox2647/IR_20211208_488TUJ1_568LMNB1_647Sox2_RS_e43e35to36d30_20211208_110531.csv",sep = ";")

data3<-read.csv("//atlas.uni.lux/users/isabel.rosety/GBA/Stainings/Plots/488TUJ1_568LMNB1_Sox2647/IR_20211208_488TUJ1_568LMNB1_647Sox2_RS_e46e48d30_20220730_160215.csv",sep = ";")


data = bind_rows(data1,data2,data3) 


tmp=do.call(rbind,strsplit(data$AreaName,"_")) #stringsplit will take the column Areaname and will split this depending on the underscore, then we put them otgeter one ofter the other


data$Condition = tmp[,1]

data %>% 
   mutate(Condition = str_replace_all(Condition, 
            pattern = "MUT", replacement = "GBA-PD")) %>%
     mutate(Condition = str_replace_all(Condition, 
            pattern = "WT", replacement = "CTRL")) ->data
data %>% 
  mutate(CellLine = AreaName) ->data

data %>% 
   mutate(CellLine = str_replace_all(CellLine, 
            pattern = "WT_56", replacement = "CTRL1")) %>%
    mutate(CellLine = str_replace_all(CellLine, 
            pattern = "WT_39", replacement = "CTRL2"))  %>%
    mutate(CellLine = str_replace_all(CellLine, 
            pattern = "WT_68", replacement = "CTRL3")) %>%
    mutate(CellLine = str_replace_all(CellLine, 
            pattern = "MUT_309", replacement = "PD1")) %>%
    mutate(CellLine = str_replace_all(CellLine, 
            pattern = "MUT_KTI6", replacement = "PD2")) %>%
    mutate(CellLine = str_replace_all(CellLine, 
            pattern = "MUT_SGO1", replacement = "PD3")) ->data

toselect = c("Barcode","AreaName","Condition","Batch","OrganoidIdx","Day","Batch", "LMNB1hMFIinSox2")


data %>% #same 
  dplyr::select(toselect)->data
#feature_names<-colnames(data[,7:ncol(data)])
feature_names<-"LMNB1hMFIinSox2"
#Mean of replicates
data%>%
    pivot_longer(feature_names,names_to = "Features", values_to = "Measure") -> data_all_long
data2 = drop_na(data_all_long)  

data2 %>%
  group_by(Condition,AreaName,Batch,Features, Barcode,Day) %>%
  summarize(MeanFeatures = mean(Measure))-> data_Mean

#Normalizing to mean of controls
data_Mean %>%
    dplyr::filter(Condition=="CTRL") %>% 
    #group_by(Condition, Day, Features,Batch) %>% 
    group_by(Condition, Features,Batch,Day) %>% 
    summarise(baseline = mean(MeanFeatures)) %>% 
    ungroup() %>% 
    dplyr::select(-Condition) %>% 
    #full_join(data_Mean, by=c("Day","Features","Batch")) %>%
    full_join(data_Mean, by=c("Features","Batch","Day")) %>%
    mutate(Foldchange = MeanFeatures /baseline) ->data_all_based
    included_vars =c("AreaName", "Condition","Batch","Barcode","Day") # here we already have the mean of each section
    data_all_based %>% 
    pivot_wider(all_of(included_vars),names_from = Features,values_from = Foldchange)->data_all_based_wide2
    
#write.csv(data_all_based_wide2, file = 'All_data_normalized.csv')

#If I want to get the wide table without normalizing to mean of controls:
data_Mean %>%
   full_join(data_Mean, by=c("Features","MeanFeatures","Batch","AreaName", "Barcode", "Condition","Day")) ->data_Mean 
included_vars =c("AreaName", "Condition","Batch","Barcode","Day") 
data_Mean %>% 
    pivot_wider(all_of(included_vars),names_from = Features,values_from = MeanFeatures)->data_Mean_wide

#write.csv(data_Mean_wide, file = 'All_data_not_normalized.csv')



for (i in 1:length(feature_names)) {
data_all_based_wide2 %>%
  pivot_longer(cols=feature_names, names_to = "feature", values_to = "value") %>%
  filter(feature %in% feature_names[i]) %>%
  ggplot( aes(x=factor(Condition, level = c("CTRL", "GBA-PD")), y=value)) +
  #geom_violin( aes(fill=Condition),show.legend = T, trim=T),
  geom_violin( aes(fill=Condition),show.legend = T,scale = "width", trim=F)+
geom_dotplot(binaxis = "y",stackdir = "center",dotsize=0.8)+
  #scale_fill_manual(values= c("#bdd7e7","#2171b5"),name = "Condition", guide = FALSE)+
    scale_fill_manual(values= alpha(c("#1565C0","#CC0000"),0.75),name = "Condition",guide = "none")+
    #geom_point(aes(color=Batch),shape=18, size=3,show.legend = T)+
    #scale_color_manual(values = rev(brewer.pal(n=6, name="OrRd")))+
    scale_color_jcolors("pal7")+
    #scale_color_viridis(option = "D", discrete=TRUE)+
    #geom_point(shape = 1,size = 3,colour = "black")+
    theme(legend.key=element_blank()) +
    
   geom_signif(comparisons = list(c("CTRL", "GBA-PD")), test='wilcox.test',
              vjust=0.6, size=0.5, margin_top=0.5, textsize=9, map_signif_level=c("***"=0.001, "**"=0.01, "*"=0.05,  " "=2) ) +
  #facet_grid(~fct_relevel(Day, "d30","d60"), scales="free") +
      labs(x     = "",
       y     = paste(feature_names[i]),
       #y     = paste(names[i]),
       fill  = "Condition",
       #title = paste(feature_names[i])) +
       title = "" )+
  theme_bw() +
  theme(
    axis.line = element_line(colour = 'black', size = 0.5) ,
    axis.title.x = element_blank(),
    axis.text.x = element_text(size=12, color="black"),
    axis.title.y = element_text(size = 12),
    axis.text.y = element_text(size=10, color="black"),
    axis.ticks.y = element_line(),
    axis.ticks.length=unit(.25, "cm"),
    #change legend text font size)
    #legend.key.size = unit(0.7, "cm"),
    #legend.key.width = unit(0.6,"cm"),
    legend.key=element_blank(),
    panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank(),
    panel.border = element_blank(),
    plot.title = element_text(size = 20, hjust=0.5, vjust= 1, face = "bold"),
    plot.subtitle = element_blank(),#element_text(size = 2, hjust=0.5)
    strip.text = element_text(size=12, vjust=0.5),
    strip.background = element_rect(fill="lightgray"),
   # panel.border = element_rect(fill = NA, color = "black"),
    panel.spacing.y = unit(0.8, "lines"),
    strip.switch.pad.wrap=unit(20, "lines"),
    legend.position="right",
    legend.text = element_text(size=17),
    legend.title = element_text(size=19)
    
  )  -> p
  #t<- cowplot::ggdraw(cowplot::add_sub(p, "Wilcox-test, ***p=0.001, **p=0.01, *p=0.05",hjust=-0.2, size=13))
  print(p)
  ##ggsave(paste0(Sys.Date(),"_", names[i], ".pdf"), plot=t)
#ggsave(paste0(Sys.Date(),(sprintf("Plot_%s.pdf",feature_names[i]))),height=3.5,width=3)
}

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.