count_within_batch.Rd
This is a batch version of count_within. Given the path to a directory
containing cell seg data files, for each given tissue category,
pair of
'from' phenotype and 'to' phenotype, and radius, it counts the number of
'from' cells
having a 'to' cell within radius
microns.
count_within_batch(base_path, pairs, radius, category = NA, phenotype_rules = NULL, verbose = TRUE)
base_path | Path to a directory containing at least
one |
---|---|
pairs | A list of pairs of phenotypes. Each entry is a two-element vector. The result will contain values for each pair. |
radius | The radius or radii to search within. |
category | Optional tissue categories to restrict both |
phenotype_rules | (Optional) A named list.
Item names are phenotype names and must match entries in |
verbose | If TRUE, display progress. |
A data_frame
containing these columns:
slide_id
Slide ID from the data files, if available.
source
Base file name of the source file with
_cell_seg_data.txt
stripped off for brevity.
category
Tissue category, if provided as a parameter, or "all".
from
From phenotype.
to
To phenotype.
radius
, from_count
, to_count
,
from_with
, within_mean
Results from count_within for this data file and tissue category.
The category
parameter may be a single category or a list of categories.
See the tutorial
Selecting cells within a cell segmentation table
for more on
the use of pairs
and phenotype_rules
.
Other distance functions: compute_all_nearest_distance
,
count_touching_cells
,
count_within
,
distance_matrix
,
find_nearest_distance
,
spatial_distribution_report
,
subset_distance_matrix
base_path <- sample_cell_seg_folder() # Count tumor cells near macrophages, and tumor cells near CD8 separately, # in tumor and stroma tissue categories separately. pairs <- list(c('CK+', 'CD68+'), c('CK+', 'CD8+')) radius <- c(10, 25) category <- list('Tumor', 'Stroma') count_within_batch(base_path, pairs, radius, category)#> Processing Set4_1-6plex_[16142,55840]#> # A tibble: 8 x 10 #> slide_id source category from to radius from_count to_count from_with #> <chr> <chr> <chr> <chr> <chr> <dbl> <int> <int> <int> #> 1 Set4_1-~ Set4_~ Tumor CK+ CD68+ 10 2192 101 79 #> 2 Set4_1-~ Set4_~ Tumor CK+ CD68+ 25 2192 101 397 #> 3 Set4_1-~ Set4_~ Tumor CK+ CD8+ 10 2192 51 63 #> 4 Set4_1-~ Set4_~ Tumor CK+ CD8+ 25 2192 51 320 #> 5 Set4_1-~ Set4_~ Stroma CK+ CD68+ 10 65 316 6 #> 6 Set4_1-~ Set4_~ Stroma CK+ CD68+ 25 65 316 34 #> 7 Set4_1-~ Set4_~ Stroma CK+ CD8+ 10 65 177 4 #> 8 Set4_1-~ Set4_~ Stroma CK+ CD8+ 25 65 177 22 #> # ... with 1 more variable: within_mean <dbl># Count tumor cells near any T cell in all tissue categories. # Use `phenotype_rules` to define the T cell phenotype pairs <- c('CK+', 'T cell') rules <- list( 'T cell'=c('CD8+', 'FoxP3+')) count_within_batch(base_path, pairs, radius, phenotype_rules=rules)#> Processing Set4_1-6plex_[16142,55840]#> # A tibble: 2 x 10 #> slide_id source category from to radius from_count to_count from_with #> <chr> <chr> <chr> <chr> <chr> <dbl> <int> <int> <int> #> 1 Set4_1-~ Set4_~ all CK+ T ce~ 10 2257 456 150 #> 2 Set4_1-~ Set4_~ all CK+ T ce~ 25 2257 456 824 #> # ... with 1 more variable: within_mean <dbl>