## ----setup,include=FALSE------------------------------------------------------
# load
library(ViSEAGO)

# knitr document options
knitr::opts_chunk$set(
    eval=FALSE,fig.path='./data/output/',echo=TRUE,fig.pos = 'H',
    fig.width=8,message=FALSE,comment=NA,warning=FALSE
)

## ----vignette_data_used-------------------------------------------------------
# # load vignette data
# data(
#     myGOs,
#     package="ViSEAGO"
# )

## ----SS_build,eval=FALSE------------------------------------------------------
# # compute Semantic Similarity (SS)
# myGOs<-ViSEAGO::compute_SS_distances(
#     myGOs,
#     distance=c("Resnik","Lin","Rel","Jiang","Wang")
# )

## ----SS_terms_Resnik-wardD2---------------------------------------------------
# # GO terms heatmap
# Resnik_clusters_wardD2<-ViSEAGO::GOterms_heatmap(
#     myGOs,
#     showIC=TRUE,
#     showGOlabels=TRUE,
#     GO.tree=list(
#         tree=list(
#             distance="Resnik",
#             aggreg.method="ward.D2"
#         ),
#         cut=list(
#             dynamic=list(
#                 deepSplit=2,
#                 minClusterSize =2
#             )
#         )
#     ),
#     samples.tree=NULL
# )

## ----SS_Lin-wardD2------------------------------------------------------------
# # GO terms heatmap
# Lin_clusters_wardD2<-ViSEAGO::GOterms_heatmap(
#     myGOs,
#     showIC=TRUE,
#     showGOlabels=TRUE,
#     GO.tree=list(
#         tree=list(
#             distance="Lin",
#             aggreg.method="ward.D2"
#         ),
#         cut=list(
#             dynamic=list(
#                 deepSplit=2,
#                 minClusterSize =2
#             )
#         )
#     ),
#     samples.tree=NULL
# )

## ----SS_ Rel-wardD2-----------------------------------------------------------
# # GO terms heatmap
# Rel_clusters_wardD2<-ViSEAGO::GOterms_heatmap(
#     myGOs,
#     showIC=TRUE,
#     showGOlabels=TRUE,
#     GO.tree=list(
#         tree=list(
#             distance="Rel",
#             aggreg.method="ward.D2"
#         ),
#         cut=list(
#             dynamic=list(
#                 deepSplit=2,
#                 minClusterSize =2
#             )
#         )
#     ),
#     samples.tree=NULL
# )

## ----SS_Jiang-wardD2----------------------------------------------------------
# # GO terms heatmap
# Jiang_clusters_wardD2<-ViSEAGO::GOterms_heatmap(
#     myGOs,
#     showIC=TRUE,
#     showGOlabels=TRUE,
#     GO.tree=list(
#         tree=list(
#             distance="Jiang",
#             aggreg.method="ward.D2"
#         ),
#         cut=list(
#             dynamic=list(
#                 deepSplit=2,
#                 minClusterSize =2
#             )
#         )
#     ),
#     samples.tree=NULL
# )

## ----SS_Wang-wardD2-----------------------------------------------------------
# # GO terms heatmap
# Wang_clusters_wardD2<-ViSEAGO::GOterms_heatmap(
#     myGOs,
#     showIC=TRUE,
#     showGOlabels=TRUE,
#     GO.tree=list(
#         tree=list(
#             distance="Wang",
#             aggreg.method="ward.D2"
#         ),
#         cut=list(
#             dynamic=list(
#                 deepSplit=2,
#                 minClusterSize =2
#             )
#         )
#     ),
#     samples.tree=NULL
# )

## ----parameters_dend_correlation----------------------------------------------
# # build the list of trees
# dend<- dendextend::dendlist(
#     "Resnik"=slot(Resnik_clusters_wardD2,"dendrograms")$GO,
#     "Lin"=slot(Lin_clusters_wardD2,"dendrograms")$GO,
#     "Rel"=slot(Rel_clusters_wardD2,"dendrograms")$GO,
#     "Jiang"=slot(Jiang_clusters_wardD2,"dendrograms")$GO,
#     "Wang"=slot(Wang_clusters_wardD2,"dendrograms")$GO
# )
# 
# # build the trees matrix correlation
# dend_cor<-dendextend::cor.dendlist(dend)

## ----parameters_dend_correlation_print----------------------------------------
# # corrplot
# corrplot::corrplot(
#     dend_cor,
#     "pie",
#     "lower",
#     is.corr=FALSEALSE,
#     cl.lim=c(0,1)
# )

## ----parameters_dend_comparison,fig.cap="dendrograms comparison"--------------
# # dendrogram list
# dl<-dendextend::dendlist(
#     slot(Resnik_clusters_wardD2,"dendrograms")$GO,
#     slot(Wang_clusters_wardD2,"dendrograms")$GO
# )
# 
# # untangle the trees (efficient but very highly time consuming)
# tangle<-dendextend::untangle(
#     dl,
#     "step2side"
# )
# 
# # display the entanglement
# dendextend::entanglement(tangle) # 0.08362968
# 
# # display the tanglegram
# dendextend::tanglegram(
#     tangle,
#     margin_inner=5,
#     edge.lwd=1,
#     lwd = 1,
#     lab.cex=0.8,
#     columns_width = c(5,2,5),
#     common_subtrees_color_lines=FALSE
# )

## ----parameters_clusters_correlation------------------------------------------
# # clusters to compare
# clusters=list(
#     Resnik="Resnik_clusters_wardD2",
#     Lin="Lin_clusters_wardD2",
#     Rel="Rel_clusters_wardD2",
#     Jiang="Jiang_clusters_wardD2",
#     Wang="Wang_clusters_wardD2"
# )
# 
# # global dendrogram partition correlation
# clust_cor<-ViSEAGO::clusters_cor(
#     clusters,
#     method="adjusted.rand"
# )

## ----parameters_clusters_correlation_print------------------------------------
# # global dendrogram partition correlation
# corrplot::corrplot(
#     clust_cor,
#     "pie",
#     "lower",
#     is.corr=FALSEALSE,
#     cl.lim=c(0,1)
# )

## ----parameters_clusters_comparison,fig.height=8------------------------------
# # clusters content comparisons
# ViSEAGO::compare_clusters(clusters)