The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
WormTensorInstall WormTensor package from CRAN or GitHub in
advance and then type the code below in the R console window.
library(WormTensor)worm_download is a function to retrieve data from
figshare for a total of 28 animals (24 normal and 4 noisy). If there is
no argument, mSBD distance matrices (including 24 normal animals) will
be downloaded.
object <- worm_download()as_worm_tensor is a function to generate a
WormTensor object from distance matrices. A
WormTensor object S4 class is used by
worm_membership, worm_clustering,
worm_evaluate, and worm_visualize.
object <- as_worm_tensor(object$Ds)worm_membership is a function to generate a membership
tensor from a WormTensor object with distance matrices. Set
the assumed number of clusters to k(>=2).
object <- worm_membership(object, k=6)worm_clustering is a function to generate a clustering
result from a WormTensor object with a membership
tensor.
object <- worm_clustering(object)worm_evaluate is a function to generate an evaluation
result from a WormTensor object with a
worm_clustering result.
object <- worm_evaluate(object)worm_visualizeis a function to visualizeworm_clusteringandworm_evaluate`
results.object <- worm_visualize(object)Figure1a : Silhouette plots
Figure1b : Dimensional reduction Plots colored by cluster
Figure1c : Dimensional reduction Plots colored by no. of identified cells
Figure1d : ARI with a merge result and each animal(with MCMI)
The above functions can also be run by connecting them with R’s native pipe.
worm_download()$Ds |>
as_worm_tensor() |>
worm_membership(k=6) |>
worm_clustering() |>
worm_evaluate() |>
worm_visualize() -> objectIf you have a label for the cells, you can use it for external evaluation.
# Sample Labels
worm_download()$Ds |>
as_worm_tensor() |>
worm_membership(k=6) |>
worm_clustering() -> object
labels <- list(
label1 = sample(3, length(object@clustering), replace=TRUE),
label2 = sample(4, length(object@clustering), replace=TRUE),
label3 = sample(5, length(object@clustering), replace=TRUE))
# WormTensor (with Labels)
worm_download()$Ds |>
as_worm_tensor() |>
worm_membership(k=6) |>
worm_clustering() |>
worm_evaluate(labels) |>
worm_visualize() -> object_labelsFigure2a : Silhouette plots
Figure2b : Dimensional reduction Plots colored by cluster
Figure2c : Dimensional reduction Plots colored by no. of identified cells
Figure2d : ARI with a merge result and each animal(with MCMI)
Figure2e : Dimensional reduction Plots colored by label
Figure2f : Consistency of labels and cluster members
worm_distance helps you analyze your time-series data
matrices with WormTensor. worm_distance is a
function to convert time-series data matrices into distance matrices.
The distance matrices can be used for analysis by
WormTensor.
# Toy data (data of 3 animals)
n_cell_x <- 13
n_cell_y <- 24
n_cell_z <- 29
n_cells <- 30
n_time_frames <- 100
# animal_x : 13 cells, 100 time frames
animal_x <- matrix(runif(n_cell_x*n_time_frames),
nrow=n_cell_x, ncol=n_time_frames)
rownames(animal_x) <- sample(seq(n_cells), n_cell_x)
colnames(animal_x) <- seq(n_time_frames)
# animal_y : 24 cells, 100 time frames
animal_y <- matrix(runif(n_cell_y*n_time_frames),
nrow=n_cell_y, ncol=n_time_frames)
rownames(animal_y) <- sample(seq(n_cells), n_cell_y)
colnames(animal_y) <- seq(n_time_frames)
# animal_z : 29 cells, 100 time frames
animal_z <- matrix(runif(n_cell_z*n_time_frames),
nrow=n_cell_z, ncol=n_time_frames)
rownames(animal_z) <- sample(seq(n_cells), n_cell_z)
colnames(animal_z) <- seq(n_time_frames)
# Input list for worm_distnce
X <- list(animal_x=animal_x,
animal_y=animal_y,
animal_z=animal_z)
# Pipe Operation
# tsne.perplexity must be adjusted for data size
worm_distance(X, "mSBD") |>
as_worm_tensor() |>
worm_membership(k=6) |>
worm_clustering() |>
worm_evaluate() |>
worm_visualize(tsne.perplexity=5) -> object#> R Under development (unstable) (2022-07-07 r82559)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 22.04 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] WormTensor_0.1.2
#>
#> loaded via a namespace (and not attached):
#> [1] ade4_1.7-19 tidyselect_1.1.2 viridisLite_0.4.0 farver_2.1.1
#> [5] dplyr_1.0.9 fastmap_1.1.0 promises_1.2.0.1 shinyjs_2.1.0
#> [9] digest_0.6.29 mime_0.12 lifecycle_1.0.1 factoextra_1.0.7
#> [13] cluster_2.1.3 ellipsis_0.3.2 magrittr_2.0.3 compiler_4.3.0
#> [17] rlang_1.0.3 sass_0.4.1 tools_4.3.0 utf8_1.2.2
#> [21] yaml_2.3.5 knitr_1.39 ggsignif_0.6.3 labeling_0.4.2
#> [25] plyr_1.8.7 abind_1.4-5 R2HTML_2.3.3 Rtsne_0.16
#> [29] purrr_0.3.4 grid_4.3.0 stats4_4.3.0 fansi_1.0.3
#> [33] ggpubr_0.4.0 xtable_1.8-4 e1071_1.7-11 colorspace_2.0-3
#> [37] aricode_1.0.0 ggplot2_3.3.6 scales_1.2.0 iterators_1.0.14
#> [41] MASS_7.3-57.1 cli_3.3.0 rmarkdown_2.14 crayon_1.5.1
#> [45] generics_0.1.3 RcppParallel_5.1.5 rstudioapi_0.13 RSpectra_0.16-1
#> [49] reshape2_1.4.4 usedist_0.4.0 proxy_0.4-27 stringr_1.4.0
#> [53] splines_4.3.0 modeltools_0.2-23 parallel_4.3.0 clValid_0.7
#> [57] vctrs_0.4.1 Matrix_1.4-1 carData_3.0-5 jsonlite_1.8.0
#> [61] car_3.1-0 ggrepel_0.9.1 rstatix_0.7.0 clue_0.3-61
#> [65] foreach_1.5.2 jquerylib_0.1.4 tidyr_1.2.0 glue_1.6.2
#> [69] dtw_1.22-3 codetools_0.2-18 cowplot_1.1.1 flexclust_1.4-1
#> [73] uwot_0.1.11 stringi_1.7.6 gtable_0.3.0 rTensor_1.4.8
#> [77] later_1.3.0 munsell_0.5.0 tibble_3.1.7 pillar_1.7.0
#> [81] htmltools_0.5.2 clusterSim_0.50-1 R6_2.5.1 evaluate_0.15
#> [85] shiny_1.7.1 lattice_0.20-45 backports_1.4.1 dtwclust_5.5.10
#> [89] broom_1.0.0 httpuv_1.6.5 bslib_0.3.1 class_7.3-20.1
#> [93] Rcpp_1.0.8.3 nlme_3.1-158 mgcv_1.8-40 xfun_0.31
#> [97] pkgconfig_2.0.3
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.