##################
# LOAD LIBRARIES #
##################
suppressWarnings({suppressMessages({suppressPackageStartupMessages({
  #remotes::install_github("czarnewski/niceRplots",force=T)
  library(niceRplots)
  library(tidyverse)
})  })  })

#############
# LODA DATA #
#############
datasets_all_samples <- readRDS("/Users/vilkal/work/Brolidens_work/Projects/Gabriella_repo/results/datasets_all_samples.RDS")
datasets_all_samples_ <- readRDS("../../results/03_normalize_data_output/datasets_all_samples.RDS")

#################
# COLOR PALETTS #
#################
Set1 <- c("#4DAF4A", "#E41A1C", "#984EA3", "#377EB8","#A6D854", "#FFFF33", "#FF7F00", "#A65628", "#F781BF", "#999999")
pal <- c(Set1,RColorBrewer::brewer.pal(8,"Set2"),
         RColorBrewer::brewer.pal(9,"Pastel1"),RColorBrewer::brewer.pal(8,"Pastel2")) #color pallete for plots

Violin plot

x <- datasets_all_samples_[[1]]
top <- t(t(2^x-1)/colSums(2^x-1)) %>%
  as_tibble(., rownames ="tax") %>%
  pivot_longer(cols = -tax, names_to = 'ID') %>%
  group_by(tax) %>%
  summarise(mean = mean(value)) %>% 
  arrange(desc(mean)) %>%
  filter(!(tax == "Not assigned")) %>%
  pluck(., "tax") %>%
  .[1:30]

Lum <- datasets_all_samples_[[1]][rownames(datasets_all_samples_[[1]])%in%top,]
Tis <- datasets_all_samples_[[2]][rownames(datasets_all_samples_[[1]])%in%top,]

x_Lum <- Lum %>% as_tibble(., rownames ="tax") %>%
  pivot_longer(cols = -tax, names_to = 'ID') #%>% 
  #pivot_wider(names_from = tax, values_from = value)

x_Tis <- Tis %>% as_tibble(., rownames ="tax") %>%
  pivot_longer(cols = -tax, names_to = 'ID') #%>% 
  #pivot_wider(names_from = tax, values_from = value)

xx <- x_Lum %>% left_join(x_Tis, by=c("tax","ID")) %>% select(-ID)
xx_ <- xx %>% filter(!(is.na(.$value.y))) # filter out NA from Tissue

Luminal <- set_names(xx$value.x, xx$tax)
Tissue <- set_names(xx_$value.y, xx_$tax) 

t <- rbind(Tissue, Luminal)
## Warning in rbind(Tissue, Luminal): number of columns of result is not a multiple
## of vector length (arg 1)
###################################
# BACTERIAL ABUNDANCE IN DATASETS #
###################################
par(mar=c(6.5,2.5,0,0)) #b,l,t,r
violist(data = t, smooth = .1,
        genes = c("Tissue", "Luminal"),
        clustering = factor( colnames(t),levels = top),
        srt=45, cex.axis=0.7, pt.cex=0.2,
        transparency = 50,col = pal)

Supplementary Figure 1. Abundance distribution of individual taxa in the luminal and tissue microbiome data sets. Violin plots showing the distribution of relative abundance of the top 30 most abundant taxa in the luminal and tissue-adherent data sets.

