Repository 'ggplot2_violin'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/ggplot2_violin

Changeset 0:a597d59df9ee (2017-08-22)
Next changeset 1:d85535076554 (2017-08-29)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggplot2 commit 6e466ce83e2e5c0dd0ba30356d0488cf74574b8f
added:
ggplot_violin.xml
macros.xml
test-data/ggplot_heatmap2_result1.pdf
test-data/ggplot_histogram_result1.pdf
test-data/ggplot_point_result1.pdf
test-data/ggplot_violin_result1.pdf
test-data/mtcars.txt
b
diff -r 000000000000 -r a597d59df9ee ggplot_violin.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ggplot_violin.xml Tue Aug 22 06:42:56 2017 -0400
[
@@ -0,0 +1,113 @@
+<tool id="ggplot2_violin" name="Violin plot w ggplot2" version="@VERSION@">
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements">
+        <requirement type="package" version="1.4.2">r-reshape2</requirement>
+    </expand>
+    <command detect_errors="exit_code"><![CDATA[
+cat '$script' &&
+Rscript '$script' &&
+mv output_plot.pdf $output1
+    ]]></command>
+    <configfiles>
+        <configfile name="script"><![CDATA[
+
+@R_INIT@
+
+## Import library
+library("reshape2")
+library("ggplot2")
+
+## Choose between automatically scaled x and y axis or user defined
+#if $scaling.plot_scaling == "Automatic"
+    gg_scaley = NULL
+#else
+    gg_scaley = ylim($scaling.yaxismin, $scaling.yaxismax)
+#end if
+
+integrated <- read.csv('$input1', sep='\t', header=TRUE)
+input <- melt(integrated)
+
+@TRANSFORM@
+
+#if $drawquartiles == "none"
+    gg_quartile = NULL
+#else
+    gg_quartile = c(0.25, 0.5, 0.75)
+#end if
+
+
+ggplot(input, aes(variable, value)) + geom_violin(scale = "area", colour = '$ggcolor', fill = '$ggfill', draw_quantiles = gg_quartile) +
+gg_scaley + theme_bw() + xlab('$xlab') + ylab('$ylab') + ggtitle('$title')
+
+ggsave(file='output_plot.pdf')
+dev.off()
+
+        ]]></configfile>
+    </configfiles>
+    <inputs>
+        <param name="input1" type="data" format="tabular" label="Input in tabular format"
+            help="Column headers are requirement. These will be the columns that are plotted."/>
+        <expand macro="title" />
+        <expand macro="xy_lab" />
+        <conditional name="scaling">
+            <param name="plot_scaling" type="select" label="Advanced - Axis scaling">
+                <option value="Automatic" selected="True">Automatic axis scaling</option>
+                <option value="Defined">User deined axis scales</option>
+            </param>
+            <when value="Automatic" />
+            <when value="Defined">
+                <param name="yaxismin" type="integer" value="0" label="minimal range of y-axis" />
+                <param name="yaxismax" type="integer" value="3" label="maximal range of y-axis" />
+            </when>
+        </conditional>
+        <expand macro="transform" />
+        <param name="drawquartiles" type="select" label="Advanced - indicate quartiles of your data">
+            <option value="none">Plot the data without indicating quartiles</option>
+            <option value="indicate">Draw lines to indicate each quartile</option>
+        </param>
+        <param name="ggfill" type="select" label="Advanced - violin color options">
+            <option value="blue" selected="True">Default (Blue)</option>
+            <option value="black">Black</option>
+            <option value="red">Red</option>
+            <option value="white">White</option>
+            <option value="orange">Orange</option>
+            <option value="yellow">Yellow</option>
+            <option value="green">Green</option>
+            <option value="purple">Purple</option>
+            <option value="magenta">Magenta</option>
+            <option value="cyan">Cyan</option>
+            <option value="grey">Grey</option>
+            <option value="gold">Gold</option>
+        </param>
+        <param name="ggcolor" type="select" label="Advanced - violin border options">
+            <option value="yellow" selected="True">Default (Yellow)</option>
+            <option value="black">Black</option>
+            <option value="red">Red</option>
+            <option value="white">White</option>
+            <option value="blue">Blue</option>
+            <option value="orange">Orange</option>
+            <option value="green">Green</option>
+            <option value="purple">Purple</option>
+            <option value="magenta">Magenta</option>
+            <option value="cyan">Cyan</option>
+            <option value="grey">Grey</option>
+            <option value="gold">Gold</option>
+        </param>
+    </inputs>
+    <outputs>
+        <data name="output1" format="pdf" from_work_dir="Rplot.pdf"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input1" value="mtcars.txt" ftype="tabular"/>
+            <output name="output1" file="ggplot_violin_result1.pdf" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+        Supply this tool with a text file with headers indicating the various groups to be plotted. This tool will sniff out each column with values that can be plotted and display the distribution of that data group. Note that columns may be excluded from this plot if they contain questionable characters. 
+
+    ]]></help>
+    <expand macro="citations"/>
+</tool>
b
diff -r 000000000000 -r a597d59df9ee macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Tue Aug 22 06:42:56 2017 -0400
[
b'@@ -0,0 +1,166 @@\n+<?xml version="1.0"?>\n+<macros>\n+    <xml name="requirements">\n+        <requirements>\n+            <requirement type="package" version="@VERSION@">r-ggplot2</requirement>\n+            <yield />\n+        </requirements>\n+    </xml>\n+    <token name="@VERSION@">2.2.1</token>\n+\n+    <token name="@R_INIT@"><![CDATA[\n+## Setup R error handling to go to stderr\n+options(show.error.messages=F, error=function(){cat(geterrmessage(), file=stderr()); q("no",1,F)})\n+\n+## Unify locale settings\n+loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")\n+    ]]></token>\n+\n+    <token name="@TRANSFORM@"><![CDATA[\n+#if $transform == "log2"\n+    input["value"] <- log2(input["value"])\n+#elif $transform == "log2plus1"\n+    input["value"] <- log2(input["value"]+1)\n+#elif $transform == "log10"\n+    input["value"] <- log10(input["value"])\n+#elif $transform == "log10plus1"\n+    input["value"] <- log10(input["value"]+1)\n+#end if\n+    ]]></token>\n+\n+    <xml name="transform">\n+        <param name="transform" type="select" label="Advanced - log transformation">\n+            <option value="none">Plot the data as it is</option>\n+            <option value="log2">Log2(value) transform my data</option>\n+            <option value="log2plus1">Log2(value+1) transform my data</option>\n+            <option value="log10">Log10(value) transform my data</option>\n+            <option value="log10plus1">Log10(value+1) transform my data</option>\n+        </param>\n+    </xml>\n+\n+    <token name="@XY_SCALING@"><![CDATA[\n+#Choose between automatically scaled x and y axis or user defined\n+#if $scaling.plot_scaling == "Automatic"\n+    gg_scalex = NULL\n+    gg_scaley = NULL\n+#else\n+    gg_scalex = xlim($scaling.xaxismin, $scaling.xaxismax)\n+    gg_scaley = ylim($scaling.yaxismin, $scaling.yaxismax)\n+#end if\n+    ]]></token>\n+\n+    <xml name="xy_scaling">\n+        <conditional name="scaling">\n+            <param name="plot_scaling" type="select" label="Advanced - Axis scaling">\n+                <option value="Automatic" selected="True">Automatic axis scaling</option>\n+                <option value="Defined">User deined axis scales</option>\n+            </param>\n+            <when value="Automatic">\n+                <!--Do nothing here -->\n+            </when>\n+            <when value="Defined">\n+                <param name="xaxismin" type="integer" value="0" label="minimal range of x-axis" />\n+                <param name="xaxismax" type="integer" value="3" label="maximal range of x-axis" />\n+                <param name="yaxismin" type="integer" value="0" label="minimal range of y-axis" />\n+                <param name="yaxismax" type="integer" value="3" label="maximal range of y-axis" />\n+            </when>\n+        </conditional>\n+    </xml>\n+    <xml name="title">\n+        <param name="title" type="text" value="plot title" label="Title of plot" />\n+    </xml>\n+    <xml name="xy_lab">\n+        <param name="xlab" type="text" value="title of x-axis" label="Label for x-axis"/>\n+        <param name="ylab" type="text" value="title of y-axis" label="Label for y-axis"/> \n+    </xml>\n+    <xml name="dimensions">\n+        <param name="with_output_dim" type="float" value="7" label="width of output" help="in inches" />\n+        <param name="height_output_dim" type="float" value="7" label="height of output" help="in inches" />\n+    </xml>\n+    <xml name="citations">\n+        <citations>\n+            <citation type="bibtex">@Book{\n+                author = {Hadley Wickham},\n+                title = {ggplot2: Elegant Graphics for Data Analysis},\n+                publisher = {Springer-Verlag New York},\n+                year = {2009},\n+                isbn = {978-0-387-98140-6},\n+                url = {http://ggplot2.org}\n+                }\n+            </citation>\n+        </citations>\n+    </xml>\n+\n+    <xml name="axis_customization" token_label="Advanced - axis title options">\n+        <param name="axis_customization" type="select" label="@LABEL@">\n+            <option value'..b'\n+                <option value="magenta">Magenta</option>\n+                <option value="cyan">Cyan</option>\n+                <option value="grey">Grey</option>\n+                <option value="gold">Gold</option> \n+            </param>\n+            <param name="face" type="select" label="Font effect of axis label">\n+                <option value="plain">Normal (default)</option>\n+                <option value="bold">Bold</option>\n+                <option value="italic">Italic</option>\n+            </param>\n+        </when>\n+    </xml>\n+\n+    <xml name="colors">\n+        <param name="colors" type="select" label="Color schemes to differentiate your groups" >\n+            <option value="Default">Default color scheme</option>\n+            <option value="YlOrRd">Yellow to orange to red (discrete, max=9 colors)</option>\n+            <option value="YlOrBr">Yellow to orange to brown (discrete, max=9 colors)</option>\n+            <option value="YlGnBu">Yellow to green to blue (discrete, max=9 colors)</option>\n+            <option value="YlGn">Yellow to green (discrete, max=9 colors)</option>\n+            <option value="Reds">Shades of red from light to dark (discrete, max=9 colors)</option>\n+            <option value="RdPu">Red to purple (discrete, max=9 colors)</option>\n+            <option value="Purples">Shades of purple from light to dark (discrete, max=9 colors)</option>\n+            <option value="PuRd">Purple to red (discrete, max=9 colors)</option>\n+            <option value="PuBuGn">Purple to blue to green (discrete, max=9 colors)</option>\n+            <option value="PuBu">Purple to blue(discrete, max=9 colors)</option>\n+            <option value="OrRd">Orange to red (discrete, max=9 colors)</option>\n+            <option value="Oranges">Shades of orange from light to dark (discrete, max=9 colors)</option>\n+            <option value="Greys">Shades of grey from light to dark (discrete, max=9 colors)</option>\n+            <option value="Greens">Shades of greens from light to dark (discrete, max=9 colors)</option>\n+            <option value="GnBu">Green to blue (discrete, max=9 colors)</option>\n+            <option value="BuPu">Blue to purple (discrete, max=9 colors)</option>\n+            <option value="BuGn">Blue to green (discrete, max=9 colors)</option>\n+            <option value="Blues">Shades of blue from light to dark (discrete, max=9 colors)</option>\n+            <option value="Set1">Set 1 - predefined color pallete (discrete, max=9 colors)</option>\n+            <option value="Set2">Set 2 - predefined color pallete (discrete, max=8 colors)</option>\n+            <option value="Set3">Set 3 - predefined color pallete (discrete, max=12 colors)</option>\n+            <option value="Pastel1">Pastel 1 - predefined pastel color pallete (discrete, max=9 colors)</option>\n+            <option value="Pastel2">Pastel 2 - predefined pastel color pallete (discrete, max=8 colors)</option>\n+            <option value="Paired">Paired - predefined color pallete (discrete, max=12 colors)</option>\n+            <option value="Dark2">Dark 2 - predefined color pallete (discrete, max=12 colors)</option>\n+            <option value="Accent">Accent - predefined color pallete (discrete, max=12 colors)</option>\n+            <option value="Spectral">Spectral - Red to yellow to purple (discrete, max=11 colors)</option>\n+            <option value="RdYlGn">Red to yellow to green (discrete, max=11 colors)</option>\n+            <option value="RdYlBu">Red to yellow to blue (discrete, max=11 colors)</option>\n+            <option value="RdGy">Red to grey (discrete, max=11 colors)</option>\n+            <option value="RdBu">Red to blue (discrete, max=11 colors)</option>\n+            <option value="PuOr">Purple to orange (discrete, max=11 colors)</option>\n+            <option value="PRGn">Purple to green (discrete, max=11 colors)</option>\n+            <option value="BrBG">Brown to teal (discrete, max=11 colors)</option> \n+        </param>\n+    </xml>\n+\n+</macros>\n'
b
diff -r 000000000000 -r a597d59df9ee test-data/ggplot_heatmap2_result1.pdf
b
Binary file test-data/ggplot_heatmap2_result1.pdf has changed
b
diff -r 000000000000 -r a597d59df9ee test-data/ggplot_histogram_result1.pdf
b
Binary file test-data/ggplot_histogram_result1.pdf has changed
b
diff -r 000000000000 -r a597d59df9ee test-data/ggplot_point_result1.pdf
b
Binary file test-data/ggplot_point_result1.pdf has changed
b
diff -r 000000000000 -r a597d59df9ee test-data/ggplot_violin_result1.pdf
b
Binary file test-data/ggplot_violin_result1.pdf has changed
b
diff -r 000000000000 -r a597d59df9ee test-data/mtcars.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/mtcars.txt Tue Aug 22 06:42:56 2017 -0400
b
@@ -0,0 +1,33 @@
+brand mpg cyl disp hp drat wt qsec vs am gear carb
+Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4
+Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4
+Datsun 710 22.8 4 108 93 3.85 2.32 18.61 1 1 4 1
+Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
+Hornet Sportabout 18.7 8 360 175 3.15 3.44 17.02 0 0 3 2
+Valiant 18.1 6 225 105 2.76 3.46 20.22 1 0 3 1
+Duster 360 14.3 8 360 245 3.21 3.57 15.84 0 0 3 4
+Merc 240D 24.4 4 146.7 62 3.69 3.19 20 1 0 4 2
+Merc 230 22.8 4 140.8 95 3.92 3.15 22.9 1 0 4 2
+Merc 280 19.2 6 167.6 123 3.92 3.44 18.3 1 0 4 4
+Merc 280C 17.8 6 167.6 123 3.92 3.44 18.9 1 0 4 4
+Merc 450SE 16.4 8 275.8 180 3.07 4.07 17.4 0 0 3 3
+Merc 450SL 17.3 8 275.8 180 3.07 3.73 17.6 0 0 3 3
+Merc 450SLC 15.2 8 275.8 180 3.07 3.78 18 0 0 3 3
+Cadillac Fleetwood 10.4 8 472 205 2.93 5.25 17.98 0 0 3 4
+Lincoln Continental 10.4 8 460 215 3 5.424 17.82 0 0 3 4
+Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4
+Fiat 128 32.4 4 78.7 66 4.08 2.2 19.47 1 1 4 1
+Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
+Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.9 1 1 4 1
+Toyota Corona 21.5 4 120.1 97 3.7 2.465 20.01 1 0 3 1
+Dodge Challenger 15.5 8 318 150 2.76 3.52 16.87 0 0 3 2
+AMC Javelin 15.2 8 304 150 3.15 3.435 17.3 0 0 3 2
+Camaro Z28 13.3 8 350 245 3.73 3.84 15.41 0 0 3 4
+Pontiac Firebird 19.2 8 400 175 3.08 3.845 17.05 0 0 3 2
+Fiat X1-9 27.3 4 79 66 4.08 1.935 18.9 1 1 4 1
+Porsche 914-2 26 4 120.3 91 4.43 2.14 16.7 0 1 5 2
+Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.9 1 1 5 2
+Ford Pantera L 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4
+Ferrari Dino 19.7 6 145 175 3.62 2.77 15.5 0 1 5 6
+Maserati Bora 15 8 301 335 3.54 3.57 14.6 0 1 5 8
+Volvo 142E 21.4 4 121 109 4.11 2.78 18.6 1 1 4 2