SegmentedCells: The SegmentedCells class

Description Usage Arguments Value Examples

View source: R/segmentedCells-class.R

Description

The SegmentedCells S4 class is for storing data from segmented imaging cytometry and spatial omics data. It extends DataFrame and defines methods that take advantage of DataFrame nesting to represent elements of cell-based experiments with spatial orientation that are commonly encountered. This object is able to store information on a cell's spatial location, cellType, morphology, intensity of gene/protein markers as well as image level phenotype information.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
SegmentedCells(
  cellData,
  cellProfiler = FALSE,
  spatialCoords = c("x", "y"),
  cellTypeString = "cellType",
  intensityString = "intensity_",
  morphologyString = "morphology_",
  phenotypeString = "phenotype_",
  cellIDString = "cellID",
  cellAnnotations = NULL,
  imageCellIDString = "imageCellID",
  imageIDString = "imageID"
)

Arguments

cellData

A data frame that contains at least the columns x and y giving the location coordinates of each cell.

cellProfiler

A logical indicating that cellData is in a format similar to what cellProfiler outputs.

spatialCoords

The column names corresponding to spatial coordinates. eg. x, y, z...

cellTypeString

The name of the column that contains cell type calls.

intensityString

A string which can be used to identify the columns which contain marker intensities. (This needs to be extended to take the column names themselves.)

morphologyString

A string which can be used to identify the columns which contains morphology information.

phenotypeString

A string which can be used to identify the columns which contains phenotype information.

cellIDString

The column name for cellID.

cellAnnotations

A vector of variables that provide additional annotation of a cell.

imageCellIDString

The column name for imageCellID.

imageIDString

The column name for imageIDString.

Value

A SegmentedCells object

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
### Something that resembles cellProfiler data

set.seed(51773)

n = 10

cells <- data.frame(row.names = seq_len(n))
cells$ObjectNumber <- seq_len(n)
cells$ImageNumber <- rep(seq_len(2),c(n/2,n/2))
cells$AreaShape_Center_X <- runif(n)
cells$AreaShape_Center_Y <- runif(n)
cells$AreaShape_round <- rexp(n)
cells$AreaShape_diameter <- rexp(n, 2)
cells$Intensity_Mean_CD8 <- rexp(n, 10)
cells$Intensity_Mean_CD4 <- rexp(n, 10)

cellExp <- SegmentedCells(cells, cellProfiler = TRUE)

### Cluster cell types
intensities <- cellMarks(cellExp)
kM <- kmeans(intensities,2)
cellType(cellExp) <- paste('cluster',kM$cluster, sep = '')
cellSummary(cellExp)

ellispatrick/spicyR documentation built on March 22, 2021, 2:26 a.m.