annotate aurora_wgcna_render.R @ 14:4ec9d51ed4e0 draft

Uploaded
author spficklin
date Fri, 22 Nov 2019 21:42:39 +0000
parents 083886b3f3db
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
1 # ------------------------------------------------------------------
d947c300617c Uploaded
spficklin
parents:
diff changeset
2 # Set options and load libraries.
d947c300617c Uploaded
spficklin
parents:
diff changeset
3 # ------------------------------------------------------------------
d947c300617c Uploaded
spficklin
parents:
diff changeset
4
d947c300617c Uploaded
spficklin
parents:
diff changeset
5 # setup R error handline to go to stderr
d947c300617c Uploaded
spficklin
parents:
diff changeset
6 options(show.error.messages=FALSE, error=function() {
d947c300617c Uploaded
spficklin
parents:
diff changeset
7 cat(geterrmessage(), file=stderr())
d947c300617c Uploaded
spficklin
parents:
diff changeset
8 quit("no", 1, F)
d947c300617c Uploaded
spficklin
parents:
diff changeset
9 })
d947c300617c Uploaded
spficklin
parents:
diff changeset
10
d947c300617c Uploaded
spficklin
parents:
diff changeset
11 # We need to not crash galaxy with an UTF8 error on German LC settings.
d947c300617c Uploaded
spficklin
parents:
diff changeset
12 loc = Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")
d947c300617c Uploaded
spficklin
parents:
diff changeset
13
d947c300617c Uploaded
spficklin
parents:
diff changeset
14 options(warn = -1)
d947c300617c Uploaded
spficklin
parents:
diff changeset
15 args = commandArgs(trailingOnly=TRUE)
d947c300617c Uploaded
spficklin
parents:
diff changeset
16
d947c300617c Uploaded
spficklin
parents:
diff changeset
17 suppressPackageStartupMessages({
14
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
18 library(rmarkdown)
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
19 library(getopt)
d947c300617c Uploaded
spficklin
parents:
diff changeset
20 library(WGCNA)
14
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
21 library(caret)
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
22 library(ggplot2)
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
23 library(reshape2)
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
24 # Uncomment for HTML-based reports.
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
25 #library(DT)
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
26 #library(htmltools)
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
27 })
d947c300617c Uploaded
spficklin
parents:
diff changeset
28
d947c300617c Uploaded
spficklin
parents:
diff changeset
29
d947c300617c Uploaded
spficklin
parents:
diff changeset
30 # ------------------------------------------------------------------
d947c300617c Uploaded
spficklin
parents:
diff changeset
31 # Handle arguments from command line
d947c300617c Uploaded
spficklin
parents:
diff changeset
32 # ------------------------------------------------------------------
d947c300617c Uploaded
spficklin
parents:
diff changeset
33
d947c300617c Uploaded
spficklin
parents:
diff changeset
34 # Get the tool arguments.
d947c300617c Uploaded
spficklin
parents:
diff changeset
35 spec = matrix(c(
d947c300617c Uploaded
spficklin
parents:
diff changeset
36 # Input Files
d947c300617c Uploaded
spficklin
parents:
diff changeset
37 'trait_data', 't', 2, 'character',
d947c300617c Uploaded
spficklin
parents:
diff changeset
38 'expression_data', 'e', 1, 'character',
6
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
39
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
40 # Input Arguments
14
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
41 'missing_value1', 'i', 1, 'character',
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
42 'missing_value2', 'o', 2, 'character',
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
43 'sname_col', 'c', 2, 'integer',
d947c300617c Uploaded
spficklin
parents:
diff changeset
44 'min_cluster_size', 's', 1, 'integer',
d947c300617c Uploaded
spficklin
parents:
diff changeset
45 'height_cut', 'h', 2, 'double',
d947c300617c Uploaded
spficklin
parents:
diff changeset
46 'power', 'p', 2, 'double',
d947c300617c Uploaded
spficklin
parents:
diff changeset
47 'block_size', 'b', 1, 'integer',
6
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
48 'hard_threshold', 'j', 1, 'double',
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
49 'one_hot_cols', 'y', 2, 'character',
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
50 'ignore_cols', 'x', 2, 'character',
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
51
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
52 # Output Files
d947c300617c Uploaded
spficklin
parents:
diff changeset
53 'gene_module_file', 'k', 1, 'character',
d947c300617c Uploaded
spficklin
parents:
diff changeset
54 'network_edges_file', 'w', 1, 'character',
d947c300617c Uploaded
spficklin
parents:
diff changeset
55 'gene_association_file', 'g', 2, 'character',
d947c300617c Uploaded
spficklin
parents:
diff changeset
56 'module_association_file', 'm', 2, 'character',
d947c300617c Uploaded
spficklin
parents:
diff changeset
57 'module_association_report', 'q', 2, 'character',
d947c300617c Uploaded
spficklin
parents:
diff changeset
58 'network_construction_report', 'r', 1, 'character',
14
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
59 'updated_trait_matrix', 'z', 2, 'character',
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
60 'r_data', 'a', 1, 'character',
14
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
61 'render_log_file', 'l', 1, 'character',
4ec9d51ed4e0 Uploaded
spficklin
parents: 6
diff changeset
62 'filtered_GEM', 'd', 1, 'character'
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
63 ),
d947c300617c Uploaded
spficklin
parents:
diff changeset
64 byrow=TRUE, ncol=4)
d947c300617c Uploaded
spficklin
parents:
diff changeset
65
d947c300617c Uploaded
spficklin
parents:
diff changeset
66 opt = getopt(spec)
d947c300617c Uploaded
spficklin
parents:
diff changeset
67
6
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
68 # We have to have values for the one_hot_cols and ignore_cols but the
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
69 # fact these are optional means that we might not get a value for them and the
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
70 # getopt function will then leave them out. So, we need to make sure they are
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
71 # there.
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
72 if (!"one_hot_cols" %in% names(opt)) {
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
73 opt[["one_hot_cols"]] <- ''
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
74 }
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
75 if (!"ignore_cols" %in% names(opt)) {
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
76 opt[["ignore_cols"]] <- ''
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
77 }
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
78
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
79 # Define environment variables for all input values. This will allow use
d947c300617c Uploaded
spficklin
parents:
diff changeset
80 # of the input arguments in the Rmarkdown template file.
d947c300617c Uploaded
spficklin
parents:
diff changeset
81 do.call(Sys.setenv, opt[-1])
d947c300617c Uploaded
spficklin
parents:
diff changeset
82
d947c300617c Uploaded
spficklin
parents:
diff changeset
83 # ------------------------------------------------------------------
d947c300617c Uploaded
spficklin
parents:
diff changeset
84 # Render Rmd files
d947c300617c Uploaded
spficklin
parents:
diff changeset
85 # ------------------------------------------------------------------
d947c300617c Uploaded
spficklin
parents:
diff changeset
86 tool_directory = Sys.getenv('TOOL_INSTALL_DIR')
d947c300617c Uploaded
spficklin
parents:
diff changeset
87
d947c300617c Uploaded
spficklin
parents:
diff changeset
88
d947c300617c Uploaded
spficklin
parents:
diff changeset
89 # We don't want the Rmarkdown STDOUT to show up in Galaxy, so save it to a file.
d947c300617c Uploaded
spficklin
parents:
diff changeset
90 zz = file(opt$render_log_file)
d947c300617c Uploaded
spficklin
parents:
diff changeset
91 sink(zz)
d947c300617c Uploaded
spficklin
parents:
diff changeset
92 sink(zz, type = 'message')
d947c300617c Uploaded
spficklin
parents:
diff changeset
93
6
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
94 # Print the options
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
95 print(opt)
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
96
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
97 # Next render the R markdown template file.
d947c300617c Uploaded
spficklin
parents:
diff changeset
98 system(command = paste0('cp ', tool_directory, '/aurora_wgcna.Rmd ./'))
d947c300617c Uploaded
spficklin
parents:
diff changeset
99 render(input = 'aurora_wgcna.Rmd', output_file = opt$network_construction_report)
d947c300617c Uploaded
spficklin
parents:
diff changeset
100
6
083886b3f3db Uploaded
spficklin
parents: 2
diff changeset
101 # If the trait data was provided then we'll continue the
2
d947c300617c Uploaded
spficklin
parents:
diff changeset
102 # analysis.
d947c300617c Uploaded
spficklin
parents:
diff changeset
103 if (!is.null(opt$trait_data)) {
d947c300617c Uploaded
spficklin
parents:
diff changeset
104 system(command = paste0('cp ', tool_directory, '/aurora_wgcna_trait.Rmd ./'))
d947c300617c Uploaded
spficklin
parents:
diff changeset
105 render(input = 'aurora_wgcna_trait.Rmd', output_file = opt$module_association_report)
d947c300617c Uploaded
spficklin
parents:
diff changeset
106 }
d947c300617c Uploaded
spficklin
parents:
diff changeset
107
d947c300617c Uploaded
spficklin
parents:
diff changeset
108 sink()