-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path10_fig_S3_deconvolutionB.R
More file actions
77 lines (58 loc) · 2.24 KB
/
10_fig_S3_deconvolutionB.R
File metadata and controls
77 lines (58 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
library(spacedeconv)
library(SpatialExperiment)
library(decoupleR)
library(dplyr)
figures_dir <- "./export/figures"
objects_dir <- "./export/objects"
dir.create(figures_dir, showWarnings = FALSE, recursive = TRUE)
dir.create(objects_dir, showWarnings = FALSE, recursive = TRUE)
spe <- read10xVisium("./data/sudmeier/750/")
rownames(spe) <- rowData(spe)$symbol
spe <- preprocess(spe, min_umi = 87) # remove low count cells
spe <- spacedeconv::normalize(spe)
metadata <- read.csv("./data/TCR/Spatial_final_table.tsv", sep = "\t")
# filter only TCR clonotype
metadata <- dplyr::filter(metadata, grepl("TRB", metadata$Clonoytpe_ids))
metadata$barcode <- paste0(metadata$barcode, "-1")
metadata$Clonoytpe_ids <- make.names(metadata$Clonoytpe_ids)
metadata <- metadata[metadata$Sample == "16", ]
# add metadata to object
for (clonotype in unique(metadata$Clonoytpe_ids)) {
tmp <- metadata[metadata$Clonoytpe_ids == clonotype, ]
spe <- annotate_spots(spe, tmp$barcode, name = clonotype)
}
ref <- get_decoupleR_reference("progeny")
deconv <- spacedeconv::compute_activities(spe, ref)
ref <- get_decoupleR_reference("collectri")
deconv <- spacedeconv::compute_activities(deconv, ref)
saveRDS(deconv, file = "./export/objects/fig_S3B_decoupler.rds")
speTCR <- read10xVisium("./data/sudmeier/750/", images = "hires")
rownames(speTCR) <- rowData(speTCR)$symbol
for (spot in colnames(speTCR)) {
tmp <- metadata[metadata$barcode == spot, ]
umi <- sum(tmp$UMIs)
colData(speTCR)[spot, "UMITCR"] <- umi
}
library(DelayedArray)
library(S4Vectors)
for (nm in assayNames(speTCR)) {
assay(speTCR, nm) <- as.matrix(assay(speTCR, nm))
}
if ("imgData" %in% slotNames(speTCR)) {
imgData(speTCR) <- DataFrame()
}
saveRDS(speTCR, file = "./export/objects/fig_S3B_tcr.rds")
speTCR$UMIB <- colData(speTCR)$UMITCR >= 5
spe <- read10xVisium("./data/sudmeier/750/")
rownames(spe) <- rowData(spe)$symbol
spe <- preprocess(spe, min_umi = 87)
spe <- spacedeconv::normalize(spe)
deconvEPIC <- deconvolute(spe, method = "epic", assay_sp = "cpm", tumor = TRUE)
deconvQuanTIseq <- deconvolute(
spe,
method = "quantiseq",
assay_sp = "cpm",
tumor = TRUE
)
saveRDS(deconvEPIC, file = "./export/objects/fig_S3B_epic.rds")
saveRDS(deconvQuanTIseq, file = "./export/objects/fig_S3B_quantiseq.rds")