Last update: 03-04-24
ToDo: - format
# version: 22.03.24
knitr::opts_chunk$set(warning = FALSE, message = FALSE, results = FALSE)
# dirs
## Sebastian @Linux
dir_moa <- "/home/isar/Dropbox/scn_moa/"
## Sebastian @MAC
# dir_moa <- "/Users/home_sh/Library/CloudStorage/Dropbox/scn_moa"
# data, revised 2024.01.09
# exp
load(file = paste0(dir_moa, "/data/final/", "gnp.pro.RData"))
load(file = paste0(dir_moa, "/data/final/", "gnp.mrn.RData"))
load(file = paste0(dir_moa, "/data/final/", "gnp.mic.RData"))
load(file = paste0(dir_moa, "/data/final/", "anno.RData"))
# results
load(file = paste0(dir_moa, "/data/final/", "dex.all.RData"))
load(file = paste0(dir_moa, "/data/final/", "timeomics.singles.RData"))
load(file = paste0(dir_moa, "/data/final/", "res.wgcna.RData"))
## packages
source(paste0(dir_moa, "/scripts/", "scn_moa_fct.R"))
# load packagea
sapply(packages_general, require, character.only = TRUE)
sapply(packages_enrichment, require, character.only = TRUE)
library("viridis")
## graphics
# size
global_size = 21
thema_nix = theme(axis.title.x=element_blank(),
axis.title.y=element_blank())
thema_noY = theme(axis.title.y=element_blank())
thema_noX = theme(axis.title.x=element_blank())
# shapes (mrn & pro)
shps <- c(1, 16)
# extract data
fan <- gnp.mrn$fan
# pro: single values
exp_proL <- as.data.frame(t(gnp.pro$exp_pro_vsn))
exp_proL$UNIPROT <- rownames(exp_proL)
exp_proL <- exp_proL %>% pivot_longer(!UNIPROT, names_to = "id", values_to = "value")
exp_proL$stage <- gnp.pro$san_pro$stage[match(exp_proL$id, gnp.pro$san_pro$id)]
exp_proL$SYMBOL <- fan$SYMBOL[match(exp_proL$UNIPROT, fan$UNIPROT)]
exp_proL$ENSG <- fan$ENSG[match(exp_proL$UNIPROT, fan$UNIPROT)]
exp_proL$stage <- factor(exp_proL$stage, levels = c('MB', 'PM', 'MC', 'MM', 'B', 'S', 'PMN'))
# pro: means
exp_proLc <- exp_proL %>%
select(ENSG, stage, value) %>%
group_by(ENSG, stage) %>%
dplyr::summarise(mean= mean(value), median= median(value))
exp_proLc$SYMBOL <- fan$SYMBOL[match(exp_proLc$ENSG, fan$ENSG)]
exp_proLc$stage <- factor(exp_proLc$stage, levels = c('MB', 'PM', 'MC', 'MM', 'B', 'PMN'))
exp_proWc <- exp_proLc %>% select(SYMBOL, stage, median) %>%
pivot_wider(names_from = stage, values_from = median)
# mrn: single values
exp_mrnL <- as.data.frame(t(gnp.mrn$exp_mrn_tpm_vsn))
exp_mrnL$ENSG <- rownames(exp_mrnL)
exp_mrnL <- exp_mrnL %>% pivot_longer(!ENSG, names_to = "id", values_to = "value")
exp_mrnL$stage <- gnp.mrn$san_mrn$stage[match(exp_mrnL$id, gnp.mrn$san_mrn$id)]
exp_mrnL$SYMBOL <- fan$SYMBOL[match(exp_mrnL$ENSG, fan$ENSG)]
exp_mrnL$stage <- factor(exp_mrnL$stage, levels = c('MB', 'PM', 'MC', 'MM', 'B', 'S', 'PMN'))
# mrn: means
exp_mrnLc <- exp_mrnL %>%
select(ENSG, stage, value) %>%
group_by(ENSG, stage) %>%
dplyr::summarise(median= median(value, na.rm = T))
exp_mrnLc$SYMBOL <- fan$SYMBOL[match(exp_mrnLc$ENSG, fan$ENSG)]
exp_mrnLc$stage <- factor(exp_mrnLc$stage, levels = c('MB', 'PM', 'MC', 'MM', 'B', 'S', 'PMN'))
# turn into wide to get direction
exp_mrnWc <- exp_mrnLc %>% select(SYMBOL, stage, median) %>%
pivot_wider(names_from = stage, values_from = median)
# mic: means
# single values
exp_micL <- as.data.frame(t(gnp.mic$exp_mic_vsn))
exp_micL$SYMBOL <- rownames(exp_micL)
exp_micL <- exp_micL %>% pivot_longer(!SYMBOL, names_to = "id", values_to = "value")
exp_micL$stage <- gnp.mic$san_mic$stage[match(exp_micL$id, gnp.mic$san_mic$id)]
exp_micLc <- exp_micL %>%
select(SYMBOL, stage, value) %>%
group_by(SYMBOL, stage) %>%
dplyr::summarise(median= median(value, na.rm = T))
exp_micLc$stage <- factor(exp_micLc$stage, levels = c('MB', 'MC', 'MM', 'B', 'S', 'PMN'))
# turn into wide to get direction
exp_micWc <- exp_micLc %>% select(SYMBOL, stage, median) %>%
pivot_wider(names_from = stage, values_from = median)
#exp_micWc$direction.MBtoMC <- ifelse(exp_micWc$MB > exp_micWc$MC, 'down', 'up')
#exp_micWc$direction <- ifelse(exp_micWc$MB > exp_micWc$PMN, 'down', 'up')
# transfer
#exp_micLc$direction.MBtoMC <- exp_micWc$direction.MBtoMC[match(exp_micLc$SYMBOL, exp_micWc$SYMBOL)]
prep.lines4fid <- function(fidE){
means.mrn <- exp_mrnL %>% filter(ENSG %in% fidE) %>%
filter(stage != 'S') %>%
group_by(stage) %>%
summarise(mean = mean(value, na.rm = T))
means.pro <- exp_proL %>% filter(ENSG %in% fidE) %>%
group_by(stage) %>%
summarise(mean = mean(value, na.rm = T))
# combo
means.combo <- means.mrn %>%
mutate(
Transcriptome = as.vector(scale(.$mean)),
Proteome = as.vector(scale(means.pro$mean))
) %>%
select(-mean) %>%
pivot_longer(
Transcriptome:Proteome,
names_to = "Level",
values_to = "value"
)
return(means.combo)
}
plot.lines <- function(means.combo, TITLE) {
p <- means.combo %>%
ggplot(
aes(
stage, value, colour = Level
)
) +
geom_point() +
geom_line(aes(group = Level), size =2 ) +
theme_light(base_size = 12) +
labs(title=TITLE,
#x ="",
y = "z-value") +
theme(axis.title.x = element_blank()) +
theme(
#legend.position = c(0.99, 0.01),
#legend.justification = c("right", "bottom"),
#legend.text = element_text(size=8),
#legend.title = element_blank(),
legend.position = 'none',
axis.text.x=element_text(angle=30, hjust=1),
legend.margin=margin(c(1,5,5,5))) +
scale_color_manual(values = colors_mrn_pro)
return(p)
}
# colors_mrn_pro <- c(
# "Transcriptome" = "#008F7A",
# "Proteome" = '#C6F093'
# )
colors_mrn_pro <- c(
"Transcriptome" = "#008F7A",
"Proteome" = '#8EB85E'
)
# prim gran
foi_prim.gran <- anno$fan.locs %>% filter(granule == 'Primary') %>% select(ENSG)
foi_prim.gran <- add.fan2ENSG(foi_prim.gran)
dat.lin_prim.gran <- prep.lines4fid(foi_prim.gran$ENSG)
p.lin_prim.gran <- plot.lines(dat.lin_prim.gran, 'Primary gr.')
p.lin_prim.gran
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_prim.gran", ".svg"),
plot = p.lin_prim.gran,
device = svg,
width = 3,
height = 3)
# sec gran
foi_sec.gran <- anno$fan.locs %>% filter(granule == 'Secondary') %>% select(ENSG)
foi_sec.gran <- add.fan2ENSG(foi_sec.gran)
dat.lin_sec.gran <- prep.lines4fid(foi_sec.gran$ENSG)
p.lin_sec.gran <- plot.lines(dat.lin_sec.gran, 'Secondary gr.')
p.lin_sec.gran
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_sec.gran", ".svg"),
plot = p.lin_sec.gran,
device = svg,
width = 3,
height = 3)
# ter gran
foi_ter.gran <- anno$fan.locs %>% filter(granule == 'Tertiary') %>% select(ENSG)
foi_ter.gran <- add.fan2ENSG(foi_ter.gran)
dat.lin_ter.gran <- prep.lines4fid(foi_ter.gran$ENSG)
p.lin_ter.gran <- plot.lines(dat.lin_ter.gran, 'Tertiary gr.')
p.lin_ter.gran
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_ter.gran", ".svg"),
plot = p.lin_ter.gran,
device = svg,
width = 3,
height = 3)
# ter gran
foi_fic.gran <- anno$fan.locs %>% filter(granule == 'Ficolin-1') %>% select(ENSG)
foi_fic.gran <- add.fan2ENSG(foi_fic.gran)
dat.lin_fic.gran <- prep.lines4fid(foi_fic.gran$ENSG)
p.lin_fic.gran <- plot.lines(dat.lin_fic.gran, 'Ficolin-1 gr.')
p.lin_fic.gran
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_fic.gran", ".svg"),
plot = p.lin_fic.gran,
device = svg,
width = 3,
height = 3)
# secretory
foi_secr.gran <- anno$fan.locs %>% filter(granule == 'Secretory') %>% select(ENSG)
foi_secr.gran <- add.fan2ENSG(foi_secr.gran)
dat.lin_secr.gran <- prep.lines4fid(foi_secr.gran$ENSG)
p.lin_secr.gran <- plot.lines(dat.lin_secr.gran, 'Secretory ves.')
p.lin_secr.gran
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_secr.gran", ".svg"),
plot = p.lin_secr.gran,
device = svg,
width = 3,
height = 3)
# membrane
foi_mem <- anno$fan.locs %>% filter(plasma_membrane == 'Plasma membrane') %>% select(ENSG)
foi_mem <- add.fan2ENSG(foi_mem)
dat.lin_mem <- prep.lines4fid(foi_mem$ENSG)
p.lin_mem <- plot.lines(dat.lin_mem, 'Membrane')
p.lin_mem
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_mem", ".svg"),
plot = p.lin_mem,
device = svg,
width = 3,
height = 3)
# check go
# table(anno$GO_long)
# ribosomes: GO:0005840
foi_ribo.GO <- anno$GO_long %>% filter(GOALL == 'GO:0005840') %>% select(ENSG) %>% distinct(ENSG)
foi_ribo.GO <- add.fan2ENSG(foi_ribo.GO)
dat.lin_ribo <- prep.lines4fid(foi_ribo.GO$ENSG)
p.lin_ribo <- plot.lines(dat.lin_ribo, 'Ribosomes')
p.lin_ribo
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_ribo", ".svg"),
plot = p.lin_ribo,
device = svg,
width = 3,
height = 3)
# mitochondrion: GO:0005739
head(anno$GO_long)
foi_mito.GO <- anno$GO_long %>% filter(GOALL == 'GO:0005739') %>% select(ENSG) %>% distinct(ENSG)
foi_mito.GO <- add.fan2ENSG(foi_mito.GO)
dat.lin_mito <- prep.lines4fid(foi_mito.GO$ENSG)
p.lin_mito <- plot.lines(dat.lin_mito, 'Mitochondrion')
p.lin_mito
ggsave(
filename = paste0(dir_moa, "/figures/final/fig_2/", "p.lin_mito", ".svg"),
plot = p.lin_mito,
device = svg,
width = 3,
height = 3)
# # fig
fig_line.gran <- ggarrange(
# PMN
p.lin_prim.gran + theme_noX,
p.lin_sec.gran + theme_nada,
p.lin_ter.gran + theme_noX,
p.lin_fic.gran + theme_nada,
p.lin_secr.gran + theme_noX,
p.lin_mem + theme_nada,
p.lin_ribo ,
p.lin_mito + theme_noY,
# options
nrow = 4,
ncol = 2)
fig_line.gran