In [1]:
# See https://www.datacamp.com/community/blog/jupyter-notebook-r
library(Rodam)
library(UpSetR)
In [2]:
# Initialize the 'ODAM' object
dh <- new('odamws', wsURL='https://pmb-bordeaux.fr/getdata/', dsname='frim1')
# List of data subsets
setNameList <- c('activome', 'plato_hexosesP',
'AminoAcid', 'qMS_metabo',
'qNMR_metabo', 'cellwall_metabo',
'lipids_AG' )
In [3]:
# Get the UpSet Table
upset.table <- dh$getUpSetTable(setNameList)
# Plot the UpSet Graphic
# See https://www.rdocumentation.org/packages/UpSetR/versions/1.3.3/topics/upset
upset(upset.table, sets = setNameList, order.by = "freq",
point.size=5, text.scale=1.8,
matrix.col="red", main.bar.color="darkblue", sets.bar.color="darkgreen")
In [4]:
## Compare two levels of the same factor
library(dendextend)
In [5]:
setNameList <- c("activome", "qNMR_metabo" )
dsMerged <- dh$getSubsetByName(setNameList)
treatmentL1 <- unique(dsMerged$data[, "Treatment"])[1] # Control
treatmentL2 <- unique(dsMerged$data[, "Treatment"])[2] # Shaded
VarnamesS1 <- dsMerged$varsBySubset[[setNameList[1]]]
VarnamesS2 <- dsMerged$varsBySubset[[setNameList[2]]]
subdata1 <- dsMerged$data[dsMerged$data[, "Treatment"]==treatmentL1, ]
subdata1 <- log2(subdata1[ , c(VarnamesS1, VarnamesS2)])
subdata2 <- dsMerged$data[dsMerged$data[, "Treatment"]==treatmentL2, ]
subdata2 <- log2(subdata2[, c(VarnamesS1, VarnamesS2)])
In [6]:
# Dendrogram 1 : Activome + qNMR_metab for Treatment=Control
dend_01 <- t(subdata1) %>% scale %>% dist %>% hclust(method = "average") %>% as.dendrogram
cols <- rep( 'red', length(dend_01 %>% labels))
cols[ dend_01 %>% labels %in% VarnamesS1 ] <- 'blue'
dend_01 <- dend_01 %>% set("branches_k_color", k = 10) %>%
set("labels_colors", cols) %>% set("labels_cex", 0.8)
# Dendrogram 1 : Activome + qNMR_metab for Treatment=WaterStress
dend_02 <- t(subdata2) %>% scale %>% dist %>% hclust(method = "average") %>% as.dendrogram
cols <- rep( 'red', length(dend_02 %>% labels))
cols[ dend_02 %>% labels %in% VarnamesS1 ] <- 'blue'
dend_02 <- dend_02 %>% set("branches_k_color", k = 10) %>%
set("labels_colors", cols) %>% set("labels_cex", 0.8)
# set bottom, left, top and right margins
par(mar=c(2,1,1,8))
# Comparing two dendrograms
dend12 <- dendlist(dend_01, dend_02)
dend12 %>% untangle(method = "step1side") %>%
tanglegram(common_subtrees_color_branches = TRUE, margin_inner=6,
main_left=treatmentL1, main_right=treatmentL2, cex_main=2)
In [7]:
sessionInfo()
In [8]: