|
a |
|
b/Cydar/01_fastMNN_ADT.R |
|
|
1 |
library(batchelor) |
|
|
2 |
library(scater) |
|
|
3 |
library(BiocParallel) |
|
|
4 |
library(BiocSingular) |
|
|
5 |
|
|
|
6 |
adtf <- "../../Newcastle/combined_dec_ADT_SCE.RDS" |
|
|
7 |
|
|
|
8 |
adt <- readRDS(adtf) |
|
|
9 |
|
|
|
10 |
# There are some samples with no antibody signal, cool |
|
|
11 |
rmSamples <- c("MH8919226","MH8919227","MH8919228","MH8919229","MH8919230","MH8919231","MH8919232","MH8919233") |
|
|
12 |
|
|
|
13 |
# removing doublets identified by Mike and Kelvin |
|
|
14 |
mk <- read.table("../data/doublets/Tcell_doublets.tsv",header=FALSE,sep="\t",stringsAsFactors=FALSE) |
|
|
15 |
kl <- read.csv("../data/doublets/Karsten_doublets.csv",stringsAsFactors=FALSE) |
|
|
16 |
dbls <- c(kl$doublets[kl$doublets!=""], mk$V1) |
|
|
17 |
|
|
|
18 |
rmBcs <- colnames(adt)[adt$initial_clustering=="Doublet" | adt$sample_id %in% rmSamples] |
|
|
19 |
rmBcs <- c(rmBcs,dbls) |
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
adt <- adt[,!colnames(adt) %in% rmBcs] |
|
|
24 |
|
|
|
25 |
set.seed(42) |
|
|
26 |
adt1 <- adt[,adt$Site=="Cambridge"] |
|
|
27 |
adt2 <- adt[,adt$Site=="Ncl"] |
|
|
28 |
adt3 <- adt[,adt$Site=="Sanger"] |
|
|
29 |
|
|
|
30 |
|
|
|
31 |
param <- MulticoreParam(workers=4) |
|
|
32 |
print("Starting MNN") |
|
|
33 |
set.seed(300) |
|
|
34 |
mnncor <- batchelor::fastMNN(adt2,adt1,adt3, |
|
|
35 |
BPPARAM=param, # commented this out for singularity |
|
|
36 |
k=20, |
|
|
37 |
d=50, |
|
|
38 |
merge.order=c(1,2,3), |
|
|
39 |
BSPARAM=IrlbaParam(deferred=TRUE), |
|
|
40 |
assay.type="counts", |
|
|
41 |
# BNPARAM=AnnoyParam(), |
|
|
42 |
cos.norm=TRUE, # prob necesarry |
|
|
43 |
correct.all=TRUE) |
|
|
44 |
print("Done MNN") |
|
|
45 |
|
|
|
46 |
m.cor <- assay(mnncor,"reconstructed") |
|
|
47 |
m.cor <- m.cor[,colnames(adt)] |
|
|
48 |
assay(adt,"reconstructed") <- m.cor |
|
|
49 |
saveRDS(adt,"../data/combined_dec_ADT_MNNcorrected.RDS") |