-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy path04.startrac.expansion.R
470 lines (398 loc) · 16.6 KB
/
04.startrac.expansion.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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
#---------- library -----------#
library(Seurat)
library(tidyverse)
library(reticulate)
library(RColorBrewer)
#---------- load data -----------#
tex.clones.pro1 <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/01.NSCLC1.rds.gz")
tex.clones.pro1 <- tex.clones.pro1 %>% dplyr::filter(clone == "Tex")
tibble(
patient = unique(tex.clones.pro1$patient),
response = c('PR',"PD","PR","pre","PR","pre","PR","PD","pre","PR","pre","PR","pre","PR","pre","PR","pre","PD","PD","PD")
) -> mda
pda <- tex.clones.pro1 %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient) %>%
dplyr::right_join(mda, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n))
View(pda)
pda %>%
dplyr::rename(size = n) %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("pre","PR","PD")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
#geom_crossbar(aes(ymin = mean+1, ymax = mean+1), width = 0.6, lwd = 0.5) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_fill_manual(values = c("#009ACD", "#CD2626", "#EE799F")) +
scale_color_manual(values = c("#009ACD", "#CD2626", "#EE799F"))
wilcox.test(pda$n[pda$response == "PD"], pda$n[pda$response == "PR"])
t.test(pda$n[pda$response == "PD"], pda$n[pda$response == "PR"])
#---------- NSCLC2 -----------#
tex.clones.pro2 <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/02.NSCLC2.new.rds.gz")
rep.data <- tibble(
patient = c("MD01-004","MD01-005","MD01-010","MD01-019","MD01-024","MD043-003","MD043-006",
"MD043-008","MD043-011","NY016-007","NY016-014","NY016-015","NY016-021","NY016-022","NY016-025"),
response = c('non-MPR','MPR','MPR','non-MPR','non-MPR','MPR','non-MPR','MPR','non-MPR','non-MPR',
'non-MPR','non-MPR','non-MPR','MPR','MPR')
)
pda <- tex.clones.pro2 %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient) %>%
tidyr::separate(patient, c('patient',"tumor","num"), sep = "\\.") %>%
dplyr::group_by(patient) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::right_join(rep.data, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n))
pda %>%
dplyr::rename(size = n) %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("MPR","non-MPR")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#CD2626","#009ACD"))
wilcox.test(pda$n[pda$response == "MPR"], pda$n[pda$response != "MPR"])
#---------- BCC -----------#
tex.clones.pro <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/03.BCC.rds.gz")
rep.data <- tibble(patient = unique(tex.clones.pro$patient)) %>%
dplyr::mutate(response = ifelse(patient %in% c("su001","su002","su003","su004","su009","su012"), "PR", "PD"))
pda <- tex.clones.pro %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 1) %>%
dplyr::count(patient, treatment) %>%
dplyr::group_by(patient, treatment) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::right_join(rep.data, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n)) %>%
dplyr::ungroup()
pda$treatment[16] <- "pre"
pda$treatment[is.na(pda$treatment)] = "pre"
pda <- pda %>%
dplyr::ungroup() %>%
#dplyr::mutate(resp = paste0(response, ".", treatment)) %>%
#dplyr::select(patient, n, resp) %>%
tidyr::spread(key = treatment, value = n) %>%
dplyr::mutate_if(is.double, .funs = function(.x){ifelse(is.na(.x), 0, .x)}) %>%
tidyr::gather(key = "treatment", value = "n", -patient, -response)
pda <- pda %>%
dplyr::rename(size = n) %>%
dplyr::mutate(response = paste0(response, ".", treatment))
View(pda)
pda %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("PR.pre","PR.post","PD.pre","PD.post")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#009ACD", "#4F94CD", "#CD2626", "#EE799F"))
uniq.resp <- unique(pda$response)
wilcox.test(pda$size[pda$response == uniq.resp[4]], pda$size[pda$response == uniq.resp[1]])
t.test(pda$size[pda$response == uniq.resp[4]], pda$size[pda$response == uniq.resp[1]])
#---------- SCC -----------#
tex.clones.pro <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/04.SCC.rds.gz")
rep.data <- tibble(patient = unique(tex.clones.pro$patient)) %>%
dplyr::mutate(response = ifelse(patient %in% c("su010","su011"), "PR", "PD"))
pda <- tex.clones.pro %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient, treatment) %>%
dplyr::group_by(patient, treatment) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::right_join(rep.data, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n)) %>%
dplyr::ungroup()
pda <- pda %>%
dplyr::ungroup() %>%
#dplyr::mutate(resp = paste0(response, ".", treatment)) %>%
#dplyr::select(patient, n, resp) %>%
tidyr::spread(key = treatment, value = n) %>%
dplyr::mutate_if(is.double, .funs = function(.x){ifelse(is.na(.x), 0, .x)}) %>%
tidyr::gather(key = "treatment", value = "n", -patient, -response)
pda <- pda %>%
dplyr::rename(size = n) %>%
dplyr::mutate(response = paste0(response, ".", treatment))
View(pda)
pda %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("PR.pre","PR.post","PD.pre","PD.post")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#009ACD", "#4F94CD", "#CD2626", "#EE799F"))
uniq.resp <- unique(pda$response)
uniq.resp
wilcox.test(pda$size[pda$response == uniq.resp[1]], pda$size[pda$response == uniq.resp[4]])
#---------- breast cancer batch 1 -----------#
tex.clones.pro <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/05.breast.cancer.batch1.rds.gz")
meta <- readr::read_csv("/raid1/pauling/projects/07_pan.cancer.treatment/01.scRNAseq.collection/04.breast.pdl1/1863-counts_cells_cohort1-T_cell.metadata.csv", col_names = F)
meta <- meta %>%
dplyr::select(X1, X4, X5, X6, X11) %>%
dplyr::rename(
cellid = X1,
patient = X4,
treatment = X5,
response = X6,
batch = X11
) %>%
dplyr::filter(response %in% c("E","NE")) %>%
dplyr::distinct(patient, response)
pda <- tex.clones.pro %>%
tidyr::separate(sample, c("biok","num","treatment"), sep = "\\_", remove = F) %>%
dplyr::mutate(patient = paste(biok,num, sep = "_")) %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient,treatment) %>%
dplyr::group_by(patient,treatment) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::right_join(meta, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n)) %>%
dplyr::mutate(treatment = ifelse(is.na(treatment), "Pre", treatment)) %>%
dplyr::ungroup()
pda <- pda %>%
dplyr::ungroup() %>%
#dplyr::mutate(resp = paste0(response, ".", treatment)) %>%
#dplyr::select(patient, n, resp) %>%
tidyr::spread(key = treatment, value = n) %>%
dplyr::mutate_if(is.double, .funs = function(.x){ifelse(is.na(.x), 0, .x)}) %>%
tidyr::gather(key = "treatment", value = "n", -patient, -response)
pda <- pda %>%
dplyr::rename(size = n) %>%
dplyr::mutate(response = paste0(response, ".", treatment))
View(pda)
pda %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("E.Pre","E.On","NE.Pre","NE.On")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#CD2626", "#EE799F", "#009ACD", "#4F94CD"))
uniq.resp <- unique(pda$response)
uniq.resp
wilcox.test(pda$size[pda$response == uniq.resp[1]], pda$size[pda$response == uniq.resp[4]])
#---------- breast cancer batch 2 -----------#
tex.clones.pro <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/06.breast.cancer.batch2.rds.gz")
meta <- readr::read_csv("/raid1/pauling/projects/07_pan.cancer.treatment/01.scRNAseq.collection/04.breast.pdl1/1867-counts_cells_cohort2-T_cell.metadata.csv", col_names = F)
meta <- meta %>%
dplyr::select(X1, X4, X5, X6, X11) %>%
dplyr::rename(
cellid = X1,
patient = X4,
treatment = X5,
response = X6,
batch = X11
) %>%
dplyr::filter(response %in% c("E","NE")) %>%
dplyr::distinct(patient, response)
pda <- tex.clones.pro %>%
tidyr::separate(sample, c("biok","num","treatment"), sep = "\\_", remove = F) %>%
dplyr::mutate(patient = paste(biok,num, sep = "_")) %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient,treatment) %>%
dplyr::group_by(patient,treatment) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::right_join(meta, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n)) %>%
dplyr::mutate(treatment = ifelse(is.na(treatment), "Pre", treatment)) %>%
dplyr::ungroup()
pda <- pda %>%
dplyr::ungroup() %>%
#dplyr::mutate(resp = paste0(response, ".", treatment)) %>%
#dplyr::select(patient, n, resp) %>%
tidyr::spread(key = treatment, value = n) %>%
dplyr::mutate_if(is.double, .funs = function(.x){ifelse(is.na(.x), 0, .x)}) %>%
tidyr::gather(key = "treatment", value = "n", -patient, -response)
pda <- pda %>%
dplyr::rename(size = n) %>%
dplyr::mutate(response = paste0(response, ".", treatment))
View(pda)
pda %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("E.Pre","E.On","NE.Pre","NE.On")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#CD2626", "#EE799F", "#009ACD", "#4F94CD"))
uniq.resp <- unique(pda$response)
uniq.resp
wilcox.test(pda$size[pda$response == uniq.resp[2]], pda$size[pda$response == uniq.resp[3]])
#---------- breast cancer yy -----------#
tex.clones.pro <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/07.breast.yy.rds.gz")
meta <- readr::read_csv("/raid1/pauling/projects/07_pan.cancer.treatment/01.scRNAseq.collection/01.breast.yy/Stable2-new-CCR3.csv")
meta <- tibble(
patient = meta$Patient,
response = meta$Efficacy,
group = meta$Group
) %>%
dplyr::distinct(patient, response) %>%
dplyr::filter(patient %in% tex.clones.pro$patient)
pda <- tex.clones.pro %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient,group) %>%
dplyr::group_by(patient, group) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::ungroup() %>%
dplyr::right_join(meta, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n))
pda <- pda %>%
dplyr::rename(size = n)
pda$group[is.na(pda$group)] <- "Pre-treatment"
pda.add1 <- tibble(patient = c("P005","P017"), group = c("Pre-treatment","Post-treatment"), size = c(0,0), response = c("SD","SD"))
pda.add1 <- tibble(patient = c("P005","P017","P002"), group = c("Pre-treatment","Post-treatment","Pre-treatment"), size = c(0,0,0), response = c("SD","SD","SD"))
pda <- rbind(pda.add1, pda) %>%
dplyr::mutate(response = paste0(response, ".", group)) %>%
dplyr::arrange(patient, group)
View(pda)
pda %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("PR.Pre-treatment","PR.Post-treatment","SD.Pre-treatment","SD.Post-treatment")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#CD2626", "#EE799F","#009ACD", "#4F94CD"))
uniq.resp <- unique(pda$response)
uniq.resp
wilcox.test(pda$size[pda$response == uniq.resp[4]], pda$size[pda$response == uniq.resp[1]])
#---------- renal cell -----------#
tex.clones.pro <- readr::read_rds("/home/pauling/projects/07_pan.cancer.treatment/02.data/00.all.tmp.cxcl13.cd8.clone/08.renal.1.rds.gz")
meta <- mda <- tibble(
patient = c("t2","t3","t4"),
response = c("non.rp","rp","rp")
)
pda <- tex.clones.pro %>%
dplyr::filter(clone == "Tex") %>%
dplyr::filter(size > 19) %>%
dplyr::count(patient,sample) %>%
dplyr::group_by(patient, sample) %>%
dplyr::summarise(n = mean(n)) %>%
dplyr::ungroup() %>%
dplyr::right_join(meta, by = "patient") %>%
dplyr::mutate(n = ifelse(is.na(n),0, n))
pda <- pda %>%
dplyr::rename(size = n)
View(pda)
pda %>%
dplyr::group_by(response) %>%
dplyr::summarise(mean = mean(size), n = length(size), sd = sd(size)) %>%
dplyr::mutate(ymax = mean + sd/sqrt(n), ymin = mean - sd/sqrt(n)) %>%
ggplot(aes(factor(response, levels = c("rp","non.rp")), mean)) +
geom_pointrange(aes(ymin = ymin, ymax = ymax, color = response), size = 1) +
theme_classic() +
labs(
x = "",
y = ""
) +
theme(
legend.position = "none",
axis.title = element_text(size = 13,color="black"),
axis.text = element_text(size = 12,color="black"),
legend.title = element_text(size = 13),
legend.text = element_text(size = 12),
axis.text.y = element_text(color="black"),
axis.text.x = element_text(color="black")
) +
scale_color_manual(values = c("#009ACD","#CD2626"))
uniq.resp <- unique(pda$response)
uniq.resp
t.test(pda$size[pda$response == uniq.resp[1]], pda$size[pda$response == uniq.resp[2]])