Mercurial > repos > stevecassidy > vowelplot
annotate phonR_tool.R @ 1:4c17593167f0 draft
planemo upload commit 8787f5af57672a8fd5311e206b872833c8b3fede-dirty
author | stevecassidy |
---|---|
date | Thu, 13 Oct 2016 15:41:12 -0400 |
parents | 3d068b7441be |
children | 24f05f509f09 |
rev | line source |
---|---|
0
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
1 # |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
2 # Galaxy tool that plots Vowels using the phonR package. |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
3 # Accepts 8 inputs of the form <tsv data file> <output file name> <column1> <column2> <optPretty> <optEllipse> <optTokens> <optMeans> |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
4 # Created by Michael Bauer |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
5 # |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
6 library(phonR) |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
7 library('getopt') |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
8 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
9 #create options |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
10 option_specification = matrix(c( |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
11 'outdir', 'f', 1, 'character', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
12 'htmlfile', 'h', 1, 'character', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
13 'inputfile', 'i', 1, 'character', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
14 'column1', 'y', 1, 'integer', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
15 'column2', 'z', 1, 'integer', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
16 'columnvowels', 'x', 1, 'integer', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
17 'pretty', 'p', 1, 'logical', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
18 'ellipse', 'e', 1, 'logical', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
19 'tokens', 't', 1, 'logical', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
20 'means', 'm', 1, 'logical', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
21 'cextokens', 'c', 1, 'numeric', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
22 'alphatokens', 'a', 1, 'numeric', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
23 'cexmeans', 'b', 1, 'numeric' |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
24 ), byrow=TRUE, ncol=4); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
25 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
26 # Parse options |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
27 options = getopt(option_specification); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
28 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
29 if (!is.null(options$outdir)) { |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
30 # Create the directory |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
31 dir.create(options$outdir,FALSE) |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
32 } |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
33 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
34 pngfile <- gsub("[ ]+", "", paste(options$outdir,"/pngfile.png")) |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
35 htmlfile <- gsub("[ ]+", "", paste(options$htmlfile)) |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
36 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
37 data = read.table(options$inputfile,sep="\t", header=TRUE); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
38 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
39 png(pngfile); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
40 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
41 plotVowels(data[,options$column1], data[,options$column2], data[,options$columnvowels], plot.tokens = options$tokens, |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
42 pch.tokens = data[,options$columnvowels], cex.tokens = options$cextokens, alpha.tokens = options$alphatokens, |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
43 plot.means = options$means, pch.means = data[,options$columnvowels], cex.means = options$cexmeans, |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
44 var.col.by = data[,options$columnvowels], ellipse.line = options$ellipse, pretty = options$pretty) |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
45 dev.off(); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
46 |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
47 htmlfile_handle <- file(htmlfile) |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
48 html_output = c('<html><body>', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
49 '<h3>Result:</h3><img src="pngfile.png"/>', |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
50 '</html></body>'); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
51 writeLines(html_output, htmlfile_handle); |
3d068b7441be
planemo upload commit f36456464c692ed9d39a9cf654d09fe793113cce-dirty
stevecassidy
parents:
diff
changeset
|
52 close(htmlfile_handle); |