The goal of concordexR is to replace UMAP as a clustering diagnostic.
This package can be installed from Bioconductor since version 3.17 with
BiocManager::install("concordexR")
This is a basic example which shows you how to solve a common problem:
library(concordexR)
library(BiocNeighbors)
g <- findKNN(iris[, seq_len(4)], k = 10)
#> Warning in (function (to_check, X, clust_centers, clust_info, dtype, nn, :
#> detected tied distances to neighbors, see ?'BiocNeighbors-ties'
res <- calculateConcordex(g$index, labels = iris$Species, k = 10, return.map = TRUE)
plotConcordexSim(res)
heatConcordex(res)
sessionInfo()
#> R version 4.3.1 (2023-06-16)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 22.04.3 LTS
#>
#> Matrix products: default
#> BLAS: /home/biocbuild/bbs-3.18-bioc/R/lib/libRblas.so
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_GB 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
#>
#> time zone: America/New_York
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats4 stats graphics grDevices utils datasets methods
#> [8] base
#>
#> other attached packages:
#> [1] patchwork_1.1.3 scater_1.30.0
#> [3] ggplot2_3.4.4 scuttle_1.12.0
#> [5] bluster_1.12.0 BiocNeighbors_1.20.0
#> [7] TENxPBMCData_1.19.0 HDF5Array_1.30.0
#> [9] rhdf5_2.46.0 DelayedArray_0.28.0
#> [11] SparseArray_1.2.0 S4Arrays_1.2.0
#> [13] abind_1.4-5 Matrix_1.6-1.1
#> [15] SingleCellExperiment_1.24.0 SummarizedExperiment_1.32.0
#> [17] Biobase_2.62.0 GenomicRanges_1.54.0
#> [19] GenomeInfoDb_1.38.0 IRanges_2.36.0
#> [21] S4Vectors_0.40.0 BiocGenerics_0.48.0
#> [23] MatrixGenerics_1.14.0 matrixStats_1.0.0
#> [25] concordexR_1.2.0 BiocStyle_2.30.0
#>
#> loaded via a namespace (and not attached):
#> [1] RColorBrewer_1.1-3 jsonlite_1.8.7
#> [3] magrittr_2.0.3 ggbeeswarm_0.7.2
#> [5] magick_2.8.1 farver_2.1.1
#> [7] rmarkdown_2.25 zlibbioc_1.48.0
#> [9] vctrs_0.6.4 memoise_2.0.1
#> [11] DelayedMatrixStats_1.24.0 RCurl_1.98-1.12
#> [13] htmltools_0.5.6.1 AnnotationHub_3.10.0
#> [15] curl_5.1.0 Rhdf5lib_1.24.0
#> [17] sass_0.4.7 bslib_0.5.1
#> [19] cachem_1.0.8 igraph_1.5.1
#> [21] mime_0.12 lifecycle_1.0.3
#> [23] pkgconfig_2.0.3 rsvd_1.0.5
#> [25] R6_2.5.1 fastmap_1.1.1
#> [27] GenomeInfoDbData_1.2.11 shiny_1.7.5.1
#> [29] digest_0.6.33 colorspace_2.1-0
#> [31] AnnotationDbi_1.64.0 irlba_2.3.5.1
#> [33] ExperimentHub_2.10.0 RSQLite_2.3.1
#> [35] beachmat_2.18.0 filelock_1.0.2
#> [37] labeling_0.4.3 fansi_1.0.5
#> [39] httr_1.4.7 compiler_4.3.1
#> [41] bit64_4.0.5 withr_2.5.1
#> [43] BiocParallel_1.36.0 viridis_0.6.4
#> [45] DBI_1.1.3 MASS_7.3-60
#> [47] rappdirs_0.3.3 tools_4.3.1
#> [49] vipor_0.4.5 beeswarm_0.4.0
#> [51] interactiveDisplayBase_1.40.0 httpuv_1.6.12
#> [53] glue_1.6.2 rhdf5filters_1.14.0
#> [55] promises_1.2.1 grid_4.3.1
#> [57] cluster_2.1.4 generics_0.1.3
#> [59] isoband_0.2.7 gtable_0.3.4
#> [61] BiocSingular_1.18.0 ScaledMatrix_1.10.0
#> [63] utf8_1.2.4 XVector_0.42.0
#> [65] ggrepel_0.9.4 BiocVersion_3.18.0
#> [67] pillar_1.9.0 later_1.3.1
#> [69] dplyr_1.1.3 BiocFileCache_2.10.0
#> [71] lattice_0.22-5 FNN_1.1.3.2
#> [73] bit_4.0.5 tidyselect_1.2.0
#> [75] Biostrings_2.70.0 knitr_1.44
#> [77] gridExtra_2.3 bookdown_0.36
#> [79] xfun_0.40 pheatmap_1.0.12
#> [81] yaml_2.3.7 evaluate_0.22
#> [83] codetools_0.2-19 tibble_3.2.1
#> [85] BiocManager_1.30.22 cli_3.6.1
#> [87] uwot_0.1.16 xtable_1.8-4
#> [89] munsell_0.5.0 jquerylib_0.1.4
#> [91] Rcpp_1.0.11 dbplyr_2.3.4
#> [93] png_0.1-8 parallel_4.3.1
#> [95] ellipsis_0.3.2 blob_1.2.4
#> [97] sparseMatrixStats_1.14.0 bitops_1.0-7
#> [99] viridisLite_0.4.2 scales_1.2.1
#> [101] purrr_1.0.2 crayon_1.5.2
#> [103] rlang_1.1.1 cowplot_1.1.1
#> [105] KEGGREST_1.42.0