LS0tCnRpdGxlOiAiU3VwcGwuIEZpZ3VyZSAxLiBCYWN0ZXJpYWwgYWJ1bmRhbmNlIGFjcm9zcyBkYXRhc2V0cyIKZ2VvbWV0cnk6ICJsZWZ0PTJjbSxyaWdodD0yY20sdG9wPTJjbSxib3R0b209MmNtIgpoZWFkZXItaW5jbHVkZXM6IAotIFx1c2VwYWNrYWdle2Zsb2F0fQplZGl0b3Jfb3B0aW9uczogCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUKa25pdDogKGZ1bmN0aW9uKGlucHV0RmlsZSwgb3V0X2RpciwgLi4uKSB7CiAgICBzb3VyY2UoIi4uLy4uL2NvZGUva25pdF9mdW5jdGlvbi5SIik7CiAgICBjdXN0b21fa25pdChpbnB1dEZpbGUsICIuLi8uLi9sYWJfYm9vay9TdXBwbEZpZ3VyZTEvIiwgLi4uKQogICAgfSkKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KAogIGZpZy5wYXRoPSIuL1N1cHBsLkZpZ3VyZXMvIiwKICBmaWcuYWxpZ24gPSAiY2VudGVyIiwKICBmaWcucHJvY2VzcyA9IGZ1bmN0aW9uKGZpbGVuYW1lKXsKICAgIG5ld19maWxlbmFtZSA8LSBzdHJpbmdyOjpzdHJfcmVtb3ZlKHN0cmluZyA9IGZpbGVuYW1lLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm4gPSAiLTEiKQogICAgZnM6OmZpbGVfbW92ZShwYXRoID0gZmlsZW5hbWUsIG5ld19wYXRoID0gbmV3X2ZpbGVuYW1lKQogICAgaWZlbHNlKGZzOjpmaWxlX2V4aXN0cyhuZXdfZmlsZW5hbWUpLCBuZXdfZmlsZW5hbWUsIGZpbGVuYW1lKQp9KQojIHNldHdkKCIvVXNlcnMvdmlsa2FsL3dvcmsvQnJvbGlkZW5zX3dvcmsvUHJvamVjdHMvYnJvbGlkZW5fNTMyNS9yZXBvcnRzL21hbnVzY3JpcHQiKQpgYGAKCmBgYHtyIExvYWQtZGF0YSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KIyMjIyMjIyMjIyMjIyMjIyMjCiMgTE9BRCBMSUJSQVJJRVMgIwojIyMjIyMjIyMjIyMjIyMjIyMKc3VwcHJlc3NXYXJuaW5ncyh7c3VwcHJlc3NNZXNzYWdlcyh7c3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKHsKICAjcmVtb3Rlczo6aW5zdGFsbF9naXRodWIoImN6YXJuZXdza2kvbmljZVJwbG90cyIsZm9yY2U9VCkKICBsaWJyYXJ5KG5pY2VScGxvdHMpCiAgbGlicmFyeSh0aWR5dmVyc2UpCn0pICB9KSAgfSkKCiMjIyMjIyMjIyMjIyMKIyBMT0RBIERBVEEgIwojIyMjIyMjIyMjIyMjCmRhdGFzZXRzX2FsbF9zYW1wbGVzIDwtIHJlYWRSRFMoIi9Vc2Vycy92aWxrYWwvd29yay9Ccm9saWRlbnNfd29yay9Qcm9qZWN0cy9HYWJyaWVsbGFfcmVwby9yZXN1bHRzL2RhdGFzZXRzX2FsbF9zYW1wbGVzLlJEUyIpCmRhdGFzZXRzX2FsbF9zYW1wbGVzXyA8LSByZWFkUkRTKCIuLi8uLi9yZXN1bHRzLzAzX25vcm1hbGl6ZV9kYXRhX291dHB1dC9kYXRhc2V0c19hbGxfc2FtcGxlcy5SRFMiKQoKIyMjIyMjIyMjIyMjIyMjIyMKIyBDT0xPUiBQQUxFVFRTICMKIyMjIyMjIyMjIyMjIyMjIyMKU2V0MSA8LSBjKCIjNERBRjRBIiwgIiNFNDFBMUMiLCAiIzk4NEVBMyIsICIjMzc3RUI4IiwiI0E2RDg1NCIsICIjRkZGRjMzIiwgIiNGRjdGMDAiLCAiI0E2NTYyOCIsICIjRjc4MUJGIiwgIiM5OTk5OTkiKQpwYWwgPC0gYyhTZXQxLFJDb2xvckJyZXdlcjo6YnJld2VyLnBhbCg4LCJTZXQyIiksCiAgICAgICAgIFJDb2xvckJyZXdlcjo6YnJld2VyLnBhbCg5LCJQYXN0ZWwxIiksUkNvbG9yQnJld2VyOjpicmV3ZXIucGFsKDgsIlBhc3RlbDIiKSkgI2NvbG9yIHBhbGxldGUgZm9yIHBsb3RzCgpgYGAKCiMjIyBWaW9saW4gcGxvdApgYGB7ciBTdXBwbC5GaWcuMSwgZmlnLmFzcD0uNX0KeCA8LSBkYXRhc2V0c19hbGxfc2FtcGxlc19bWzFdXQp0b3AgPC0gdCh0KDJeeC0xKS9jb2xTdW1zKDJeeC0xKSkgJT4lCiAgYXNfdGliYmxlKC4sIHJvd25hbWVzID0idGF4IikgJT4lCiAgcGl2b3RfbG9uZ2VyKGNvbHMgPSAtdGF4LCBuYW1lc190byA9ICdJRCcpICU+JQogIGdyb3VwX2J5KHRheCkgJT4lCiAgc3VtbWFyaXNlKG1lYW4gPSBtZWFuKHZhbHVlKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhtZWFuKSkgJT4lCiAgZmlsdGVyKCEodGF4ID09ICJOb3QgYXNzaWduZWQiKSkgJT4lCiAgcGx1Y2soLiwgInRheCIpICU+JQogIC5bMTozMF0KCkx1bSA8LSBkYXRhc2V0c19hbGxfc2FtcGxlc19bWzFdXVtyb3duYW1lcyhkYXRhc2V0c19hbGxfc2FtcGxlc19bWzFdXSklaW4ldG9wLF0KVGlzIDwtIGRhdGFzZXRzX2FsbF9zYW1wbGVzX1tbMl1dW3Jvd25hbWVzKGRhdGFzZXRzX2FsbF9zYW1wbGVzX1tbMV1dKSVpbiV0b3AsXQoKeF9MdW0gPC0gTHVtICU+JSBhc190aWJibGUoLiwgcm93bmFtZXMgPSJ0YXgiKSAlPiUKICBwaXZvdF9sb25nZXIoY29scyA9IC10YXgsIG5hbWVzX3RvID0gJ0lEJykgIyU+JSAKICAjcGl2b3Rfd2lkZXIobmFtZXNfZnJvbSA9IHRheCwgdmFsdWVzX2Zyb20gPSB2YWx1ZSkKCnhfVGlzIDwtIFRpcyAlPiUgYXNfdGliYmxlKC4sIHJvd25hbWVzID0idGF4IikgJT4lCiAgcGl2b3RfbG9uZ2VyKGNvbHMgPSAtdGF4LCBuYW1lc190byA9ICdJRCcpICMlPiUgCiAgI3Bpdm90X3dpZGVyKG5hbWVzX2Zyb20gPSB0YXgsIHZhbHVlc19mcm9tID0gdmFsdWUpCgp4eCA8LSB4X0x1bSAlPiUgbGVmdF9qb2luKHhfVGlzLCBieT1jKCJ0YXgiLCJJRCIpKSAlPiUgc2VsZWN0KC1JRCkKeHhfIDwtIHh4ICU+JSBmaWx0ZXIoIShpcy5uYSguJHZhbHVlLnkpKSkgIyBmaWx0ZXIgb3V0IE5BIGZyb20gVGlzc3VlCgpMdW1pbmFsIDwtIHNldF9uYW1lcyh4eCR2YWx1ZS54LCB4eCR0YXgpClRpc3N1ZSA8LSBzZXRfbmFtZXMoeHhfJHZhbHVlLnksIHh4XyR0YXgpIAoKdCA8LSByYmluZChUaXNzdWUsIEx1bWluYWwpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEJBQ1RFUklBTCBBQlVOREFOQ0UgSU4gREFUQVNFVFMgIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpwYXIobWFyPWMoNi41LDIuNSwwLDApKSAjYixsLHQscgp2aW9saXN0KGRhdGEgPSB0LCBzbW9vdGggPSAuMSwKICAgICAgICBnZW5lcyA9IGMoIlRpc3N1ZSIsICJMdW1pbmFsIiksCiAgICAgICAgY2x1c3RlcmluZyA9IGZhY3RvciggY29sbmFtZXModCksbGV2ZWxzID0gdG9wKSwKICAgICAgICBzcnQ9NDUsIGNleC5heGlzPTAuNywgcHQuY2V4PTAuMiwKICAgICAgICB0cmFuc3BhcmVuY3kgPSA1MCxjb2wgPSBwYWwpCmBgYAoKKipTdXBwbGVtZW50YXJ5IEZpZ3VyZSAxLiBBYnVuZGFuY2UgZGlzdHJpYnV0aW9uIG9mIGluZGl2aWR1YWwgdGF4YSBpbiB0aGUgbHVtaW5hbCBhbmQgdGlzc3VlIG1pY3JvYmlvbWUgZGF0YSBzZXRzLioqIFZpb2xpbiBwbG90cyBzaG93aW5nIHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYWJ1bmRhbmNlIG9mIHRoZSB0b3AgMzAgbW9zdCBhYnVuZGFudCB0YXhhIGluIHRoZSBsdW1pbmFsIGFuZCB0aXNzdWUtYWRoZXJlbnQgZGF0YSBzZXRzLg==