@@ -76,19 +76,25 @@ pgx.computeExtra <- function(ngs, extra, lib.dir=FILES, sigdb=NULL) {
76
76
if (" drugs" %in% extra ) {
77
77
ngs $ drugs <- NULL # # reset??
78
78
cmap.dir <- file.path(libx.dir ," cmap" )
79
-
79
+ if (! dir.exists(cmap.dir )) {
80
+ cmap.dir <- file.path(lib.dir ," cmap" ) # # look for default lib
81
+ }
82
+ if (! dir.exists(cmap.dir )) {
83
+ message(" Warning:: missing CMAP files. Skipping drug connectivity analysis!" )
84
+ }
85
+ dbg(" [pgx.computeExtra] cmap.dir = " ,cmap.dir )
86
+
80
87
if (dir.exists(cmap.dir )) {
81
88
82
89
message(" >>> Computing drug activity enrichment..." )
83
90
tt <- system.time({
84
- ngs <- compute.drugActivityEnrichment(ngs , lib.dir = cmap.dir )
91
+ ngs <- compute.drugActivityEnrichment(ngs , cmap.dir )
85
92
})
86
93
timings <- rbind(timings , c(" drugs" , tt ))
87
94
88
95
message(" >>> Computing drug sensitivity enrichment..." )
89
96
tt <- system.time({
90
- ngs <- compute.drugSensitivityEnrichment(
91
- ngs , lib.dir = cmap.dir )
97
+ ngs <- compute.drugSensitivityEnrichment(ngs , cmap.dir )
92
98
})
93
99
timings <- rbind(timings , c(" drugs-sx" , tt ))
94
100
@@ -97,7 +103,6 @@ pgx.computeExtra <- function(ngs, extra, lib.dir=FILES, sigdb=NULL) {
97
103
# # ngs <- compute.genePerturbationEnrichment(ngs, lib.dir=cmap.dir)
98
104
# # })
99
105
# #timings <- rbind(timings, c("drugs-gene", tt))
100
-
101
106
}
102
107
103
108
}
@@ -273,18 +278,19 @@ compute.cellcycle.gender <- function(ngs, rna.counts=ngs$counts)
273
278
return (ngs )
274
279
}
275
280
276
- compute.drugActivityEnrichment <- function (ngs , lib .dir ) {
281
+ compute.drugActivityEnrichment <- function (ngs , cmap .dir ) {
277
282
278
283
# # -------------- drug enrichment
279
- L1000.FILE = " l1000_es_n20a1698.csv.gz"
280
284
L1000.FILE = " l1000_es_n20d1011.csv.gz"
281
285
L1000.FILE = " l1000_es.rds"
282
- lib.dir
283
- dir(lib.dir , pattern = ' .*rds$' )
284
- dir(lib.dir , pattern = ' ^L1000-activity.*rds$' )
285
- ref.db <- dir(lib.dir , pattern = ' ^L1000-activity.*rds$' )
286
- ref.db <- dir(lib.dir , pattern = ' ^L1000-.*rds$' )
286
+ cmap.dir
287
+ dir(cmap.dir , pattern = ' .*rds$' )
288
+ ref.db <- dir(cmap.dir , pattern = ' ^L1000-.*rds$' )
287
289
ref.db
290
+ if (length(ref.db )== 0 ) {
291
+ message(" [compute.drugActivityEnrichment] Warning:: missing drug activity database" )
292
+ return (ngs )
293
+ }
288
294
names(ref.db ) <- sub(" -" ," /" ,gsub(" _.*" ," " ,ref.db ))
289
295
ref.db
290
296
f <- ref.db [1 ]
@@ -293,8 +299,8 @@ compute.drugActivityEnrichment <- function(ngs, lib.dir) {
293
299
for (i in 1 : length(ref.db )) {
294
300
f <- ref.db [i ]
295
301
message(" [compute.drugActivityEnrichment] reading L1000 reference: " ,f )
296
- X <- readRDS(file = file.path(lib .dir ,f ))
297
- # #X <- fread.csv(file=file.path(lib .dir,L1000.FILE))
302
+ X <- readRDS(file = file.path(cmap .dir ,f ))
303
+ # #X <- fread.csv(file=file.path(cmap .dir,L1000.FILE))
298
304
xdrugs <- gsub(" _.*$" ," " ,colnames(X ))
299
305
ndrugs <- length(table(xdrugs ))
300
306
ndrugs
@@ -318,7 +324,7 @@ compute.drugActivityEnrichment <- function(ngs, lib.dir) {
318
324
# # --------------- attach annotation
319
325
annot0 <- NULL
320
326
if (is.drug ) {
321
- annot0 <- read.csv(file.path(lib .dir ," L1000_repurposing_drugs.txt" ),
327
+ annot0 <- read.csv(file.path(cmap .dir ," L1000_repurposing_drugs.txt" ),
322
328
sep = " \t " , comment.char = " #" )
323
329
annot0 $ drug <- annot0 $ pert_iname
324
330
rownames(annot0 ) <- annot0 $ pert_iname
@@ -338,9 +344,6 @@ compute.drugActivityEnrichment <- function(ngs, lib.dir) {
338
344
Matrix :: head(annot0 )
339
345
}
340
346
341
-
342
-
343
-
344
347
# # --------------- attach results to object
345
348
db <- names(ref.db )[i ]
346
349
# # ngs$drugs[["activity/L1000"]] <- res.mono[["GSEA"]]
@@ -356,20 +359,24 @@ compute.drugActivityEnrichment <- function(ngs, lib.dir) {
356
359
return (ngs )
357
360
}
358
361
359
- # #ref="CTRPv2";lib .dir="../lib";combo=FALSE
360
- compute.drugSensitivityEnrichment <- function (ngs , lib .dir )
362
+ # #ref="CTRPv2";cmap .dir="../lib";combo=FALSE
363
+ compute.drugSensitivityEnrichment <- function (ngs , cmap .dir )
361
364
{
362
365
363
- ref.db <- dir(lib .dir , pattern = ' sensitivity.*rds$' )
366
+ ref.db <- dir(cmap .dir , pattern = ' sensitivity.*rds$' )
364
367
ref.db
368
+ if (length(ref.db )== 0 ) {
369
+ message(" [compute.drugSensitivityEnrichment] Warning:: missing drug sensitivity database" )
370
+ return (ngs )
371
+ }
365
372
names(ref.db ) <- sub(" -" ," /" ,gsub(" _.*" ," " ,ref.db ))
366
373
ref.db
367
374
ref <- ref.db [1 ]
368
375
for (i in 1 : length(ref.db )) {
369
376
ref <- ref.db [i ]
370
- # #X <- readRDS(file=file.path(lib .dir,"drugSX-GDSC-t25-g1000.rds"))
371
- # #X <- readRDS(file=file.path(lib .dir,"drugSX-CTRPv2-t25-g1000.rds"))
372
- X <- readRDS(file = file.path(lib .dir ,ref ))
377
+ # #X <- readRDS(file=file.path(cmap .dir,"drugSX-GDSC-t25-g1000.rds"))
378
+ # #X <- readRDS(file=file.path(cmap .dir,"drugSX-CTRPv2-t25-g1000.rds"))
379
+ X <- readRDS(file = file.path(cmap .dir ,ref ))
373
380
xdrugs <- gsub(" [@_].*$" ," " ,colnames(X ))
374
381
length(table(xdrugs ))
375
382
dim(X )
@@ -383,7 +390,7 @@ compute.drugSensitivityEnrichment <- function(ngs, lib.dir)
383
390
if (! is.null(out1 )) {
384
391
# # attach annotation
385
392
db <- sub(" -.*" ," " ,ref )
386
- annot0 <- read.csv(file.path(lib .dir ,paste0(db ," -drugs.csv" )))
393
+ annot0 <- read.csv(file.path(cmap .dir ,paste0(db ," -drugs.csv" )))
387
394
Matrix :: head(annot0 )
388
395
rownames(annot0 ) <- annot0 $ drug
389
396
annot0 <- annot0 [match(rownames(out1 [[" GSEA" ]]$ X ),rownames(annot0 )),]
0 commit comments