This function was adapted from the MDSplot() function from the visEAGO package

plot_clustered_mds(main_matrix, cluster_info, ggplot_version = FALSE)

Arguments

main_matrix

Matrix containing the data to be plotted as created by SS_GO_clusters

cluster_info

A dataframe with cluster names and the number of GOs in each cluster

ggplot_version

Boolean indicating if a ggplot (static) version of the plot should be created instead of a plotly version. By default is FALSE.

Value

the plotly object for the MDS plot

Examples

TS_object<-create_example_object_for_R()
TS_object <- normalize_timeSeries_with_deseq2(time_object=TS_object)
#> converting counts to integer mode
#Perform conditional differential gene expression analysis
TS_object<-conditional_DE_wrapper(TS_object,vignette_run=TRUE)
TS_object<-temporal_DE_wrapper(TS_object,do_all_combinations=TRUE,vignette_run=TRUE)
#Extract genes for PART clustering based on defined log(2)foldChange threshold
signi_genes<-select_genes_with_l2fc(TS_object)

#Use all samples, but implement a custom order. In this case it is reversed
sample_data<-exp_sample_data(TS_object)
TS_groups<-slot(TS_object,'group_names')
samps_2<-sample_data$sample[sample_data$group==TS_groups[2]]
samps_1<-sample_data$sample[sample_data$group==TS_groups[1]]

#Create the matrix that will be used for PART clustering
TS_object<-prep_counts_for_PART(object=TS_object,target_genes=signi_genes,scale=TRUE,target_samples=c(samps_2,samps_1))
TS_object<-compute_PART(TS_object,part_recursion=10,part_min_clust=10,dist_param="euclidean", hclust_param="average",vignette_run=TRUE)
TS_object<-run_gprofiler_PART_clusters(TS_object,vignette_run=TRUE) #Run the gprofiler analysis
#> running Gprofiler on PART clusters
#Set to null to not save results
gpro_res<-gprofiler_cluster_analysis(TS_object,'GO:BP',save_path=NULL)
GO_clusters<-gpro_res[['GO_df']]
sem_dta<-slot(TS_object,'sem_list')
plot_data<-calculate_and_format_MDS(GO_clusters,sem_dta)
plot_data<-merge_duplicate_modules(plot_data)

found_clusters<-find_clusters_from_termdist(GO_clusters,sem_dta)
# calculate semantic similarites between clusters of GO terms
calculated_SS<-SS_GO_clusters(sem_dta,found_clusters,'BP',distance="BMA",measure='Wang')
#> Warning: non-vector elements will be ignored
#> 'select()' returned many:1 mapping between keys and columns
clustered_module_df<-create_clustered_module_dataframe(found_clusters)

clust_plot<-plot_clustered_mds(calculated_SS,clustered_module_df)
#> Could not cluster found MDS terms