The goal of concordexR is to identify spatial homogeneous regions (SHRs) as defined in the recent manuscrpt“Identification of spatial homogenous regions in tissues with concordex”. Briefly, SHRs are are domains that are homogeneous with respect to cell type composition. concordex relies on the the k-nearest-neighbor (kNN) graph to representing similarities between cells and uses common clustering algorithms to identify SHRs.

0.1 Installation

This package is under active development will be available in the Bioconductor version 3.20 release.

Until then, please install the package from Github or from the Bioconductor devel branch.

if (!requireNamespace("BiocManager", quietly=TRUE))
    install.packages("BiocManager")

#BiocManager::install("concordexR", version="devel")
devtools::install_github("pachterlab/concordexR")

0.2 Example of main functionality

This is a basic example which shows you how to solve a common problem:

library(concordexR)
library(SFEData)

sfe <- McKellarMuscleData("small")
#> see ?SFEData and browseVignettes('SFEData') for documentation
#> loading from cache
#> require("SpatialFeatureExperiment")
res <- calculateConcordex(sfe, labels=colData(sfe)[["in_tissue"]])

0.3 SessionInfo

sessionInfo()
#> R version 4.4.1 (2024-06-14)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.1 LTS
#> 
#> Matrix products: default
#> BLAS:   /home/biocbuild/bbs-3.20-bioc/R/lib/libRblas.so 
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.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] SpatialFeatureExperiment_1.8.0 SFEData_1.7.0                 
#>  [3] patchwork_1.3.0                scater_1.34.0                 
#>  [5] ggplot2_3.5.1                  scuttle_1.16.0                
#>  [7] bluster_1.16.0                 BiocNeighbors_2.0.0           
#>  [9] TENxPBMCData_1.23.0            HDF5Array_1.34.0              
#> [11] rhdf5_2.50.0                   DelayedArray_0.32.0           
#> [13] SparseArray_1.6.0              S4Arrays_1.6.0                
#> [15] abind_1.4-8                    Matrix_1.7-1                  
#> [17] SingleCellExperiment_1.28.0    SummarizedExperiment_1.36.0   
#> [19] Biobase_2.66.0                 GenomicRanges_1.58.0          
#> [21] GenomeInfoDb_1.42.0            IRanges_2.40.0                
#> [23] S4Vectors_0.44.0               BiocGenerics_0.52.0           
#> [25] MatrixGenerics_1.18.0          matrixStats_1.4.1             
#> [27] concordexR_1.6.0               BiocStyle_2.34.0              
#> 
#> loaded via a namespace (and not attached):
#>   [1] bitops_1.0-9              filelock_1.0.3           
#>   [3] tibble_3.2.1              R.oo_1.26.0              
#>   [5] lifecycle_1.0.4           sf_1.0-18                
#>   [7] edgeR_4.4.0               lattice_0.22-6           
#>   [9] MASS_7.3-61               magrittr_2.0.3           
#>  [11] limma_3.62.0              sass_0.4.9               
#>  [13] rmarkdown_2.28            jquerylib_0.1.4          
#>  [15] yaml_2.3.10               sp_2.1-4                 
#>  [17] cowplot_1.1.3             DBI_1.2.3                
#>  [19] zlibbioc_1.52.0           purrr_1.0.2              
#>  [21] R.utils_2.12.3            RCurl_1.98-1.16          
#>  [23] rappdirs_0.3.3            GenomeInfoDbData_1.2.13  
#>  [25] ggrepel_0.9.6             irlba_2.3.5.1            
#>  [27] terra_1.7-83              units_0.8-5              
#>  [29] dqrng_0.4.1               DelayedMatrixStats_1.28.0
#>  [31] codetools_0.2-20          DropletUtils_1.26.0      
#>  [33] tidyselect_1.2.1          UCSC.utils_1.2.0         
#>  [35] farver_2.1.2              ScaledMatrix_1.14.0      
#>  [37] viridis_0.6.5             BiocFileCache_2.14.0     
#>  [39] jsonlite_1.8.9            e1071_1.7-16             
#>  [41] tools_4.4.1               Rcpp_1.0.13              
#>  [43] glue_1.8.0                gridExtra_2.3            
#>  [45] xfun_0.48                 EBImage_4.48.0           
#>  [47] dplyr_1.1.4               withr_3.0.2              
#>  [49] BiocManager_1.30.25       fastmap_1.2.0            
#>  [51] boot_1.3-31               rhdf5filters_1.18.0      
#>  [53] fansi_1.0.6               spData_2.3.3             
#>  [55] digest_0.6.37             rsvd_1.0.5               
#>  [57] R6_2.5.1                  mime_0.12                
#>  [59] wk_0.9.4                  colorspace_2.1-1         
#>  [61] jpeg_0.1-10               RSQLite_2.3.7            
#>  [63] R.methodsS3_1.8.2         utf8_1.2.4               
#>  [65] generics_0.1.3            data.table_1.16.2        
#>  [67] FNN_1.1.4.1               class_7.3-22             
#>  [69] httr_1.4.7                htmlwidgets_1.6.4        
#>  [71] spdep_1.3-6               uwot_0.2.2               
#>  [73] pkgconfig_2.0.3           gtable_0.3.6             
#>  [75] blob_1.2.4                XVector_0.46.0           
#>  [77] htmltools_0.5.8.1         bookdown_0.41            
#>  [79] fftwtools_0.9-11          scales_1.3.0             
#>  [81] png_0.1-8                 SpatialExperiment_1.16.0 
#>  [83] knitr_1.48                rjson_0.2.23             
#>  [85] curl_5.2.3                proxy_0.4-27             
#>  [87] cachem_1.1.0              BiocVersion_3.20.0       
#>  [89] KernSmooth_2.23-24        parallel_4.4.1           
#>  [91] vipor_0.4.7               AnnotationDbi_1.68.0     
#>  [93] s2_1.1.7                  pillar_1.9.0             
#>  [95] grid_4.4.1                vctrs_0.6.5              
#>  [97] BiocSingular_1.22.0       dbplyr_2.5.0             
#>  [99] beachmat_2.22.0           sfheaders_0.4.4          
#> [101] cluster_2.1.6             beeswarm_0.4.0           
#> [103] evaluate_1.0.1            zeallot_0.1.0            
#> [105] isoband_0.2.7             tinytex_0.53             
#> [107] magick_2.8.5              cli_3.6.3                
#> [109] locfit_1.5-9.10           compiler_4.4.1           
#> [111] rlang_1.1.4               crayon_1.5.3             
#> [113] labeling_0.4.3            classInt_0.4-10          
#> [115] ggbeeswarm_0.7.2          viridisLite_0.4.2        
#> [117] deldir_2.0-4              BiocParallel_1.40.0      
#> [119] munsell_0.5.1             Biostrings_2.74.0        
#> [121] tiff_0.1-12               ExperimentHub_2.14.0     
#> [123] sparseMatrixStats_1.18.0  bit64_4.5.2              
#> [125] Rhdf5lib_1.28.0           KEGGREST_1.46.0          
#> [127] statmod_1.5.0             highr_0.11               
#> [129] AnnotationHub_3.14.0      igraph_2.1.1             
#> [131] memoise_2.0.1             bslib_0.8.0              
#> [133] bit_4.5.0