From 144e2727c5dfc248a6205dd0ee6da2d651025745 Mon Sep 17 00:00:00 2001 From: MicTott <32395683+MicTott@users.noreply.github.com> Date: Fri, 8 Nov 2024 20:50:45 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20MicTott/?= =?UTF-8?q?SpotSweeper@c8b76bcb108b910417f3150e3dc85529c0efda87=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 +- CODE_OF_CONDUCT.html | 4 +- CONTRIBUTING.html | 4 +- LICENSE-text.html | 4 +- LICENSE.html | 4 +- SUPPORT.html | 4 +- articles/getting_started.html | 135 +++++++++++-------------- articles/index.html | 4 +- authors.html | 4 +- index.html | 4 +- news/index.html | 9 +- pkgdown.js | 8 ++ pkgdown.yml | 4 +- reference/DLPFC_artifact.html | 4 +- reference/findArtifacts.html | 23 +++-- reference/index.html | 6 +- reference/localOutliers.html | 23 +++-- reference/localVariance.html | 22 ++-- reference/plotQCmetrics-1.png | Bin 0 -> 559774 bytes reference/plotQCmetrics.html | 183 ++++++++++++++++++++++++++++++++++ reference/plotQCpdf.html | 11 +- search.json | 2 +- sitemap.xml | 2 +- 23 files changed, 332 insertions(+), 136 deletions(-) create mode 100644 reference/plotQCmetrics-1.png create mode 100644 reference/plotQCmetrics.html diff --git a/404.html b/404.html index 3a278aa..78c18de 100644 --- a/404.html +++ b/404.html @@ -20,7 +20,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -67,7 +67,7 @@ Page not found (404) diff --git a/CODE_OF_CONDUCT.html b/CODE_OF_CONDUCT.html index 359dcde..d0b52a2 100644 --- a/CODE_OF_CONDUCT.html +++ b/CODE_OF_CONDUCT.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -59,7 +59,7 @@ NA diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index 9d47631..c32279c 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -76,7 +76,7 @@ Code of Conduct diff --git a/LICENSE-text.html b/LICENSE-text.html index e40886e..56074ad 100644 --- a/LICENSE-text.html +++ b/LICENSE-text.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -67,7 +67,7 @@ License diff --git a/LICENSE.html b/LICENSE.html index 19cba92..a217da2 100644 --- a/LICENSE.html +++ b/LICENSE.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -52,7 +52,7 @@ MIT License diff --git a/SUPPORT.html b/SUPPORT.html index 7917667..cc64b33 100644 --- a/SUPPORT.html +++ b/SUPPORT.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -74,7 +74,7 @@ What happens next? - Site built with pkgdown 2.1.0. + Site built with pkgdown 2.1.1. diff --git a/articles/getting_started.html b/articles/getting_started.html index b894318..c6c21b9 100644 --- a/articles/getting_started.html +++ b/articles/getting_started.html @@ -20,7 +20,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -69,7 +69,7 @@ Michael Hicks Johns Hopkins Bloomberg School of Public Health, Baltimore, MD, -USA2024-07-23 +USA2024-11-08 Source: vignettes/getting_started.Rmd getting_started.Rmd @@ -221,19 +221,19 @@ Identifying local outliers Visualizing local outliers -We can visualize the local outliers using the plotQC -function. This function creates a scatter plot of the specified metric -and highlights the local outliers in red using the escheR -package. Here, we’ll visualize local outliers of library size, unique -genes, mitochondrial percent, and finally, all local outliers. We’ll -then arrange these plots in a grid using -ggpubr::arrange. +We can visualize the local outliers using the +plotQCmetrics function. This function creates a scatter +plot of the specified metric and highlights the local outliers in red +using the escheR package. Here, we’ll visualize local +outliers of library size, unique genes, mitochondrial percent, and +finally, all local outliers. We’ll then arrange these plots in a grid +using ggpubr::arrange. library(escheR) ## Loading required package: ggplot2 # all local outliers -plotQC(spe, metric = "sum_log", outliers = "local_outliers", point_size = 1.1, +plotQCmetrics(spe, metric = "sum_log", outliers = "local_outliers", point_size = 1.1, stroke = 0.75) + ggtitle("All Local Outliers") @@ -265,11 +265,11 @@ Visualizing technical artifactsTechnical artifacts can commonly be visualized by standard QC metrics, including library size, unique genes, or mitochondrial percentage. We can first visualize the technical artifacts using the -plotQC function. In this sample, we can clearly see a -hangnail artifact on the right side of the tissue section in the +plotQCmetrics function. In this sample, we can clearly see +a hangnail artifact on the right side of the tissue section in the mitochondrial ratio plot. -plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = NULL, point_size = 1.1 ) + @@ -283,7 +283,7 @@ Identifying artifacts using mito_percent) at -numerous neighorhood sizes (n_rings=5). Currently, +numerous neighorhood sizes (n_order=5). Currently, kmeans clustering is used to cluster the technical artifact vs high-quality Visium spots. Similar to localOutliers, the findArtifacts function then outputs the results to the @@ -293,7 +293,7 @@ Identifying artifacts using spe <- findArtifacts(spe, mito_percent = "expr_chrM_ratio", mito_sum = "expr_chrM", - n_rings = 5, + n_order = 5, name = "artifact" ) @@ -313,10 +313,10 @@ Identifying artifacts using Visualizing artifacts We can visualize the artifacts using the escheR package. -Here, we’ll visualize the artifacts using the plotQC +Here, we’ll visualize the artifacts using the plotQCmetrics function and arrange these plots using ggpubr::arrange. -plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = "artifact", point_size = 1.1 ) + @@ -325,9 +325,9 @@ Visualizing artifacts utils::sessionInfo() -## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61 diff --git a/authors.html b/authors.html index b0dec11..57352f7 100644 --- a/authors.html +++ b/authors.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -75,7 +75,7 @@ Citation diff --git a/index.html b/index.html index 8e4803b..9d6d927 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -152,7 +152,7 @@ Dev status diff --git a/news/index.html b/news/index.html index 6e79a01..26799d7 100644 --- a/news/index.html +++ b/news/index.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -36,11 +36,6 @@ Changelog Source: NEWS.md - -SpotSweeper 0.99.1 -Added a NEWS.md file to track changes to the package. -First full version of the package to be submitted to Bioconductor. See Bioconductor submission here. - @@ -49,7 +44,7 @@ SpotSweeper diff --git a/pkgdown.js b/pkgdown.js index 9757bf9..1a99c65 100644 --- a/pkgdown.js +++ b/pkgdown.js @@ -152,3 +152,11 @@ async function searchFuse(query, callback) { }); }); })(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/pkgdown.yml b/pkgdown.yml index 398ebb6..cf6032b 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -1,9 +1,9 @@ pandoc: 3.1.11 -pkgdown: 2.1.0 +pkgdown: 2.1.1 pkgdown_sha: ~ articles: getting_started: getting_started.html -last_built: 2024-07-23T23:57Z +last_built: 2024-11-08T20:48Z urls: reference: https://mictott.github.io/SpotSweeper/reference article: https://mictott.github.io/SpotSweeper/articles diff --git a/reference/DLPFC_artifact.html b/reference/DLPFC_artifact.html index cab8bed..9775d2e 100644 --- a/reference/DLPFC_artifact.html +++ b/reference/DLPFC_artifact.html @@ -17,7 +17,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -89,7 +89,7 @@ Examples - Site built with pkgdown 2.1.0. + Site built with pkgdown 2.1.1. diff --git a/reference/findArtifacts.html b/reference/findArtifacts.html index 5ae8282..958318a 100644 --- a/reference/findArtifacts.html +++ b/reference/findArtifacts.html @@ -13,7 +13,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -57,7 +57,8 @@ Usage mito_percent = "expr_chrM_ratio", mito_sum = "expr_chrM", samples = "sample_id", - n_rings = 5, + n_order = 5, + shape = "hexagonal", log = TRUE, name = "artifact", var_output = TRUE @@ -87,11 +88,16 @@ Argumentsn_rings -The number of rings for local mito variance calculation. +n_order +The number of orders for local mito variance calculation. Default is 5. +shape +The shape of the neighborhood for local variance calculation. +Can be either 'hexagonal' or 'square'. Default is 'hexagonal'. + + log Logical, indicating whether to log1p transform mito_percent. Default is TRUE. @@ -158,8 +164,8 @@ Examples#> as.data.frame, basename, cbind, colnames, dirname, do.call, #> duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, #> lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, -#> pmin.int, rank, rbind, rownames, sapply, setdiff, table, tapply, -#> union, unique, unsplit, which.max, which.min +#> pmin.int, rank, rbind, rownames, sapply, saveRDS, setdiff, table, +#> tapply, union, unique, unsplit, which.max, which.min #> Loading required package: S4Vectors #> #> Attaching package: ‘S4Vectors’ @@ -195,7 +201,8 @@ Examplesspe <- findArtifacts(spe, mito_percent = "expr_chrM_ratio", mito_sum = "expr_chrM", - n_rings = 2, # 5 recommended, using 1 for time + n_order = 2, # 5 recommended, using 2 for time + shape = "hexagonal", name = "artifact" ) @@ -211,7 +218,7 @@ Examples - Site built with pkgdown 2.1.0. + Site built with pkgdown 2.1.1. diff --git a/reference/index.html b/reference/index.html index 577ae69..0b5d3db 100644 --- a/reference/index.html +++ b/reference/index.html @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -72,7 +72,7 @@ All functionsplotQC() + plotQCmetrics() Plot QC metrics for a Single Sample in a SpatialExperiment object @@ -91,7 +91,7 @@ All functions - Site built with pkgdown 2.1.0. + Site built with pkgdown 2.1.1. diff --git a/reference/localOutliers.html b/reference/localOutliers.html index 61ce529..0eaa0f0 100644 --- a/reference/localOutliers.html +++ b/reference/localOutliers.html @@ -15,7 +15,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -62,7 +62,9 @@ Usage n_neighbors = 36, samples = "sample_id", log = TRUE, - cutoff = 3 + cutoff = 3, + neighborhood = spatialCoords(spe_subset), + workers = 1 ) @@ -71,7 +73,7 @@ Argumentsspe -SpatialExperiment object +SpatialExperiment or SingleCellExperiment object metric @@ -98,10 +100,18 @@ Argumentscutoff Cutoff for outlier detection (default is 3) + +neighborhood +Matrix of spatial coordinates for neighborhood calculation + + +workers +Number of workers for parallel processing (default is 1) + Value - SpatialExperiment object with updated colData containing outputs + SpatialExperiment or SingleCellExperiment object with updated colData containing outputs @@ -139,7 +149,8 @@ Examplesspe <- localOutliers(spe, metric = "sum", direction = "lower", - log = TRUE + log = TRUE, + neighborhood = spatialCoords(spe) ) @@ -153,7 +164,7 @@ Examples - Site built with pkgdown 2.1.0. + Site built with pkgdown 2.1.1. diff --git a/reference/localVariance.html b/reference/localVariance.html index 8224da1..9a35a99 100644 --- a/reference/localVariance.html +++ b/reference/localVariance.html @@ -1,5 +1,5 @@ -localVariance Function — localVariance • SpotSweeper +localVariance Function — localVariance • SpotSweeper Skip to contents @@ -7,7 +7,7 @@ SpotSweeper - 1.1.2 + 1.3.1 @@ -38,7 +38,7 @@ localVariance Function - This function does calculates the local variance based on kNN. + This function calculates the local variance based on kNN. @@ -49,7 +49,8 @@ Usage metric = c("expr_chrM_ratio"), samples = "sample_id", log = FALSE, - name = NULL + name = NULL, + workers = 1 ) @@ -68,7 +69,7 @@ Argumentsmetric -metric to use for variance calculation +Metric to use for variance calculation samples @@ -82,6 +83,10 @@ Argumentsname Name of the new column to add to colData + +workers +Number of workers to use for parallel computation + Value @@ -128,11 +133,10 @@ Examplesspe <- localVariance(spe, metric = "subsets_Mito_percent", n_neighbors = 36, - name = "local_mito_variance_k36" + name = "local_mito_variance_k36", + workers = 1 ) -plotQC(spe, metric="local_mito_variance_k36") - @@ -145,7 +149,7 @@ Examples - Site built with pkgdown 2.1.0. + Site built with pkgdown 2.1.1. diff --git a/reference/plotQCmetrics-1.png b/reference/plotQCmetrics-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9efafa46a373ea93a5350a7a87a846a098ed1ad5 GIT binary patch literal 559774 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
Site built with pkgdown 2.1.0.
Site built with pkgdown 2.1.1.
vignettes/getting_started.Rmd
getting_started.Rmd
We can visualize the local outliers using the plotQC -function. This function creates a scatter plot of the specified metric -and highlights the local outliers in red using the escheR -package. Here, we’ll visualize local outliers of library size, unique -genes, mitochondrial percent, and finally, all local outliers. We’ll -then arrange these plots in a grid using -ggpubr::arrange.
plotQC
escheR
ggpubr::arrange
We can visualize the local outliers using the +plotQCmetrics function. This function creates a scatter +plot of the specified metric and highlights the local outliers in red +using the escheR package. Here, we’ll visualize local +outliers of library size, unique genes, mitochondrial percent, and +finally, all local outliers. We’ll then arrange these plots in a grid +using ggpubr::arrange.
plotQCmetrics
library(escheR)
## Loading required package: ggplot2
# all local outliers -plotQC(spe, metric = "sum_log", outliers = "local_outliers", point_size = 1.1, +plotQCmetrics(spe, metric = "sum_log", outliers = "local_outliers", point_size = 1.1, stroke = 0.75) + ggtitle("All Local Outliers")
-plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = NULL, point_size = 1.1 ) + @@ -283,7 +283,7 @@ Identifying artifacts using mito_percent) at -numerous neighorhood sizes (n_rings=5). Currently, +numerous neighorhood sizes (n_order=5). Currently, kmeans clustering is used to cluster the technical artifact vs high-quality Visium spots. Similar to localOutliers, the findArtifacts function then outputs the results to the @@ -293,7 +293,7 @@ Identifying artifacts using spe <- findArtifacts(spe, mito_percent = "expr_chrM_ratio", mito_sum = "expr_chrM", - n_rings = 5, + n_order = 5, name = "artifact" ) @@ -313,10 +313,10 @@ Identifying artifacts using Visualizing artifacts We can visualize the artifacts using the escheR package. -Here, we’ll visualize the artifacts using the plotQC +Here, we’ll visualize the artifacts using the plotQCmetrics function and arrange these plots using ggpubr::arrange. -plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = "artifact", point_size = 1.1 ) + @@ -325,9 +325,9 @@ Visualizing artifacts utils::sessionInfo() -## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61
plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = NULL, point_size = 1.1 ) + @@ -283,7 +283,7 @@ Identifying artifacts using mito_percent) at -numerous neighorhood sizes (n_rings=5). Currently, +numerous neighorhood sizes (n_order=5). Currently, kmeans clustering is used to cluster the technical artifact vs high-quality Visium spots. Similar to localOutliers, the findArtifacts function then outputs the results to the @@ -293,7 +293,7 @@ Identifying artifacts using spe <- findArtifacts(spe, mito_percent = "expr_chrM_ratio", mito_sum = "expr_chrM", - n_rings = 5, + n_order = 5, name = "artifact" ) @@ -313,10 +313,10 @@ Identifying artifacts using Visualizing artifacts We can visualize the artifacts using the escheR package. -Here, we’ll visualize the artifacts using the plotQC +Here, we’ll visualize the artifacts using the plotQCmetrics function and arrange these plots using ggpubr::arrange. -plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = "artifact", point_size = 1.1 ) + @@ -325,9 +325,9 @@ Visualizing artifacts utils::sessionInfo() -## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61
plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = NULL, point_size = 1.1 ) + @@ -283,7 +283,7 @@ Identifying artifacts using mito_percent
n_rings=5
n_order=5
kmeans
localOutliers
findArtifacts
We can visualize the artifacts using the escheR package. -Here, we’ll visualize the artifacts using the plotQC +Here, we’ll visualize the artifacts using the plotQCmetrics function and arrange these plots using ggpubr::arrange.
-plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = "artifact", point_size = 1.1 ) + @@ -325,9 +325,9 @@ Visualizing artifacts utils::sessionInfo() -## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61
plotQC(spe, +plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = "artifact", point_size = 1.1 ) + @@ -325,9 +325,9 @@ Visualizing artifacts utils::sessionInfo() -## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61
plotQCmetrics(spe, metric = "expr_chrM_ratio", outliers = "artifact", point_size = 1.1 ) + @@ -325,9 +325,9 @@ Visualizing artifacts utils::sessionInfo() -## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61
utils::sessionInfo()
## R version 4.4.1 (2024-06-14) +## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2 +## [1] DBI_1.2.3 rlang_1.1.4 magrittr_2.0.3 +## [4] spatialEco_2.0-2 compiler_4.4.2 RSQLite_2.3.7 +## [7] png_0.1-8 systemfonts_1.1.0 vctrs_0.6.5 +## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0 +## [13] magick_2.8.5 XVector_0.46.0 labeling_0.4.3 +## [16] scuttle_1.16.0 utf8_1.2.4 rmarkdown_2.29 +## [19] UCSC.utils_1.2.0 ragg_1.3.3 purrr_1.0.2 +## [22] bit_4.5.0 xfun_0.49 beachmat_2.22.0 +## [25] zlibbioc_1.52.0 cachem_1.1.0 jsonlite_1.8.9 +## [28] blob_1.2.4 highr_0.11 DelayedArray_0.32.0 +## [31] BiocParallel_1.40.0 terra_1.7-83 parallel_4.4.2 +## [34] R6_2.5.1 bslib_0.8.0 jquerylib_0.1.4 +## [37] Rcpp_1.0.13-1 bookdown_0.41 knitr_1.48 +## [40] Matrix_1.7-1 tidyselect_1.2.1 abind_1.4-8 +## [43] yaml_2.3.10 codetools_0.2-20 curl_6.0.0 +## [46] lattice_0.22-6 tibble_3.2.1 withr_3.0.2 +## [49] KEGGREST_1.46.0 evaluate_1.0.1 desc_1.4.3 +## [52] Biostrings_2.74.0 pillar_1.9.0 BiocManager_1.30.25 +## [55] filelock_1.0.3 generics_0.1.3 BiocVersion_3.20.0 +## [58] munsell_0.5.1 scales_1.3.0 glue_1.8.0 +## [61] tools_4.4.2 BiocNeighbors_2.0.0 fs_1.6.5 +## [64] grid_4.4.2 AnnotationDbi_1.68.0 colorspace_2.1-1 +## [67] GenomeInfoDbData_1.2.13 cli_3.6.3 rappdirs_0.3.3 +## [70] textshaping_0.4.0 fansi_1.0.6 viridisLite_0.4.2 +## [73] S4Arrays_1.6.0 dplyr_1.1.4 gtable_0.3.6 +## [76] sass_0.4.9 digest_0.6.37 SparseArray_1.6.0 +## [79] farver_2.1.2 rjson_0.2.23 memoise_2.0.1 +## [82] htmltools_0.5.8.1 pkgdown_2.1.1 lifecycle_1.0.4 +## [85] httr_1.4.7 mime_0.12 bit64_4.5.2 +## [88] MASS_7.3-61
## R version 4.4.2 (2024-10-31) ## Platform: x86_64-pc-linux-gnu -## Running under: Ubuntu 22.04.4 LTS +## Running under: Ubuntu 22.04.5 LTS ## ## Matrix products: default ## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 @@ -347,63 +347,48 @@ Visualizing artifacts## [8] base ## ## other attached packages: -## [1] escheR_1.4.0 ggplot2_3.5.1 -## [3] STexampleData_1.12.3 SpatialExperiment_1.14.0 -## [5] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -## [7] Biobase_2.64.0 GenomicRanges_1.56.1 -## [9] GenomeInfoDb_1.40.1 IRanges_2.38.1 -## [11] S4Vectors_0.42.1 MatrixGenerics_1.16.0 -## [13] matrixStats_1.3.0 ExperimentHub_2.12.0 -## [15] AnnotationHub_3.12.0 BiocFileCache_2.12.0 -## [17] dbplyr_2.5.0 BiocGenerics_0.50.0 -## [19] SpotSweeper_1.1.2 BiocStyle_2.32.1 +## [1] escheR_1.6.0 ggplot2_3.5.1 +## [3] STexampleData_1.14.0 SpatialExperiment_1.16.0 +## [5] SingleCellExperiment_1.28.0 SummarizedExperiment_1.36.0 +## [7] Biobase_2.66.0 GenomicRanges_1.58.0 +## [9] GenomeInfoDb_1.42.0 IRanges_2.40.0 +## [11] S4Vectors_0.44.0 MatrixGenerics_1.18.0 +## [13] matrixStats_1.4.1 ExperimentHub_2.14.0 +## [15] AnnotationHub_3.14.0 BiocFileCache_2.14.0 +## [17] dbplyr_2.5.0 BiocGenerics_0.52.0 +## [19] SpotSweeper_1.3.1 BiocStyle_2.34.0 ## ## loaded via a namespace (and not attached): -## [1] DBI_1.2.3 rlang_1.1.4 -## [3] magrittr_2.0.3 spatialEco_2.0-2 -## [5] compiler_4.4.1 RSQLite_2.3.7 -## [7] DelayedMatrixStats_1.26.0 png_0.1-8 -## [9] systemfonts_1.1.0 vctrs_0.6.5 -## [11] pkgconfig_2.0.3 crayon_1.5.3 -## [13] fastmap_1.2.0 magick_2.8.4 -## [15] XVector_0.44.0 labeling_0.4.3 -## [17] scuttle_1.14.0 utf8_1.2.4 -## [19] rmarkdown_2.27 UCSC.utils_1.0.0 -## [21] ragg_1.3.2 purrr_1.0.2 -## [23] bit_4.0.5 xfun_0.46 -## [25] beachmat_2.20.0 zlibbioc_1.50.0 -## [27] cachem_1.1.0 jsonlite_1.8.8 -## [29] blob_1.2.4 highr_0.11 -## [31] DelayedArray_0.30.1 BiocParallel_1.38.0 -## [33] terra_1.7-78 parallel_4.4.1 -## [35] R6_2.5.1 bslib_0.7.0 -## [37] jquerylib_0.1.4 Rcpp_1.0.13 -## [39] bookdown_0.40 knitr_1.48 -## [41] Matrix_1.7-0 tidyselect_1.2.1 -## [43] abind_1.4-5 yaml_2.3.9 -## [45] codetools_0.2-20 curl_5.2.1 -## [47] lattice_0.22-6 tibble_3.2.1 -## [49] withr_3.0.0 KEGGREST_1.44.1 -## [51] evaluate_0.24.0 desc_1.4.3 -## [53] Biostrings_2.72.1 pillar_1.9.0 -## [55] BiocManager_1.30.23 filelock_1.0.3 -## [57] generics_0.1.3 BiocVersion_3.19.1 -## [59] sparseMatrixStats_1.16.0 munsell_0.5.1 -## [61] scales_1.3.0 glue_1.7.0 -## [63] tools_4.4.1 BiocNeighbors_1.22.0 -## [65] fs_1.6.4 grid_4.4.1 -## [67] AnnotationDbi_1.66.0 colorspace_2.1-0 -## [69] GenomeInfoDbData_1.2.12 cli_3.6.3 -## [71] rappdirs_0.3.3 textshaping_0.4.0 -## [73] fansi_1.0.6 viridisLite_0.4.2 -## [75] S4Arrays_1.4.1 dplyr_1.1.4 -## [77] gtable_0.3.5 sass_0.4.9 -## [79] digest_0.6.36 SparseArray_1.4.8 -## [81] farver_2.1.2 rjson_0.2.21 -## [83] memoise_2.0.1 htmltools_0.5.8.1 -## [85] pkgdown_2.1.0 lifecycle_1.0.4 -## [87] httr_1.4.7 mime_0.12 -## [89] bit64_4.0.5 MASS_7.3-60.2
NEWS.md
The number of rings for local mito variance calculation. +
The number of orders for local mito variance calculation. Default is 5.
The shape of the neighborhood for local variance calculation. +Can be either 'hexagonal' or 'square'. Default is 'hexagonal'.
Logical, indicating whether to log1p transform mito_percent. Default is TRUE.
plotQCmetrics()
SpatialExperiment object
SpatialExperiment or SingleCellExperiment object
Cutoff for outlier detection (default is 3)
Matrix of spatial coordinates for neighborhood calculation
Number of workers for parallel processing (default is 1)
SpatialExperiment object with updated colData containing outputs
SpatialExperiment or SingleCellExperiment object with updated colData containing outputs
This function does calculates the local variance based on kNN.
This function calculates the local variance based on kNN.
metric to use for variance calculation
Metric to use for variance calculation
Name of the new column to add to colData
Number of workers to use for parallel computation
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
Qkb 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
=kgcdf0ZK+=7r9*ikC*}rN80Ony*_VbE| zX?Yr^gbajT49ARjgAe2&t(IXfHeU#ZpV$wdZZmb8TtJ~z*(O^{=f369_G7zz5TgM_ z@wgA9oU}#!`42h?zuCI{mm~?_2PT2NnC=I$%iEe+rH{z^MPy1aN@sF2lT39k;d zF(&V{d>p_xJ0L&MxqSEcfvUl6@ZMOlVsz{P(pJf!=pMK!l}y zeuVt`rZ!=^A8dv$a`jtfZA`b4EI9YW@~;C>Lt|a^ff{!WAi~kd1rxB;w;Y(Vz?i95 z04#@eLj$8p-!O~mD@n1)eCytw(`2f-@kK&h>-3kO`jj)FQBB*{3f#4e=(m>O)$ZqKh=w85dM}q#u z8}fWCnL(|>u_HTTc4=uNWYPrm{^<`MT$RTAFm=hs?PQ|pncmVNpk_)pAqZpt_&oE( z9iNTEcYHvRKv6e|8sa0)S<^GIzkWn+;(S{1fB4XzsJ2958s440OQ%DA#ct+-bPe6E z9K5J#C?z`4AQVC2SXV1g+U2Sk`$y=h@YULh_`)^MymsZJ)Dw*6`6X4duD-G3(`_7LM6fMN z;LgusM23MQ?&MI2Q{eB9hvLM|O&vz66jqGMmq3#42?~ab$XekMDm6&v>i*I^pRwVc_;DZJciLb<@CH6#8n)k#mX+fSV()M|(`Q zG;De*262>{o3@!?xxbQx{^1&_5`+qG{X6vM&z}S&)23kjFT`(c#eqdABYF|udt%-- zTHX<7R_EFw8aVEo+%x?)ouW+KL65=HUc;)X)r^4n^nT3Lo9@bdmPV zqxa#8o&5h8(7XSe_*#k9Sj=Tk0%O6lDDuTb%hGVeTA=TH2erO1ma?Hj?6CU6hOP6_ zm5Gj#G_W=z1XDv!0&Zwkl1`3;iAU=)GO&xZiPxiZp2d4r<<7>%oD|D!hK{G_Hn{ZK zn6yazxLBVEO`)0hDv{{n!54u*o>}qWuPSmYRwe>DcK1W!hzF3j133$cqXz4`Uldux z*<Id{**_n$OkEVjU_Xai;QbLR#K7wQPrt~RVt2h1U<(do)Pw#qkln9~+&Mc9NcpUl=@n$^=h8KC`IY$C%|USN zyr*N?U)4>=(J%*aAZH~<C!SpxDkjPzF_Gcf1dh z0b(k?mo5YUhpCJ6ziRY?-e^VQ1VL~LC!Hvg@de@`hX54UL4x$UuA}VKt}Qw_!gbR@ zM)bi5V7wBBbH=tfj;UO1UJCT{TdoFtb^>)x=@u_Ce+tAQV27VY0;PL3xqy;#K<v|lRwJ~V9?V6u>T(5tKI*DHsS+!7z$bsNKH)!44lm5n;52~(a`Em}a|VPqqA)0MgvmBXt;mO}~x zn{7PP{_Y{M>TRo#w}N*L5_fnT^sV1CkDX^;}=x(cZFna^SO>n5pxGFy4bt zKy>v0koK~tN&g1T+Py2VLak-RBft$|23}wrs8Q~^`L)pY4c)f&j6}By&>=G@Ndpwd zJl#2h{J}k9NN3QQ)Wm^d*EbTV=)U}on}wa|)lTIa=c4-`U?cOAgT^SP%L91guL;n} z1AxqH0Q)F{Un`skkN-IXQeu+RCOAihAeFb1NF;iHqEd%!EG^4ll$3aDl9W&Uin3^{ zS5a2xPzRi)3h-}Rw=|-o)c7`wGb@*QUhB^{HQCu?a=_QN!&c!1SRj}=>c(|k8B{(;Wbrh^_6cl@7MUC~b(Ao#y;}{?UKaS=1K3FK?s*a?-bhJF zS<9x(dLZ|xN9Y@B35R0b1D{r+xIvOR38Qo$-MUG3vMDsmL7+8Z=Z=%ZT|c6%T)DrY zp4;;!c`62)2p^`$&c(^+lPk{}ZqW5EmuW$GnH3hJci??MoQ?G1!{OSCZhBsa@N#sE z$v*~eypP*oP9Y~t&ZMk|)CHI={Mb3klCAig17XM6vTA?%HBvmg$wzqVnH2VsTEtT+ zl2eKl+a%dQ)L%GzrKK=wSIFk*T#P#x;_5Q|bLmL5GoK26;l9PZnY}_P;^qs^D(_j@f_o2<69MMNn?e*G2Y) z>l4IDgMe0Ubi52t0Y@AMDF}Ie>qrV07Z+YsTDmYDjf*97(i(Yb1b@q&LY|neu48OK zh(|%?^sKZr>m!wqv6~M*uAuxL3cCo8wlZm(;IBox@cf+)*)+hu6M%H3b^OT{FcMwo zZs0;JY(JikL??n|)E|*grHGM6;Nsa^v@xS9gpR*5WO+#)^NkbFnI~9Dlg;hZqcW(GpOhh7!n}bnEI^>;(=?hSMKw zE32ocq)O@J$z*oocWkad3wGxt^?AA58VgpaN9p-q5;w7gY4J|UtO|YV=j)e|k@Lx` zPm}yaNUB)E%{&hd#6cpbMPxG(&_6GWwjIJDs7L|!^?S5mTr!Rz3n{X@(39X}ESkMe zj|pXcY>E!02c=eTZxY+%2#EH`O-hkpIm}W=v41+dc~Q!>()C>R;M`wU>>0(CJy|Kp z2(-)Xkm4Z%NOzh(=ov8$7Ll4vJDZ>vSYY>GvIG&a8jFUA;lA!TDF1rMA}EjY0oA9F zb;j3@(!KVD_B$O#(-oFeHlkpgfACWkd}4BJJSh!uGnFmH~?mxX~;b21;E3_OqQ#Dpa5zZPp7`_)cbRvx4mNHp#Jrbr2?jMrcF3WrUG5_3HXQ(N3a(%OE>=ow2c-Ijf+$zi;R>$ zziZL<0Fcw`sP!rx89nc+nuW(FB9fbTGtkeH`z>Ip#1tT&8E?a%6%}2T_BP|s^Y}Xh zE9@{*V%Fux!7o4h)Tz^t)_lVw{p5eUJYzJcpz7V6*-amoaJ&1IjV&6J2qH zVROsVZsp+Tc11J|))yj+dOm;Fq$h!h8|0gI67Jc65p)AEuSo0zVy&Ju(!l<15CZG# zACg~JR4AP=e6uGzzvBjZ3QUVneUQgMAFHp|Ea+^@?>5TEu|dUEC$s>R2w-Lr*5NP+ zi$P;>;|ThJTqAqQ0o*3=OIr&Df5G=ICz`W{s@R*e`+nTdSdGYvFF)hpu*1KV@$q@|UnO++ zwndvKao&_5gl&PUv5J&%Sge^6{yfd|(4~7nhiNYh#IGD&+#BT?lR|OyJD%|d>4*#` ze?HNpgaCi0=-_^?&kS)vS{jA_E%9LV=wAzk|9W|>QF(~EBnt`T#Q@S95rsH+C(IH`W*x;29b#vc=Lo-KD^K!COHa2+%R3fJW|A*Y zq=d)ZxuXVkU|2P5Dvfb80%V=f2}-tx-}G3_8>s?7Ja^u=_#XK)%fmNMS+Li@Xmn5?Qq{?1BjWea&!;5f59ORwU8*}QZ@l6y<*JUC zP`oNeqPJ*EK{2$uY%5Dk&u|*|SRfTH6A_wOavTj_EZ(Z&*7o+Hj?iR6MkuZ=9yGao z8h(iYx$Q;UO13=}+*m^Bi4!M+umq;9wNqYi5pQUOw%(T&zXr*F3drN#D8a-Rl_)`! zFAz$fePC6It{YQ*mRfI&q}ATO5Lf@_^XYb!)4N!nAjOp}S_9$)3r-~$DhHUJ6{G>N zli6CkW|q2<2}(1FZl&b`$s+>j0qS4Hm8a7^`Qgk+dy3pHA1OTYSuR9UV8ARUV+WD@ zx006mBKJf6a-`v}iUBiLvoBkPYH&>-+2vR2g+l*y8>CVuKBcFiM%#S-ur0s9Q@eEo zULn1b@jo#t&KMl;=UHGP2)ox^uK9qY0 zY^2%8D}N|?6yiBZ^$RmTQBSiaxj^@)C7Sb$b+g8}XRAT!lR7Ro>7R|yxiiAVdC&kB zzxW$V6Rt{0N~W@nQcgPK(xB?B(c+42P_I>Qy-g->vSJxXg2;0<^TY_s2&ll{J^|sl zoyb4@P>?WwB^clY0f3QVk4T92`gH-<_PNr_#uRR_iDY&6scabW@MykHqk^6d{5AYFZM z|9)EPIf&lhjU(#>wkoWQ08F>7j$Cwe3;GTO^`rx9M$UyOK3nuVCA-Rmie$2EbU0-AX=52xz`8M+)toF~&_dCxRAK&g>uvgmQP zKtzo|anHw?s}MDtsA@n$JSX^j7gdUps-QKkCr)4yJL)4#GqcD0Z!Za&3>mG$%=imz zWv`fz=7eZw`2;~8q|BmEM@8OEGO_o|mxl^h_mK)ALhdX$jjs!9_xCvyJ04m%*q=Wy zphxIV%NvK-(kWgXD^GvKa}Q7nXNwV1s5Up)rElpe?`Z|KPY|sQ+$q4@P_s__o?G8&i@ z5_WEpC!}WEEx}*kO_h6krInQGl80Zwmt1TWAgg;L%@IwQ6p}@GJ-jv0>gDNcL zo~~>>dx8J`gA2za&i9px%gWB@00Vdt>u+=Q^bV6#bdrVZs5LNcQ}3w#22;H1?Rc*SGdjLQ>n?%0*T&RT1XOqsmD=jH0M1Qn8`apGwLe*O9#Rgh}Nuw~!bvj9g-^FTK0XSmVt6V0{b2w%G{9|)r>+s_|A*xSn>P)0V{ zHI(tO8_RY%Q19;i`ui}}{k^@9q;l=zM#aa*;HEAGg-4W_z@@|e7lfdmNTSHP#>Oe= zn0lb~+oqgj!TQnL|82za9zdvmHN(otb*^r6;6@A#478f4&*SanS9qJ{Gm|YiaXASD ztKOj@J4mU-BcE+QCPKIw0q!&ysc{d&FOi&LxIqL1fhGJdW^FM6Qa$;gkla?hs)Z%s zF_!^}z4Oqbj}X-JH`QCqhBnPw+Pv z!R13KnfG~`#7D=^wi{$}3=?{aV9Eg;nc3a7=Klk>CKU0Os)kpfU&SxPa9v5R|9d z%dFz`5qVhm_2N0FxmOpisb|hEwkEc`n5y0(w~t@9yK-4cMWtRY^7RQopHHU-A2Fd$ zbAW0pEV>yp{b6&7BHM=|C+TUyJa zO;nXep9DrV*6#$Ea&f#SLe@Mb|QfpdqPz@m4IQ~}p|m|@g9%61|iR7y7?1(QglNkno5GqbYl zqbX}x+S4zn7_U49+Tkgf_s>5ah?%0mZqrzrA__Tu<^H{pc@HX-H)`c+QM(We^ zfdL^x%)P?RF^5`QuiqrhR=jUFCemFZ(IZ&u#6iqMN?!0x+>)7lE?etM)&RgSQ3w^NF;P|_NXD`~j)Xua zO_jpc*YU0TxC0tjezZ8Ey1?PP&P%Gl-5tK*_ol#$w&iDi%K^t8oATqAP$&S*psEa7Rk&U3Flt3S2)hcUtK z=BG_=rGc7Wr+>AtwV+vnrQze{uB<%wc{j|L91h=~lgpGBs0c`^e>?RyIW?x;R75CvDp*D463G!Q~2!Did zzdGrz{d$t9SuJGX_CGDa@nC4iYq?FhVJ6v&S5&NkEGQ@G|4=ds{j(Z>9qMAbfUl{4 zzaZmS_tpRub4h4tJ%0E>pCi%23V0ykucAqNF=4ua6L9stAqe#>9DLKKd;vbOk%v3M zkU7zA<@F*qXAv+ZjBcp+@!AM4FO{X2dHO3sM}7HS8R_yfXZn`M{!bau)1UX;{G;e$IUm}wkVtVq zNu1DJ88NM0sQ)XL73xP+q@2>6RL{cm&4~ZLj->yPbiN%)QStoXA1w zF$~c6=KQav3cz%re*zBhNy{77Aynx+zu9$ISvjCUr|%j*C>*lyG#>Y9pS)|a^J#X~ z#oC4K5I&sMDJ3T?KhMKa+7sm@2B!u(8~4;P zKK3N`W4imV^p-JRQ35iIiv$NwNR1b&dVY&mJwV5zA)#03Ogyt4c8ffNvE|M;+)t9W ze(906q{JYSTYTmVEA{};K-2fpxXjydZotNEMCTKI?(0-vnWZ5#qI0_0>eL0Is|Lmu z`Ece7zI?g&5PovsJwII}n=wkFHGAP;^ifk5j4Az?QlvMJBu; zi}GZguc}e$6B|-+RPZwhe5@qK8mYRJ;H27RH+|IWljegChQZ3c=_i+z_6q*@5tgsY zR2mTxq03P1Kdrd;@BZR+pdEgW?S`scqDm2W9s>i!1}c>^3=M%ZWQxzi=iJlAAo%;o z;>z?s=X+VPTJvuG4Mged)EXe}QjmiC?Gx2<4rb^;=;Oj6`P@gl@e#L&8UVl$fwOk0uRr?xJjoc zlNzjv2`!P-qGfI#Blue_{noo;QWf4z9g%8#4!XQ^RJ-hg-J6t@qCQ;imJo1JwH|3B zI%AVKBfw|d@-#4)6I;)!7+=Nr<`14@!F0~ujvzn5qWj*vvcA-@Li)aa`@GvB&JHBk%W^>aINs*yai{*d zroI4M9yQ_nJt21fGs6LMn6;@8zP3!!70hf@<- zAB(*I)~ak=(>w0x5fBhiNl+5fc46N(>`_{9A%aI_GnMQtYb%Uvc*VKo|)vAV(^tKkNNu1e+UjpM2IZnC*9b8E|mNvfvy#AN>zo zuYS%$%nrzf*jS7Q-{+Vc2JgkZME~&qn*R4+6uR`+#DsVB0K?`aIAabQ^=zqdQ%~Wp zCz0u>TaiuQP*UUdCK{`~tB6%zT_XQ&g$ESJTWKD<-yE1}S1VeDyfrh=T zewIBIRmfX5Wv+Q`2*vBCs?!Y5J&>)GtUFA7gc^0xdk#S(3M(Oc+f@+M03z2NH#U5@ zAvi=bIfy&^8gP2S8F?N(7e*w#G;5HCGF8uWCWIpERmgPF|3J3BAd0zcrXiq>#TUKh zMIm_}B?QT2eMVt?sg1^Y!#4td7xc7T_}>S%U=kr0;-P2^A{dV^%va5{B}--sFmeEU zXWcO$=udz~33VC}d9*x45`?0#n!V8VkBq6M|amhI(Y)y;y(y zkx{=lB?$ccGD!W>`(T2NCwJ&it&ABo%fAA}>rfmQ-^^L6di(6^P7Boq@z;|ybTW2! z{t;%}Bt~W)#|SV|(Wyi_Er%!)?nw zqj>xNPriMwD>|>9Q{R#(H$?q4UIn*J^J7AP`@Q*$vg7ZwLC((jz4?pj&calS4;x|d z^*(7t38JRlqk}il4f}92@2Fh9Kino9h_sA)p)qx9@f^T9PWDu&Q8pq&&SG1niJ3CF zzniHCF|i|OpLp0hA}WvPCYL5}UkEuxs6{=+uUzO+3i`Lb)7pKs(?W5j27w^1FNfc{ z`$%9`QH$a3gVf7l&zFvr1pQhIRT)IWD(pY?5Vt2X;}&h_kF?{69fxwB0P_)%v@ApD zNFQ=Zo8Y*80VaZ6I6;OUP?^Ljwt_nPMLuGOc#b%7%%W|BoEg4p1Q9K4pw>87T|z^6 z^T|_nk^>?n0jNZi%ycLXIHV$qVuSAX0MnEmqtitio=Z=YdhZBkN+gCUL9L9I@D_;EYiO@pJ5jJfv>%%2!2*%gQf=on(mS#43p{3(DJHoF? zi`!~XmO0%Y5K8YnIkIyxZK44h{621O?l?Hdirl>}k<+Ok$A5(pvy=|*dQGH8u&Gh6&^+ z$b147f#ljwntB4qH{6&X2RMV3WY5*e(3KB?&NVQyg=zolyq7Epar9R9{id!HGB0-R zx5{Y;;w{tQh|5UTfcptTfB%;+pCoc>k>g*#bWrnYX0iuuEywW-K9?@3*Mg?k65~1a zZRrG@9ybiJ-nVt?j^Z8fXJkB&77h5l=#dtF|8U6d71?SZF+L|i36&ygaTBJcs@N05X ztAXkd*Dw)jY1>o$z=HGm^wS4{$qyfj!HWDszSO3?LJK)bg$aX^mU}Fgvw%@N`{c`V zKVaT#{~@6CBb}vlLeKn$qqj~vI5-@`Tf#RKvFKS7epUi|FhWlPeZ|E?5)$F>sLf9_ zfH;n%u)$GvgFlyk0k_G}&2i`5P3_U^F#D3;M@B~CQB<8@3lBb0s{kC-ApJ!Qff^!H z9LayqQi2mfEeILYqLC*L<>TitBqYi50;*XlY zEc@%9ub9_ETE=Ojrf~M957I;juXAVi66;XebIYHu!EM7MEg2c5Lp-P<1eTXZhTpQt zvRTU~ zi>7fu8Bom%l1_~6&bv*BK_<=lTaBad#wPC|f{cqEL}K1)mMb!03K?4#ZE|pG=Ihpl zHAnuVBzolNZP9(QZWGB`Zt>M6ohMJ7dM284fyI7Xmfq~Khpi%J`18!hbFmzi0Q-J~ z-D%`v&!If+t^~yD7Hd5Y7IX2x9#IIRBA>{ zK^g_reDTx})IgaI%ThJ^hd-8}h!+NXX4TUqOLQYyG{+Po4K&%)?}Jdd62y127*CUm z+mP3k8PIobi;z)L4&UTQ&K*6Et2<{r)B*6C_Y}sJ$9t7HPwBy&`8LA?Cew-@(v1x`)M#$o$s>a?xzq7bMq^@r%uIy=gk$0 zSU!?N@!HqmNXt5&Mi*XuOi~`8^_sW9t$q1`YvVtY=Y95Kpj1e@!Zum*rhId-adl z!)g7>8=2M*5v){4e4TY(P?47z7~>xp5~a^S}u%csOlmj*TheJf=-5 zAxw4U2b2iMKVYAO%NOus_utG*_y?^Tpl$dNb@wMx=pTuo^4?@s%YX(S9?c5^t)l_H zzU#)2NE4umFSWX>NOFLEVo2P{zZK>N`?D0vBR4`O8ov6K1-+9c1Yw%Ak;Y3e+oGP z9V8FHiCn0y&Ju`sfqtq3uHp^)hK!eyR6DU;b!Y~zR}I#3+~ep>eoJ}qU?m)uV19JD zx{I;?Dcpg~d-qlCv^Ht5_TmK0D zmh2lBh(dSM)6WB1^pX(id}y<^tNuYsN{|5N3fN<8uq_7&nU|P#Z2q>oy1B_QlHe1L z7tdiN?}QHg2&{>Q>;)w{c_{Wf>==!Ga~J5=X~#G2&-2I=KIZqdW85#4O8tq8r6hv5 z);uuql~k@jn3Ox=%;QOV^6N*j6s^xna~?fPrnsDHnpEDnXD9lD<$Lff503`cK9b7aS7@VEW6AUSgCjk37HuC1{z>HP=zESV|Bt6H z0f(|*|9{3hWt+)b$ubI)WEpEI;*lbI60%lf-x5(`$~H>0NX8l>sq9OVr4TV<5{fJ> zmO^BWEdP6c=bZms*E#QXy~)eW^L(HC{;Va9(?O0#=<~;aF;0&Y=h%to`3N4J^jux) zA()qazdl(`V#`hRy<9ugs7uAr(~hD4V2bAjo68k^%17UKrXaB?f<&COP>o&J5{0yb zlHnO35is>CzM;rrc?AV+0SM4Gm~g#?nL1`-va$B#p6OxstUXq-Iup{UqDb20^1se= zV>f5pRmPX1qoY?q3iNAFuBhNf3NTs_!6$_jHY%udB2M1$5Y??84i_UWvp;10H2No4 zX!%!<=fgaA;i}aQ`Nd!@qd^edf65c*c9YfY_xEMNhy4V3pWvrPb@KoRR=A4sq-^f9At>s*Le7Y4?VioUeR~gI zRHSNbWNKovAF4aT4u#4|ZG(?d3GONbmTL$Qw57G@ZHzEK444@~0iQq?SkRInuE4C} z7REQ`f z)j(c?p?#>8?s*a>Nn!c+3wnP-*!&6-FJPvMq*)t+jJuC21>jvyB&jyiO=HR;hs`wX zQu03ceE;*RiEjNlHr7q=^5xYKuvx_TXZ!OTZ{ALv^CXTY?5$9o|EWv$jGZ{nzOD{S zYYwP!>LWUS>_8Of<-_X3^~5rHh?FSnC0%R@13r*<(+P?n9fe8x8g z#EB{R+B|{2f^r&v`r7tv1NCIOR#4Z&Bg05Tfz{ItHbu?1pAQ;$Yk_MsOO-h$W7$}Y zTzX8<<%Auozs@74U-*4J4#y$lXCV+mqU~gep2|giJ3cGJ9g~wQ8Xr5 z_65#VdJhzm$JFsFSBW~PI=ExoOFvwH?Q|S&5-y}L_QKLC81jabQ&R^(hl6&T)c0g2L85RFt}V|^q%CTrp36-4-vg;^lqZ z+)nGDddZr?I<(;#$9kA`mFQnC|N5Mooc#AF%s;6#PJ)-N)VY0*F{k)Hq2(&j!V_CK zDHVx(e4MzBmY2ZQZves_9u5D3%6@Rthl5TICD-93%U<23)f*iZ|)Ts+y{~O<3{|}IB^t}P&dl3?6m1w&BZ@o`SCFK0g#5wo+Ve#pHznzdk zb&{}}3SOb4e1eefS|;w>9<)Ae&^BC<)RIQ=KH{t){Y^=KT{{w|{=G@-TfSS0 zTI=YA=ayPmBKjt;s;AX@az!QG<%#KE&;<9CGQ}QidZ@n`^j?Q}7x!55CFjwiC#+{p zb-K%cgU^YJp?2j34|=i-`i+FURrqwCU-L5nB!vgx9B01etZh<{DpVe;%Kq?Do@XJB zRsiYDiN9J#^=9U)fP_L!*7csd$ocbFlWufOTr0%_6A!LleZxbn2R z&Q+2oqS9&Km!%cpJ1@u}2r6^WZzJ`m%hd zwh+%>l1-^`zFM#0p~V(Gof6s-bqeAZ}UKhNrMq~7@$ERgB=qodG?rQj%|2*2=;5y z>G;AQ$W#7w#7;>F6 zTr>8`nq>Mrh1@PZ$VriM_67G+0$9)fz$E3sjQ09%2VLGA6jx{Mg@;DO%&?JboG*2z zgBr!fgGa6zfrhXs>K4#|kf#A3a|R*uuZ#;=j&2`8I}>)Q@5eW!Zgm|F?y<67_lIcH zT5r0DdMjZ-_qQ2gr5Tl5v(Lxct=C0*7?C1Js{Y`?e(#^@R7GzWtt_De)4%@pgpV zK_eNYDxG~>O?Cbq-6`fR^7bqO!{bbXGmwoE+3v77x=wwmE;H|2)TE|YTp`1WNQZSn z{7HVkB5frAWxATOn1d~-?K+o}&X3|47t!!%HV|4eKEI0@At4NKP$RDS3y=1DF36#Z zq@^F(^
}=>c(|k8B{(;Wbrh^_6cl@7MUC~b(Ao#y;}{?UKaS=1K3FK?s*a?-bhJF zS<9x(dLZ|xN9Y@B35R0b1D{r+xIvOR38Qo$-MUG3vMDsmL7+8Z=Z=%ZT|c6%T)DrY zp4;;!c`62)2p^`$&c(^+lPk{}ZqW5EmuW$GnH3hJci??MoQ?G1!{OSCZhBsa@N#sE z$v*~eypP*oP9Y~t&ZMk|)CHI={Mb3klCAig17XM6vTA?%HBvmg$wzqVnH2VsTEtT+ zl2eKl+a%dQ)L%GzrKK=wSIFk*T#P#x;_5Q|bLmL5GoK26;l9PZnY}_P;^qs^D(_j@f_o2<69MMNn?e*G2Y) z>l4IDgMe0Ubi52t0Y@AMDF}Ie>qrV07Z+YsTDmYDjf*97(i(Yb1b@q&LY|neu48OK zh(|%?^sKZr>m!wqv6~M*uAuxL3cCo8wlZm(;IBox@cf+)*)+hu6M%H3b^OT{FcMwo zZs0;JY(JikL??n|)E|*grHGM6;Nsa^v@xS9gpR*5WO+#)^NkbFnI~9Dlg;hZqcW(GpOhh7!n}bnEI^>;(=?hSMKw zE32ocq)O@J$z*oocWkad3wGxt^?AA58VgpaN9p-q5;w7gY4J|UtO|YV=j)e|k@Lx` zPm}yaNUB)E%{&hd#6cpbMPxG(&_6GWwjIJDs7L|!^?S5mTr!Rz3n{X@(39X}ESkMe zj|pXcY>E!02c=eTZxY+%2#EH`O-hkpIm}W=v41+dc~Q!>()C>R;M`wU>>0(CJy|Kp z2(-)Xkm4Z%NOzh(=ov8$7Ll4vJDZ>vSYY>GvIG&a8jFUA;lA!TDF1rMA}EjY0oA9F zb;j3@(!KVD_B$O#(-oFeHlkpgfACWkd}4BJJSh!uGnFmH~?mxX~;b21;E3_OqQ#Dpa5zZPp7`_)cbRvx4mNHp#Jrbr2?jMrcF3WrUG5_3HXQ(N3a(%OE>=ow2c-Ijf+$zi;R>$ zziZL<0Fcw`sP!rx89nc+nuW(FB9fbTGtkeH`z>Ip#1tT&8E?a%6%}2T_BP|s^Y}Xh zE9@{*V%Fux!7o4h)Tz^t)_lVw{p5eUJYzJcpz7V6*-amoaJ&1IjV&6J2qH zVROsVZsp+Tc11J|))yj+dOm;Fq$h!h8|0gI67Jc65p)AEuSo0zVy&Ju(!l<15CZG# zACg~JR4AP=e6uGzzvBjZ3QUVneUQgMAFHp|Ea+^@?>5TEu|dUEC$s>R2w-Lr*5NP+ zi$P;>;|ThJTqAqQ0o*3=OIr&Df5G=ICz`W{s@R*e`+nTdSdGYvFF)hpu*1KV@$q@|UnO++ zwndvKao&_5gl&PUv5J&%Sge^6{yfd|(4~7nhiNYh#IGD&+#BT?lR|OyJD%|d>4*#` ze?HNpgaCi0=-_^?&kS)vS{jA_E%9LV=wAzk|9W|>QF(~EBnt`T#Q@S95rsH+C(IH`W*x;29b#vc=Lo-KD^K!COHa2+%R3fJW|A*Y zq=d)ZxuXVkU|2P5Dvfb80%V=f2}-tx-}G3_8>s?7Ja^u=_#XK)%fmNMS+Li@Xmn5?Qq{?1BjWea&!;5f59ORwU8*}QZ@l6y<*JUC zP`oNeqPJ*EK{2$uY%5Dk&u|*|SRfTH6A_wOavTj_EZ(Z&*7o+Hj?iR6MkuZ=9yGao z8h(iYx$Q;UO13=}+*m^Bi4!M+umq;9wNqYi5pQUOw%(T&zXr*F3drN#D8a-Rl_)`! zFAz$fePC6It{YQ*mRfI&q}ATO5Lf@_^XYb!)4N!nAjOp}S_9$)3r-~$DhHUJ6{G>N zli6CkW|q2<2}(1FZl&b`$s+>j0qS4Hm8a7^`Qgk+dy3pHA1OTYSuR9UV8ARUV+WD@ zx006mBKJf6a-`v}iUBiLvoBkPYH&>-+2vR2g+l*y8>CVuKBcFiM%#S-ur0s9Q@eEo zULn1b@jo#t&KMl;=UHGP2)ox^uK9qY0 zY^2%8D}N|?6yiBZ^$RmTQBSiaxj^@)C7Sb$b+g8}XRAT!lR7Ro>7R|yxiiAVdC&kB zzxW$V6Rt{0N~W@nQcgPK(xB?B(c+42P_I>Qy-g->vSJxXg2;0<^TY_s2&ll{J^|sl zoyb4@P>?WwB^clY0f3QVk4T92`gH-<_PNr_#uRR_iDY&6scabW@MykHqk^6d{5AYFZM z|9)EPIf&lhjU(#>wkoWQ08F>7j$Cwe3;GTO^`rx9M$UyOK3nuVCA-Rmie$2EbU0-AX=52xz`8M+)toF~&_dCxRAK&g>uvgmQP zKtzo|anHw?s}MDtsA@n$JSX^j7gdUps-QKkCr)4yJL)4#GqcD0Z!Za&3>mG$%=imz zWv`fz=7eZw`2;~8q|BmEM@8OEGO_o|mxl^h_mK)ALhdX$jjs!9_xCvyJ04m%*q=Wy zphxIV%NvK-(kWgXD^GvKa}Q7nXNwV1s5Up)rElpe?`Z|KPY|sQ+$q4@P_s__o?G8&i@ z5_WEpC!}WEEx}*kO_h6krInQGl80Zwmt1TWAgg;L%@IwQ6p}@GJ-jv0>gDNcL zo~~>>dx8J`gA2za&i9px%gWB@00Vdt>u+=Q^bV6#bdrVZs5LNcQ}3w#22;H1?Rc*SGdjLQ>n?%0*T&RT1XOqsmD=jH0M1Qn8`apGwLe*O9#Rgh}Nuw~!bvj9g-^FTK0XSmVt6V0{b2w%G{9|)r>+s_|A*xSn>P)0V{ zHI(tO8_RY%Q19;i`ui}}{k^@9q;l=zM#aa*;HEAGg-4W_z@@|e7lfdmNTSHP#>Oe= zn0lb~+oqgj!TQnL|82za9zdvmHN(otb*^r6;6@A#478f4&*SanS9qJ{Gm|YiaXASD ztKOj@J4mU-BcE+QCPKIw0q!&ysc{d&FOi&LxIqL1fhGJdW^FM6Qa$;gkla?hs)Z%s zF_!^}z4Oqbj}X-JH`QCqhBnPw+Pv z!R13KnfG~`#7D=^wi{$}3=?{aV9Eg;nc3a7=Klk>CKU0Os)kpfU&SxPa9v5R|9d z%dFz`5qVhm_2N0FxmOpisb|hEwkEc`n5y0(w~t@9yK-4cMWtRY^7RQopHHU-A2Fd$ zbAW0pEV>yp{b6&7BHM=|C+TUyJa zO;nXep9DrV*6#$Ea&f#SLe@Mb|QfpdqPz@m4IQ~}p|m|@g9%61|iR7y7?1(QglNkno5GqbYl zqbX}x+S4zn7_U49+Tkgf_s>5ah?%0mZqrzrA__Tu<^H{pc@HX-H)`c+QM(We^ zfdL^x%)P?RF^5`QuiqrhR=jUFCemFZ(IZ&u#6iqMN?!0x+>)7lE?etM)&RgSQ3w^NF;P|_NXD`~j)Xua zO_jpc*YU0TxC0tjezZ8Ey1?PP&P%Gl-5tK*_ol#$w&iDi%K^t8oATqAP$&S*psEa7Rk&U3Flt3S2)hcUtK z=BG_=rGc7Wr+>AtwV+vnrQze{uB<%wc{j|L91h=~lgpGBs0c`^e>?RyIW?x;R75CvDp*D463G!Q~2!Did zzdGrz{d$t9SuJGX_CGDa@nC4iYq?FhVJ6v&S5&NkEGQ@G|4=ds{j(Z>9qMAbfUl{4 zzaZmS_tpRub4h4tJ%0E>pCi%23V0ykucAqNF=4ua6L9stAqe#>9DLKKd;vbOk%v3M zkU7zA<@F*qXAv+ZjBcp+@!AM4FO{X2dHO3sM}7HS8R_yfXZn`M{!bau)1UX;{G;e$IUm}wkVtVq zNu1DJ88NM0sQ)XL73xP+q@2>6RL{cm&4~ZLj->yPbiN%)QStoXA1w zF$~c6=KQav3cz%re*zBhNy{77Aynx+zu9$ISvjCUr|%j*C>*lyG#>Y9pS)|a^J#X~ z#oC4K5I&sMDJ3T?KhMKa+7sm@2B!u(8~4;P zKK3N`W4imV^p-JRQ35iIiv$NwNR1b&dVY&mJwV5zA)#03Ogyt4c8ffNvE|M;+)t9W ze(906q{JYSTYTmVEA{};K-2fpxXjydZotNEMCTKI?(0-vnWZ5#qI0_0>eL0Is|Lmu z`Ece7zI?g&5PovsJwII}n=wkFHGAP;^ifk5j4Az?QlvMJBu; zi}GZguc}e$6B|-+RPZwhe5@qK8mYRJ;H27RH+|IWljegChQZ3c=_i+z_6q*@5tgsY zR2mTxq03P1Kdrd;@BZR+pdEgW?S`scqDm2W9s>i!1}c>^3=M%ZWQxzi=iJlAAo%;o z;>z?s=X+VPTJvuG4Mged)EXe}QjmiC?Gx2<4rb^;=;Oj6`P@gl@e#L&8UVl$fwOk0uRr?xJjoc zlNzjv2`!P-qGfI#Blue_{noo;QWf4z9g%8#4!XQ^RJ-hg-J6t@qCQ;imJo1JwH|3B zI%AVKBfw|d@-#4)6I;)!7+=Nr<`14@!F0~ujvzn5qWj*vvcA-@Li)aa`@GvB&JHBk%W^>aINs*yai{*d zroI4M9yQ_nJt21fGs6LMn6;@8zP3!!70hf@<- zAB(*I)~ak=(>w0x5fBhiNl+5fc46N(>`_{9A%aI_GnMQtYb%Uvc*VKo|)vAV(^tKkNNu1e+UjpM2IZnC*9b8E|mNvfvy#AN>zo zuYS%$%nrzf*jS7Q-{+Vc2JgkZME~&qn*R4+6uR`+#DsVB0K?`aIAabQ^=zqdQ%~Wp zCz0u>TaiuQP*UUdCK{`~tB6%zT_XQ&g$ESJTWKD<-yE1}S1VeDyfrh=T zewIBIRmfX5Wv+Q`2*vBCs?!Y5J&>)GtUFA7gc^0xdk#S(3M(Oc+f@+M03z2NH#U5@ zAvi=bIfy&^8gP2S8F?N(7e*w#G;5HCGF8uWCWIpERmgPF|3J3BAd0zcrXiq>#TUKh zMIm_}B?QT2eMVt?sg1^Y!#4td7xc7T_}>S%U=kr0;-P2^A{dV^%va5{B}--sFmeEU zXWcO$=udz~33VC}d9*x45`?0#n!V8VkBq6M|amhI(Y)y;y(y zkx{=lB?$ccGD!W>`(T2NCwJ&it&ABo%fAA}>rfmQ-^^L6di(6^P7Boq@z;|ybTW2! z{t;%}Bt~W)#|SV|(Wyi_Er%!)?nw zqj>xNPriMwD>|>9Q{R#(H$?q4UIn*J^J7AP`@Q*$vg7ZwLC((jz4?pj&calS4;x|d z^*(7t38JRlqk}il4f}92@2Fh9Kino9h_sA)p)qx9@f^T9PWDu&Q8pq&&SG1niJ3CF zzniHCF|i|OpLp0hA}WvPCYL5}UkEuxs6{=+uUzO+3i`Lb)7pKs(?W5j27w^1FNfc{ z`$%9`QH$a3gVf7l&zFvr1pQhIRT)IWD(pY?5Vt2X;}&h_kF?{69fxwB0P_)%v@ApD zNFQ=Zo8Y*80VaZ6I6;OUP?^Ljwt_nPMLuGOc#b%7%%W|BoEg4p1Q9K4pw>87T|z^6 z^T|_nk^>?n0jNZi%ycLXIHV$qVuSAX0MnEmqtitio=Z=YdhZBkN+gCUL9L9I@D_;EYiO@pJ5jJfv>%%2!2*%gQf=on(mS#43p{3(DJHoF? zi`!~XmO0%Y5K8YnIkIyxZK44h{621O?l?Hdirl>}k<+Ok$A5(pvy=|*dQGH8u&Gh6&^+ z$b147f#ljwntB4qH{6&X2RMV3WY5*e(3KB?&NVQyg=zolyq7Epar9R9{id!HGB0-R zx5{Y;;w{tQh|5UTfcptTfB%;+pCoc>k>g*#bWrnYX0iuuEywW-K9?@3*Mg?k65~1a zZRrG@9ybiJ-nVt?j^Z8fXJkB&77h5l=#dtF|8U6d71?SZF+L|i36&ygaTBJcs@N05X ztAXkd*Dw)jY1>o$z=HGm^wS4{$qyfj!HWDszSO3?LJK)bg$aX^mU}Fgvw%@N`{c`V zKVaT#{~@6CBb}vlLeKn$qqj~vI5-@`Tf#RKvFKS7epUi|FhWlPeZ|E?5)$F>sLf9_ zfH;n%u)$GvgFlyk0k_G}&2i`5P3_U^F#D3;M@B~CQB<8@3lBb0s{kC-ApJ!Qff^!H z9LayqQi2mfEeILYqLC*L<>TitBqYi50;*XlY zEc@%9ub9_ETE=Ojrf~M957I;juXAVi66;XebIYHu!EM7MEg2c5Lp-P<1eTXZhTpQt zvRTU~ zi>7fu8Bom%l1_~6&bv*BK_<=lTaBad#wPC|f{cqEL}K1)mMb!03K?4#ZE|pG=Ihpl zHAnuVBzolNZP9(QZWGB`Zt>M6ohMJ7dM284fyI7Xmfq~Khpi%J`18!hbFmzi0Q-J~ z-D%`v&!If+t^~yD7Hd5Y7IX2x9#IIRBA>{ zK^g_reDTx})IgaI%ThJ^hd-8}h!+NXX4TUqOLQYyG{+Po4K&%)?}Jdd62y127*CUm z+mP3k8PIobi;z)L4&UTQ&K*6Et2<{r)B*6C_Y}sJ$9t7HPwBy&`8LA?Cew-@(v1x`)M#$o$s>a?xzq7bMq^@r%uIy=gk$0 zSU!?N@!HqmNXt5&Mi*XuOi~`8^_sW9t$q1`YvVtY=Y95Kpj1e@!Zum*rhId-adl z!)g7>8=2M*5v){4e4TY(P?47z7~>xp5~a^S}u%csOlmj*TheJf=-5 zAxw4U2b2iMKVYAO%NOus_utG*_y?^Tpl$dNb@wMx=pTuo^4?@s%YX(S9?c5^t)l_H zzU#)2NE4umFSWX>NOFLEVo2P{zZK>N`?D0vBR4`O8ov6K1-+9c1Yw%Ak;Y3e+oGP z9V8FHiCn0y&Ju`sfqtq3uHp^)hK!eyR6DU;b!Y~zR}I#3+~ep>eoJ}qU?m)uV19JD zx{I;?Dcpg~d-qlCv^Ht5_TmK0D zmh2lBh(dSM)6WB1^pX(id}y<^tNuYsN{|5N3fN<8uq_7&nU|P#Z2q>oy1B_QlHe1L z7tdiN?}QHg2&{>Q>;)w{c_{Wf>==!Ga~J5=X~#G2&-2I=KIZqdW85#4O8tq8r6hv5 z);uuql~k@jn3Ox=%;QOV^6N*j6s^xna~?fPrnsDHnpEDnXD9lD<$Lff503`cK9b7aS7@VEW6AUSgCjk37HuC1{z>HP=zESV|Bt6H z0f(|*|9{3hWt+)b$ubI)WEpEI;*lbI60%lf-x5(`$~H>0NX8l>sq9OVr4TV<5{fJ> zmO^BWEdP6c=bZms*E#QXy~)eW^L(HC{;Va9(?O0#=<~;aF;0&Y=h%to`3N4J^jux) zA()qazdl(`V#`hRy<9ugs7uAr(~hD4V2bAjo68k^%17UKrXaB?f<&COP>o&J5{0yb zlHnO35is>CzM;rrc?AV+0SM4Gm~g#?nL1`-va$B#p6OxstUXq-Iup{UqDb20^1se= zV>f5pRmPX1qoY?q3iNAFuBhNf3NTs_!6$_jHY%udB2M1$5Y??84i_UWvp;10H2No4 zX!%!<=fgaA;i}aQ`Nd!@qd^edf65c*c9YfY_xEMNhy4V3pWvrPb@KoRR=A4sq-^f9At>s*Le7Y4?VioUeR~gI zRHSNbWNKovAF4aT4u#4|ZG(?d3GONbmTL$Qw57G@ZHzEK444@~0iQq?SkRInuE4C} z7REQ`f z)j(c?p?#>8?s*a>Nn!c+3wnP-*!&6-FJPvMq*)t+jJuC21>jvyB&jyiO=HR;hs`wX zQu03ceE;*RiEjNlHr7q=^5xYKuvx_TXZ!OTZ{ALv^CXTY?5$9o|EWv$jGZ{nzOD{S zYYwP!>LWUS>_8Of<-_X3^~5rHh?FSnC0%R@13r*<(+P?n9fe8x8g z#EB{R+B|{2f^r&v`r7tv1NCIOR#4Z&Bg05Tfz{ItHbu?1pAQ;$Yk_MsOO-h$W7$}Y zTzX8<<%Auozs@74U-*4J4#y$lXCV+mqU~gep2|giJ3cGJ9g~wQ8Xr5 z_65#VdJhzm$JFsFSBW~PI=ExoOFvwH?Q|S&5-y}L_QKLC81jabQ&R^(hl6&T)c0g2L85RFt}V|^q%CTrp36-4-vg;^lqZ z+)nGDddZr?I<(;#$9kA`mFQnC|N5Mooc#AF%s;6#PJ)-N)VY0*F{k)Hq2(&j!V_CK zDHVx(e4MzBmY2ZQZves_9u5D3%6@Rthl5TICD-93%U<23)f*iZ|)Ts+y{~O<3{|}IB^t}P&dl3?6m1w&BZ@o`SCFK0g#5wo+Ve#pHznzdk zb&{}}3SOb4e1eefS|;w>9<)Ae&^BC<)RIQ=KH{t){Y^=KT{{w|{=G@-TfSS0 zTI=YA=ayPmBKjt;s;AX@az!QG<%#KE&;<9CGQ}QidZ@n`^j?Q}7x!55CFjwiC#+{p zb-K%cgU^YJp?2j34|=i-`i+FURrqwCU-L5nB!vgx9B01etZh<{DpVe;%Kq?Do@XJB zRsiYDiN9J#^=9U)fP_L!*7csd$ocbFlWufOTr0%_6A!LleZxbn2R z&Q+2oqS9&Km!%cpJ1@u}2r6^WZzJ`m%hd zwh+%>l1-^`zFM#0p~V(Gof6s-bqeAZ}UKhNrMq~7@$ERgB=qodG?rQj%|2*2=;5y z>G;AQ$W#7w#7;>F6 zTr>8`nq>Mrh1@PZ$VriM_67G+0$9)fz$E3sjQ09%2VLGA6jx{Mg@;DO%&?JboG*2z zgBr!fgGa6zfrhXs>K4#|kf#A3a|R*uuZ#;=j&2`8I}>)Q@5eW!Zgm|F?y<67_lIcH zT5r0DdMjZ-_qQ2gr5Tl5v(Lxct=C0*7?C1Js{Y`?e(#^@R7GzWtt_De)4%@pgpV zK_eNYDxG~>O?Cbq-6`fR^7bqO!{bbXGmwoE+3v77x=wwmE;H|2)TE|YTp`1WNQZSn z{7HVkB5frAWxATOn1d~-?K+o}&X3|47t!!%HV|4eKEI0@At4NKP$RDS3y=1DF36#Z zq@^F(^