Switch to unified view

a b/tests/testthat/test-assay.R
1
# Testing functions of manipulating embeddings ####
2
test_that("add assay", {
3
  
4
  # get data
5
  data("xenium_data")
6
7
  # assay name and metadata
8
  assay <- vrAssayNames(xenium_data)
9
  sample_metadata <- SampleMetadata(xenium_data)
10
11
  # add cell assay
12
  new_assay <- formAssay(data = vrData(xenium_data),
13
                         coords = vrCoordinates(xenium_data), 
14
                         segments = vrSegments(xenium_data),
15
                         type = "cell",
16
                         image = vrImages(xenium_data),
17
                         main_image = vrMainImage(xenium_data[[assay]]),
18
                         name = assay)
19
  xenium_data2 <- addAssayVoltRon(xenium_data,
20
                                  assay = new_assay,
21
                                  assay_name = "Xenium",
22
                                  sample = sample_metadata[assay, "Sample"],
23
                                  layer = sample_metadata[assay, "Layer"])
24
  expect_equal(unique(Metadata(xenium_data2)$assay_id), c("Assay1", "Assay2"))
25
  
26
  # add cell assay with metadata
27
  metadata <- data.frame(points = vrSpatialPoints(xenium_data))
28
  xenium_data2 <- addAssayVoltRon(xenium_data,
29
                                   metadata = metadata,
30
                                   assay = new_assay,
31
                                   assay_name = "Xenium",
32
                                   sample = sample_metadata[assay, "Sample"],
33
                                   layer = sample_metadata[assay, "Layer"])
34
  expect_equal(unique(Metadata(xenium_data2)$assay_id), c("Assay1", "Assay2"))
35
  expect_true("points" %in% colnames(Metadata(xenium_data2)))
36
  
37
  # add ROI assay
38
  coords <- vrCoordinates(xenium_data)[1:2,,drop = FALSE]
39
  new_assay <- formAssay(coords = coords, 
40
                         segments = vrSegments(xenium_data)[1:2],
41
                         type = "ROI",
42
                         image = vrImages(xenium_data, assay = assay),
43
                         main_image = vrMainImage(xenium_data[[assay]]),
44
                         name = assay)
45
  metadata <- data.frame(check.rows = FALSE, row.names = rownames(coords), rep("art", nrow(coords)))
46
  colnames(metadata) <- "label"
47
  xenium_data2 <- addAssayVoltRon(xenium_data,
48
                                  assay = new_assay,
49
                                  metadata = metadata,
50
                                  assay_name = "random_ROI_assay",
51
                                  sample = sample_metadata[assay, "Sample"],
52
                                  layer = sample_metadata[assay, "Layer"])
53
  expect_true("label" %in% colnames(Metadata(xenium_data2, type = "ROI")))
54
  expect_true(nrow(Metadata(xenium_data2, type = "ROI")) == 2)
55
56
  # return
57
  expect_equal(1,1L)
58
})