Add info about how spots overlap among capture areas
Source:R/add_overlap_info.R
add_overlap_info.Rd
Given a SpatialExperiment-class
and column name in its colData
,
return a modified copy of the SpatialExperiment
with additional colData
columns: spe$exclude_overlapping
and spe$overlap_key
.
Arguments
- spe
A SpatialExperiment-class with
colData(spe)
columnsarray_row
,array_col
,key
, andcapture_area
.- metric_name
character(1)
incolnames(colData(spe))
, where spots belonging to the capture area with highest average value for the metric take precedence over other spots.
Value
A SpatialExperiment
object with additional colData
columns spe$exclude_overlapping
and spe$overlap_key
.
Details
spe$exclude_overlapping
is TRUE
for spots with a higher-quality
overlapping capture area and FALSE
otherwise.
vis_clus onlydisplays FALSE
spots to
prevent overplotting in regions of overlap. spe$overlap_key
gives
comma-separated strings containing the keys of any overlapping spots, and is
the empty string otherwise.
Examples
if (!exists("spe")) {
spe <- spatialLIBD::fetch_data(type = "visiumStitched_brain_spe")
}
#> 2024-10-24 20:15:21.971441 loading file /github/home/.cache/R/BiocFileCache/760d7e2c6_visiumStitched_brain_spe.rds%3Frlkey%3Dnq6a82u23xuu9hohr86oodwdi%26dl%3D1
# Find the mean of the 'sum_umi' metric by capture area to understand
# which capture areas will be excluded in regions of overlap
SummarizedExperiment::colData(spe) |>
dplyr::as_tibble() |>
dplyr::group_by(capture_area) |>
dplyr::summarize(mean_sum_umi = mean(sum_umi))
#> # A tibble: 3 × 2
#> capture_area mean_sum_umi
#> <fct> <dbl>
#> 1 V13B23-283_A1 2075.
#> 2 V13B23-283_C1 1188.
#> 3 V13B23-283_D1 2083.
spe <- add_overlap_info(spe, "sum_umi")
# See how many spots were excluded by capture area
table(spe$exclude_overlapping, spe$capture_area)
#>
#> V13B23-283_A1 V13B23-283_C1 V13B23-283_D1
#> FALSE 3920 4367 4596
#> TRUE 1032 50 0
# Examine how data about overlapping spots is stored (for the first
# few spots with overlap)
head(spe$overlap_key[spe$overlap_key != ""])
#> [1] "TCAGAACGGCGGTAAT-1_V13B23-283_D1,TGCCCGATAGTTAGAA-1_V13B23-283_D1"
#> [2] "CGACTTGCCGGGAAAT-1_V13B23-283_D1,TCATGAAGCGCTGCAT-1_V13B23-283_D1"
#> [3] "CCTTAAGTACGCAATT-1_V13B23-283_D1"
#> [4] "GAAGCCACTGATTATG-1_V13B23-283_D1"
#> [5] "ACTCAAGTGCAAGGCT-1_V13B23-283_D1"
#> [6] "GGCCTGCTTCTCCCGA-1_V13B23-283_D1"