data-raw/cellularCompartment_summarised_Hs.R

library(org.Hs.eg.db)
library(GO.db)
library(dplyr)
library(tidyr)
child <- as.list(GOCCOFFSPRING)

### #####################################
###"Top level"/summarised annotations,
### used for compartments visualisation
#########################################
#Trafficking
COMPARTMENTS_traffic <- data.frame(compartment = c("Cytoplasm", "Plasma membrane", 
                                                  "Intracellular vesicle", "Lysosome",
                                                  "Recycling Endosome", "Endolysosome",
                                                  "Late Endosome", "Early Endosome"
),
ID = c("GO:0005737", "GO:0005886", "GO:0097708",
       "GO:0005764", "GO:0055037", "GO:0036019",
       "GO:0005770", "GO:0005769"),
stringsAsFactors = F)

COMPARTMENTS_traffic_offspring <- child[names(child) %in% COMPARTMENTS_traffic$ID] 
COMPARTMENTS_traffic_offspring <- lapply(names(COMPARTMENTS_traffic_offspring), function(i){
  data.frame(ID = i, subid = COMPARTMENTS_traffic_offspring[[i]])
}) %>% 
  do.call(rbind, .) %>% 
  merge(COMPARTMENTS_traffic, by = "ID") %>% 
  pivot_longer(cols = -compartment, names_to = "level", values_to = "ID") %>% 
  dplyr::select(compartment, ID) %>% 
  unique()
  
traffic_annots <- AnnotationDbi::select(org.Hs.eg.db, 
                                         COMPARTMENTS_traffic_offspring$ID,
                                         c("GO", "SYMBOL"),
                                         "GO") %>% 
  dplyr::select(GO, SYMBOL) %>% 
  unique() %>% 
  merge(COMPARTMENTS_traffic_offspring, by.x = "GO", by.y = "ID") %>% 
  dplyr::select(SYMBOL, compartment) %>% 
  na.omit() %>% 
  distinct()


saveRDS(traffic_annots, "data/Human/traffic_annots.rds")

### Whole cell 
COMPARTMENTS_parent <- data.frame(compartment = c("Nucleus", "Cytoplasm", "Cytoskeleton",
                                                  "Peroxisome", "Vacuole", "Endoplasmic reticulum",
                                                  "Golgi apparatus", "Plasma membrane", "Endosome",
                                                  "Extracellular region", "Mitochondrion",
                                                  "Intracellular vesicle", "Ribosome", "Lysosome"
),
ID = c("GO:0005634", "GO:0005737", "GO:0005856",
       "GO:0005777", "GO:0005773", "GO:0005783",
       "GO:0005794", "GO:0005886", "GO:0005768",
       "GO:0005576", "GO:0005739", "GO:0097708",
       "GO:0005840", "GO:0005764"
),
stringsAsFactors = F)

COMPARTMENTS_offspring <- child[names(child) %in% COMPARTMENTS_parent$ID] 
COMPARTMENTS_offspring <- lapply(names(COMPARTMENTS_offspring), function(i){
  data.frame(ID = i, subid = COMPARTMENTS_offspring[[i]])
}) %>% 
  do.call(rbind, .) %>% 
  merge(COMPARTMENTS_parent, by = "ID") %>% 
  pivot_longer(cols = -compartment, names_to = "level", values_to = "ID") %>% 
  dplyr::select(compartment, ID) %>% 
  unique()

annots <- AnnotationDbi::select(org.Hs.eg.db, 
                                        COMPARTMENTS_offspring$ID,
                                        c("GO", "SYMBOL"),
                                        "GO") %>% 
  dplyr::select(GO, SYMBOL) %>% 
  unique() %>% 
  merge(COMPARTMENTS_offspring, by.x = "GO", by.y = "ID") %>% 
  dplyr::select(SYMBOL, compartment) %>% 
  na.omit()  %>% 
  distinct()

saveRDS(annots, "data/Human/annots.rds")

########################################
### Detailed annotations
###
#########################################

#Trafficking
traffic_subannots_terms <- AnnotationDbi::select(
  GO.db,
  COMPARTMENTS_traffic_offspring$ID,
  "TERM",
  "GOID"
) %>% 
  distinct() %>% 
  left_join(COMPARTMENTS_traffic_offspring, by = c("GOID"="ID")) %>% 
  distinct()

traffic_subannots_genes <- AnnotationDbi::select(
  org.Hs.eg.db,
  traffic_subannots_terms$GOID,
  "SYMBOL",
  "GO"
) %>% 
  left_join(traffic_subannots_terms, by = c("GO" = "GOID")) %>% 
  dplyr::select(GOID = GO, SYMBOL, 
                compartment = TERM, group = compartment)  %>% 
  distinct()


saveRDS(traffic_subannots_genes, "data/Human/traffic_subAnnots.rds")

# Whole cell
subannots_terms <- AnnotationDbi::select(
  GO.db,
  COMPARTMENTS_offspring$ID,
  "TERM",
  "GOID"
) %>% 
  distinct() %>% 
  left_join(COMPARTMENTS_offspring, by = c("GOID"="ID")) %>% 
  distinct()

subannots_genes <- AnnotationDbi::select(
  org.Hs.eg.db,
  subannots_terms$GOID,
  "SYMBOL",
  "GO"
) %>% 
  left_join(subannots_terms, by = c("GO" = "GOID")) %>% 
  dplyr::select(GOID = GO, SYMBOL, 
                compartment = TERM, group = compartment)  %>% 
  distinct()


saveRDS(subannots_genes, "data/Human/subAnnots.rds")
JoWatson2011/shiny_subcellularvis documentation built on Dec. 18, 2021, 1:38 a.m.