-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariants_test.R
102 lines (92 loc) · 3.95 KB
/
variants_test.R
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
## use rank ANOVA to measure importance
library(matrixStats)
library(cluster)
library(nnet)
library(Matrix)
library(mclust)
library(SC3)
library(Seurat)
library(Rtsne)
library(scater)
library(tictoc)
args = commandArgs(trailingOnly=TRUE)
scalematrix <- function(data) {
cm <- rowMeans(data)
csd <- rowSds(data, center = cm)
csd[which(csd==0)]=0.001
(data - cm) / csd
}
source('impacc.R')
source('impacc_variants.R')
dd = args[1]
print(dd)
dat=readRDS(paste0('data/',dd,'.rds'))
sc_scale = dat$sc_cnt
sc_label = dat$sc_label
K=length(unique(sc_label))
for (j in c(1:10)){
print('rank')
res = list()
tic.clearlog()
tic()
css= IMPACC_rankANOVA(d=sc_scale,K=K,reps=500)
toc(log = TRUE)
res$IMPACC_rankANOVA= list(ARI_hc=adjustedRandIndex(css$labels,sc_label),
ARI_spec =adjustedRandIndex(sc_label,IMPACC_cluster(css$ConsensusMatrix,K,'spectral')),
cluster = css$labels,
time = as.numeric(gsub("[^0-9.]", "", unlist(tic.log(format = TRUE)))),
feature_importance=css$feature_importance,
mat = css$ConsensusMatrix,
stop_point=css$nIter)
saveRDS(res,paste0('results/variants_',dd,'_',j,'.rds'))
print('mn')
tic.clearlog()
tic()
css= IMPACC_multinomial(d=sc_scale,K=K,reps=500)
toc(log = TRUE)
res$IMPACC_multinomial= list(ARI_hc=adjustedRandIndex(css$labels,sc_label),
ARI_spec =adjustedRandIndex(sc_label,IMPACC_cluster(css$ConsensusMatrix,K,'spectral')),
cluster = css$labels,
time = as.numeric(gsub("[^0-9.]", "", unlist(tic.log(format = TRUE)))),
feature_importance=css$feature_importance,
mat = css$ConsensusMatrix,
stop_point=css$nIter)
saveRDS(res,paste0('results/variants_',dd,'_',j,'.rds'))
tic.clearlog()
tic()
css= IMPACC_silh(d=sc_scale,K=K,reps=500)
toc(log = TRUE)
res$IMPACC_silh= list(ARI_hc=adjustedRandIndex(css$labels,sc_label),
ARI_spec =adjustedRandIndex(sc_label,IMPACC_cluster(css$ConsensusMatrix,K,'spectral')),
cluster = css$labels,
time = as.numeric(gsub("[^0-9.]", "", unlist(tic.log(format = TRUE)))),
feature_importance=css$feature_importance,
mat = css$ConsensusMatrix,
stop_point=css$nIter)
saveRDS(res,paste0('results/variants_',dd,'_',j,'.rds'))
print('oracle')
tic.clearlog()
tic()
css= IMPACC_oracle(d=sc_scale,K=K,reps=500)
toc(log = TRUE)
res$IMPACC_oracle= list(ARI_hc=adjustedRandIndex(css$labels,sc_label),
ARI_spec =adjustedRandIndex(sc_label,IMPACC_cluster(css$ConsensusMatrix,K,'spectral')),
cluster = css$labels,
time = as.numeric(gsub("[^0-9.]", "", unlist(tic.log(format = TRUE)))),
feature_importance=css$feature_importance,
mat = css$ConsensusMatrix,
stop_point=css$nIter)
saveRDS(res,paste0('results/variants_',dd,'_',j,'.rds'))
tic.clearlog()
tic()
css= IMPACC(d=sc_scale,K=K,reps=500)
toc(log = TRUE)
res$IMPACC= list(ARI_hc=adjustedRandIndex(css$labels,sc_label),
ARI_spec =adjustedRandIndex(sc_label,IMPACC_cluster(css$ConsensusMatrix,K,'spectral')),
cluster = css$labels,
time = as.numeric(gsub("[^0-9.]", "", unlist(tic.log(format = TRUE)))),
feature_importance=css$feature_importance,
mat = css$ConsensusMatrix,
stop_point=css$nIter)
saveRDS(res,paste0('results/variants_',dd,'_',j,'.rds'))
}