Skip to contents

Create a giottoPoints object that is used to represent subcellular point-type features. The main values are contained within the spatVector slot, which should contain spatial point data and also an associated set of attributes for at least feat_ID (name of the feature being described) and feat_ID_uniq (a unique integer identifier for each specific point).

Usage

# S4 method for SpatVector
createGiottoPoints(
  x,
  feat_type = "rna",
  verbose = TRUE,
  split_keyword = NULL,
  unique_IDs = NULL
)

# S4 method for data.frame
createGiottoPoints(
  x,
  x_colname = NULL,
  y_colname = NULL,
  feat_ID_colname = NULL,
  feat_type = "rna",
  verbose = TRUE,
  split_keyword = NULL,
  unique_IDs = NULL
)

Arguments

x

spatVector or data.frame-like object with points coordinate information (x, y, feat_ID)

feat_type

character. feature type. Provide more than one value if using the split_keyword param. For each set of keywords to split by, an additional feat_type should be provided in the same order.

verbose

be verbose

split_keyword

list of character vectors of keywords to split the giottoPoints object based on their feat_ID. Keywords will be grepl() matched against the feature IDs information.

unique_IDs

(optional) character vector of unique IDs present within the spatVector data. Provided for cacheing purposes

x_colname

column name for x-coordinates

y_colname

column name for y-coordinates

feat_ID_colname

column name for feature ids

Value

giottoPoints

Details

Using the manual option where you can select the names of the x, y, and feat_ID columns is not compatible with a data.frame that already has the names x, y, and/or feat_ID.

Examples

# data.frame input
x <- data.frame(
    ID = letters[1:6],
    x = 1:6,
    y = 6:1
)
gpoints <- createGiottoPoints(x)
#>   Selecting col "ID" as feat_ID column
#>   Selecting cols "x" and "y" as x and y respectively
plot(gpoints,
    raster = FALSE, # don't plot with rasterization or it will be hard to see
    cex = 0.5
)


# with a split_keyword
# Use this when values to read in contain multiple sets of information that
# should be put into separate objects.
gp_list <- createGiottoPoints(x,
    feat_type = c("feat_a", "feat_b"),
    split_keyword = list(c("b", "c"))
)
#>   Selecting col "ID" as feat_ID column
#>   Selecting cols "x" and "y" as x and y respectively
force(gp_list)
#> $feat_a
#> An object of class giottoPoints
#> feat_type : "feat_a"
#> Feature Information:
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 4, 2  (geometries, attributes)
#>  extent      : 1, 6, 1, 6  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : feat_ID feat_ID_uniq
#>  type        :   <chr>        <int>
#>  values      :       a            1
#>                      d            4
#>                      e            5
#> 
#> 
#> $feat_b
#> An object of class giottoPoints
#> feat_type : "feat_b"
#> Feature Information:
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 2, 2  (geometries, attributes)
#>  extent      : 2, 3, 4, 5  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : feat_ID feat_ID_uniq
#>  type        :   <chr>        <int>
#>  values      :       b            2
#>                      c            3
#> 
#> 

# subsetting
gpoints[c(1, 3)] # numerical
#> An object of class giottoPoints
#> feat_type : "rna"
#> Feature Information:
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 2, 2  (geometries, attributes)
#>  extent      : 1, 3, 4, 6  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : feat_ID feat_ID_uniq
#>  type        :   <chr>        <int>
#>  values      :       a            1
#>                      c            3
#> 
gpoints[c(TRUE, FALSE, FALSE)] # logical
#> An object of class giottoPoints
#> feat_type : "rna"
#> Feature Information:
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 2, 2  (geometries, attributes)
#>  extent      : 1, 4, 3, 6  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : feat_ID feat_ID_uniq
#>  type        :   <chr>        <int>
#>  values      :       a            1
#>                      d            4
#> 
gpoints[c("a", "f")] # character subsetting is keyed on feat_ID attribute
#> An object of class giottoPoints
#> feat_type : "rna"
#> Feature Information:
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 2, 2  (geometries, attributes)
#>  extent      : 1, 6, 1, 6  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : feat_ID feat_ID_uniq
#>  type        :   <chr>        <int>
#>  values      :       a            1
#>                      f            6
#> 
gpoints[] # drop to SpatVector
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 6, 2  (geometries, attributes)
#>  extent      : 1, 6, 1, 6  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : feat_ID feat_ID_uniq
#>  type        :   <chr>        <int>
#>  values      :       a            1
#>                      b            2
#>                      c            3