@@ -85,6 +85,12 @@ unmake_names <- function(string) {
85
85
return (string )
86
86
}
87
87
88
+ # Sanitise file base names coming from factors or contrasts
89
+ sanitise_basename <- function (string ) {
90
+ string <- gsub(" [/^]" , " _" , string )
91
+ return (string )
92
+ }
93
+
88
94
# Generate output folder and paths
89
95
make_out <- function (filename ) {
90
96
return (paste0(out_path , " /" , filename ))
@@ -331,16 +337,16 @@ ql_png <- make_out("qlplot.png")
331
337
mds_pdf <- character () # Initialise character vector
332
338
mds_png <- character ()
333
339
for (i in seq_len(ncol(factors ))) {
334
- mds_pdf [i ] <- make_out(paste0(" mdsplot_" , names(factors )[i ], " .pdf" ))
335
- mds_png [i ] <- make_out(paste0(" mdsplot_" , names(factors )[i ], " .png" ))
340
+ mds_pdf [i ] <- make_out(paste0(" mdsplot_" , sanitise_basename( names(factors )[i ]) , " .pdf" ))
341
+ mds_png [i ] <- make_out(paste0(" mdsplot_" , sanitise_basename( names(factors )[i ]) , " .png" ))
336
342
}
337
343
md_pdf <- character ()
338
344
md_png <- character ()
339
345
top_out <- character ()
340
346
for (i in seq_along(contrast_data )) {
341
- md_pdf [i ] <- make_out(paste0(" mdplot_" , contrast_data [i ], " .pdf" ))
342
- md_png [i ] <- make_out(paste0(" mdplot_" , contrast_data [i ], " .png" ))
343
- top_out [i ] <- make_out(paste0(" edgeR_" , contrast_data [i ], " .tsv" ))
347
+ md_pdf [i ] <- make_out(paste0(" mdplot_" , sanitise_basename( contrast_data [i ]) , " .pdf" ))
348
+ md_png [i ] <- make_out(paste0(" mdplot_" , sanitise_basename( contrast_data [i ]) , " .png" ))
349
+ top_out [i ] <- make_out(paste0(" edgeR_" , sanitise_basename( contrast_data [i ]) , " .tsv" ))
344
350
} # Save output paths for each contrast as vectors
345
351
norm_out <- make_out(" edgeR_normcounts.tsv" )
346
352
rda_out <- make_out(" edgeR_analysis.RData" )
@@ -446,15 +452,15 @@ labels <- names(counts)
446
452
# MDS plot
447
453
png(mds_png , width = 600 , height = 600 )
448
454
plotMDS(data , labels = labels , col = as.numeric(factors [, 1 ]), cex = 0.8 , main = paste(" MDS Plot:" , names(factors )[1 ]))
449
- img_name <- paste0(" MDS Plot_" , names(factors )[1 ], " .png" )
450
- img_addr <- paste0(" mdsplot_" , names(factors )[1 ], " .png" )
455
+ img_name <- paste0(" MDS Plot_" , sanitise_basename( names(factors )[1 ]) , " .png" )
456
+ img_addr <- paste0(" mdsplot_" , sanitise_basename( names(factors )[1 ]) , " .png" )
451
457
image_data [1 , ] <- c(img_name , img_addr )
452
458
invisible (dev.off())
453
459
454
460
pdf(mds_pdf )
455
461
plotMDS(data , labels = labels , col = as.numeric(factors [, 1 ]), cex = 0.8 , main = paste(" MDS Plot:" , names(factors )[1 ]))
456
- link_name <- paste0(" MDS Plot_" , names(factors )[1 ], " .pdf" )
457
- link_addr <- paste0(" mdsplot_" , names(factors )[1 ], " .pdf" )
462
+ link_name <- paste0(" MDS Plot_" , sanitise_basename( names(factors )[1 ]) , " .pdf" )
463
+ link_addr <- paste0(" mdsplot_" , sanitise_basename( names(factors )[1 ]) , " .pdf" )
458
464
link_data [1 , ] <- c(link_name , link_addr )
459
465
invisible (dev.off())
460
466
@@ -463,15 +469,15 @@ if (ncol(factors) > 1) {
463
469
for (i in 2 : ncol(factors )) {
464
470
png(mds_png [i ], width = 600 , height = 600 )
465
471
plotMDS(data , labels = labels , col = as.numeric(factors [, i ]), cex = 0.8 , main = paste(" MDS Plot:" , names(factors )[i ]))
466
- img_name <- paste0(" MDS Plot_" , names(factors )[i ], " .png" )
467
- img_addr <- paste0(" mdsplot_" , names(factors )[i ], " .png" )
472
+ img_name <- paste0(" MDS Plot_" , sanitise_basename( names(factors )[i ]) , " .png" )
473
+ img_addr <- paste0(" mdsplot_" , sanitise_basename( names(factors )[i ]) , " .png" )
468
474
image_data <- rbind(image_data , c(img_name , img_addr ))
469
475
invisible (dev.off())
470
476
471
477
pdf(mds_pdf [i ])
472
478
plotMDS(data , labels = labels , col = as.numeric(factors [, i ]), cex = 0.8 , main = paste(" MDS Plot:" , names(factors )[i ]))
473
- link_name <- paste0(" MDS Plot_" , names(factors )[i ], " .pdf" )
474
- link_addr <- paste0(" mdsplot_" , names(factors )[i ], " .pdf" )
479
+ link_name <- paste0(" MDS Plot_" , sanitise_basename( names(factors )[i ]) , " .pdf" )
480
+ link_addr <- paste0(" mdsplot_" , sanitise_basename( names(factors )[i ]) , " .pdf" )
475
481
link_data <- rbind(link_data , c(link_name , link_addr ))
476
482
invisible (dev.off())
477
483
}
@@ -549,8 +555,8 @@ for (i in seq_along(contrast_data)) {
549
555
top <- topTags(res , adjust.method = opt $ pAdjOpt , n = Inf , sort.by = " PValue" )
550
556
write.table(top , file = top_out [i ], row.names = FALSE , sep = " \t " , quote = FALSE )
551
557
552
- link_name <- paste0(" edgeR_" , contrast_data [i ], " .tsv" )
553
- link_addr <- paste0(" edgeR_" , contrast_data [i ], " .tsv" )
558
+ link_name <- paste0(" edgeR_" , sanitise_basename( contrast_data [i ]) , " .tsv" )
559
+ link_addr <- paste0(" edgeR_" , sanitise_basename( contrast_data [i ]) , " .tsv" )
554
560
link_data <- rbind(link_data , c(link_name , link_addr ))
555
561
556
562
# Plot MD (log ratios vs mean difference) using limma package
@@ -564,8 +570,8 @@ for (i in seq_along(contrast_data)) {
564
570
565
571
abline(h = 0 , col = " grey" , lty = 2 )
566
572
567
- link_name <- paste0(" MD Plot_" , contrast_data [i ], " .pdf" )
568
- link_addr <- paste0(" mdplot_" , contrast_data [i ], " .pdf" )
573
+ link_name <- paste0(" MD Plot_" , sanitise_basename( contrast_data [i ]) , " .pdf" )
574
+ link_addr <- paste0(" mdplot_" , sanitise_basename( contrast_data [i ]) , " .pdf" )
569
575
link_data <- rbind(link_data , c(link_name , link_addr ))
570
576
invisible (dev.off())
571
577
@@ -579,8 +585,8 @@ for (i in seq_along(contrast_data)) {
579
585
580
586
abline(h = 0 , col = " grey" , lty = 2 )
581
587
582
- img_name <- paste0(" MD Plot_" , contrast_data [i ], " .png" )
583
- img_addr <- paste0(" mdplot_" , contrast_data [i ], " .png" )
588
+ img_name <- paste0(" MD Plot_" , sanitise_basename( contrast_data [i ]) , " .png" )
589
+ img_addr <- paste0(" mdplot_" , sanitise_basename( contrast_data [i ]) , " .png" )
584
590
image_data <- rbind(image_data , c(img_name , img_addr ))
585
591
invisible (dev.off())
586
592
}
0 commit comments