annotate runit/biosigner_runtests.R @ 2:b2414be87d4b draft

planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
author ethevenot
date Sat, 06 Aug 2016 12:17:12 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
1 #!/usr/bin/env Rscript
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
2
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
3 ## Package
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
4 ##--------
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
5
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
6 library(RUnit)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
7
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
8 ## Constants
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
9 ##----------
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
10
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
11 testOutDirC <- "output"
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
12 argVc <- commandArgs(trailingOnly = FALSE)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
13 scriptPathC <- sub("--file=", "", argVc[grep("--file=", argVc)])
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
14
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
15
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
16 ## Functions
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
17 ##-----------
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
18
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
19 ## Reading tables (matrix or data frame)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
20 readTableF <- function(fileC, typeC = c("matrix", "dataframe")[1]) {
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
21
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
22 file.exists(fileC) || stop(paste0("No output file \"", fileC ,"\"."))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
23
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
24 switch(typeC,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
25 matrix = return(t(as.matrix(read.table(file = fileC,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
26 header = TRUE,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
27 row.names = 1,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
28 sep = "\t",
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
29 stringsAsFactors = FALSE)))),
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
30 dataframe = return(read.table(file = fileC,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
31 header = TRUE,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
32 row.names = 1,
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
33 sep = "\t",
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
34 stringsAsFactors = FALSE)))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
35
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
36 }
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
37
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
38 ## Call wrapper
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
39 wrapperCallF <- function(paramLs) {
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
40
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
41 ## Set program path
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
42 wrapperPathC <- file.path(dirname(scriptPathC), "..", "biosigner_wrapper.R")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
43
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
44 ## Set arguments
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
45 argLs <- NULL
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
46 for (parC in names(paramLs))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
47 argLs <- c(argLs, parC, paramLs[[parC]])
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
48
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
49 ## Call
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
50 wrapperCallC <- paste(c(wrapperPathC, argLs), collapse = " ")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
51
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
52 if(.Platform$OS.type == "windows")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
53 wrapperCallC <- paste("Rscript", wrapperCallC)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
54
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
55 wrapperCodeN <- system(wrapperCallC)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
56
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
57 if (wrapperCodeN != 0)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
58 stop("Error when running biosigner_wrapper.R.")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
59
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
60 ## Get output
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
61 outLs <- list()
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
62 if ("dataMatrix_out" %in% names(paramLs))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
63 outLs[["datMN"]] <- readTableF(paramLs[["dataMatrix_out"]], "matrix")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
64 if ("sampleMetadata_out" %in% names(paramLs))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
65 outLs[["samDF"]] <- readTableF(paramLs[["sampleMetadata_out"]], "dataframe")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
66 if ("variableMetadata_out" %in% names(paramLs))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
67 outLs[["varDF"]] <- readTableF(paramLs[["variableMetadata_out"]], "dataframe")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
68 if("information" %in% names(paramLs))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
69 outLs[["infVc"]] <- readLines(paramLs[["information"]])
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
70
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
71 return(outLs)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
72 }
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
73
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
74 ## Setting default parameters
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
75 defaultArgF <- function(testInDirC) {
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
76
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
77 defaultArgLs <- list()
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
78 if(file.exists(file.path(dirname(scriptPathC), testInDirC, "dataMatrix.tsv")))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
79 defaultArgLs[["dataMatrix_in"]] <- file.path(dirname(scriptPathC), testInDirC, "dataMatrix.tsv")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
80 if(file.exists(file.path(dirname(scriptPathC), testInDirC, "sampleMetadata.tsv")))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
81 defaultArgLs[["sampleMetadata_in"]] <- file.path(dirname(scriptPathC), testInDirC, "sampleMetadata.tsv")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
82 if(file.exists(file.path(dirname(scriptPathC), testInDirC, "variableMetadata.tsv")))
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
83 defaultArgLs[["variableMetadata_in"]] <- file.path(dirname(scriptPathC), testInDirC, "variableMetadata.tsv")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
84
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
85 defaultArgLs[["variableMetadata_out"]] <- file.path(dirname(scriptPathC), testOutDirC, "variableMetadata.tsv")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
86 defaultArgLs[["information"]] <- file.path(dirname(scriptPathC), testOutDirC, "information.txt")
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
87
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
88 defaultArgLs
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
89
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
90 }
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
91
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
92 ## Main
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
93 ##-----
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
94
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
95 ## Create output folder
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
96 file.exists(testOutDirC) || dir.create(testOutDirC)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
97
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
98 ## Run tests
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
99 test.suite <- defineTestSuite('tests', dirname(scriptPathC), testFileRegexp = paste0('^.*_tests\\.R$'), testFuncRegexp = '^.*$')
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
100 isValidTestSuite(test.suite)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
101 test.results <- runTestSuite(test.suite)
b2414be87d4b planemo upload for repository https://github.com/workflow4metabolomics/biosigner.git commit d85321a93588817e9e8884b90dde6331292bbe79
ethevenot
parents:
diff changeset
102 print(test.results)