|
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")) |