a b/Cydar/02_CreateHyper.R
1
# ---- Load Data ----
2
library(scran)
3
library(scater)
4
library(randomForest)
5
library(ggplot2)
6
library(cowplot)
7
adtf <- "../data/combined_dec_ADT_MNNcorrected.RDS"
8
adt <- readRDS(adtf)
9
10
library(optparse)
11
12
parser <- OptionParser()
13
14
parser <- add_option(parser, c("-d", "--ds"), type="numeric",
15
                     help="Fraction of cells to use for initating spheres")
16
17
opt <- parse_args(parser)
18
19
# ---- Subset to D0 cells ----
20
21
# Rm patient with B-Cell Lymphoma
22
bc <- c("CV0198")
23
adt <- adt[,adt$patient_id != bc & ! (adt$Status_on_day_collection_summary %in% c("Non_covid","LPS")) & adt$Collection_Day =="D0"]
24
25
26
# removing anything with less than 500 cells
27
drpSmps <- names(which(table(adt$patient_id)<500))
28
adt <- adt[,!adt$patient_id %in% drpSmps]
29
30
colData(adt) <- droplevels(colData(adt))
31
32
m.adt <- assay(adt,"reconstructed")
33
34
# ---- CYDAR ----
35
library(cydar)
36
37
# Create list
38
smps <- as.character(unique(adt$patient_id))
39
40
41
mrks <- rownames(adt)
42
mrks <- mrks[!grepl("Iso",mrks)]
43
44
45
mtx.list <- lapply(smps, function(SMP) {
46
       cells <- colnames(adt)[adt$patient_id==SMP]
47
       message(SMP)
48
       m  <- t(m.adt[,cells])
49
       return(m)
50
})
51
names(mtx.list) <- smps
52
53
cd <- prepareCellData(mtx.list,markers=mrks)
54
55
distances <- neighborDistances(cd,as.tol=TRUE)
56
req <- 20
57
med <- round(median(distances[,req-1]),2)
58
59
library(BiocParallel)
60
param <- MulticoreParam(workers=3)
61
62
set.seed(42)
63
n <- opt$ds
64
cd <- countCells(cd, tol=med, downsample=n, BPPARAM=param)
65
66
saveRDS(cd,paste0("../data/HyperSpheres_",n,".RDS"))