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

Changeset 2:43778344b955 (2018-06-11)
Previous changeset 1:d85535076554 (2017-08-29) Next changeset 3:3a270cee1239 (2019-02-11)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggplot2 commit f9fb73a88ab8b52ce11c25a966d4fe99e67c9fbf
modified:
ggplot_violin.xml
macros.xml
test-data/mtcars.txt
added:
test-data/ggplot_heatmap_result1.pdf
test-data/ggplot_pca_result1.pdf
b
diff -r d85535076554 -r 43778344b955 ggplot_violin.xml
--- a/ggplot_violin.xml Tue Aug 29 09:02:49 2017 -0400
+++ b/ggplot_violin.xml Mon Jun 11 16:05:43 2018 -0400
[
b'@@ -1,29 +1,29 @@\n-<tool id="ggplot2_violin" name="Violin plot w ggplot2" version="@VERSION@">\n+<tool id="ggplot2_violin" name="Violin plot w ggplot2" version="@VERSION@+galaxy0">\n     <macros>\n         <import>macros.xml</import>\n     </macros>\n     <expand macro="requirements">\n-        <requirement type="package" version="1.4.2">r-reshape2</requirement>\n+        <requirement type="package" version="1.4.3">r-reshape2</requirement>\n+        <requirement type="package" version="1.2.1">r-svglite</requirement>\n     </expand>\n     <command detect_errors="exit_code"><![CDATA[\n cat \'$script\' &&\n-Rscript \'$script\' &&\n-mv output_plot.pdf $output1\n+Rscript \'$script\'\n     ]]></command>\n     <configfiles>\n         <configfile name="script"><![CDATA[\n-\n @R_INIT@\n \n ## Import library\n library("reshape2")\n library("ggplot2")\n \n-## Choose between automatically scaled x and y axis or user defined\n-#if $scaling.plot_scaling == "Automatic"\n+## Automatically scaled y axis or user defined\n+## marco not possible because on y asis relevent\n+#if $adv.scaling.plot_scaling == "Automatic"\n     gg_scaley = NULL\n #else\n-    gg_scaley = ylim($scaling.yaxismin, $scaling.yaxismax)\n+    gg_scaley = ylim($adv.scaling.yaxismin, $adv.scaling.yaxismax)\n #end if\n \n integrated <- read.csv(\'$input1\', sep=\'\\t\', header=TRUE)\n@@ -31,19 +31,22 @@\n \n @TRANSFORM@\n \n-#if $drawquartiles == "none"\n+@THEME@\n+\n+@LEGEND@\n+\n+#if $adv.drawquartiles == "none"\n     gg_quartile = NULL\n #else\n     gg_quartile = c(0.25, 0.5, 0.75)\n #end if\n \n-\n-ggplot(input, aes(variable, value)) + geom_violin(scale = "area", colour = \'$ggcolor\', fill = \'$ggfill\', draw_quantiles = gg_quartile) +\n-gg_scaley + theme_bw() + xlab(\'$xlab\') + ylab(\'$ylab\') + ggtitle(\'$title\')\n+## add advanced plotting options for final plot\n+plot_out <- ggplot(input, aes(variable, value)) +\n+    geom_violin(scale = "area", colour = \'$adv.ggcolor\', fill = \'$adv.ggfill\', draw_quantiles = gg_quartile) +\n+    gg_scaley + gg_legend + gg_theme + xlab(\'$xlab\') + ylab(\'$ylab\') + ggtitle(\'$title\')\n \n-ggsave(file=\'output_plot.pdf\')\n-dev.off()\n-\n+@SAVE_OUTPUT@\n         ]]></configfile>\n     </configfiles>\n     <inputs>\n@@ -51,63 +54,71 @@\n             help="Column headers are requirement. These will be the columns that are plotted."/>\n         <expand macro="title" />\n         <expand macro="xy_lab" />\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+        <section name="adv" title="Advanced Options" expanded="false">\n+            <param name="drawquartiles" type="select" label="Indicate quartiles of your data">\n+                <option value="none">Plot the data without indicating quartiles</option>\n+                <option value="indicate">Draw lines to indicate each quartile</option>\n+            </param>\n+            <param name="ggfill" type="select" label="Violin color options">\n+                <option value="blue" selected="true">Default (Blue)</option>\n+                <option value="black">Black</option>\n+                <option value="red">Red</option>\n+                <option value="white">White</option>\n+                <option value="orange">Orange</option>\n+                <option value="yellow">Yellow</option>\n+                <option value="green">Green</option>\n+                <option value="purple">Purple</option>\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-            <when value="Automatic" />\n-            <when value="Defined">\n-                <param name="yaxismin" type="integer" value="0" label="minimal range of y-axis" />\n-                <param name="yaxismax" type="integer" '..b'ption>\n-            <option value="purple">Purple</option>\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="ggcolor" type="select" label="Advanced - violin border options">\n-            <option value="yellow" selected="True">Default (Yellow)</option>\n-            <option value="black">Black</option>\n-            <option value="red">Red</option>\n-            <option value="white">White</option>\n-            <option value="blue">Blue</option>\n-            <option value="orange">Orange</option>\n-            <option value="green">Green</option>\n-            <option value="purple">Purple</option>\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="ggcolor" type="select" label="Violin border options">\n+                <option value="yellow" selected="true">Default (Yellow)</option>\n+                <option value="black">Black</option>\n+                <option value="red">Red</option>\n+                <option value="white">White</option>\n+                <option value="blue">Blue</option>\n+                <option value="orange">Orange</option>\n+                <option value="green">Green</option>\n+                <option value="purple">Purple</option>\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+            <expand macro="transform" />\n+            <conditional name="scaling">\n+                <param name="plot_scaling" type="select" label="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+                <when value="Defined">\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+            <expand macro="xy_scaling" />\n+            <expand macro="theme" />\n+            <expand macro="legend" />\n+        </section>\n+        <section name="out" title="Output Options" expanded="true">\n+            <expand macro="dimensions" />\n+        </section>\n     </inputs>\n     <outputs>\n-        <data name="output1" format="pdf" from_work_dir="Rplot.pdf"/>\n+        <expand macro="additional_output" />\n     </outputs>\n     <tests>\n         <test>\n             <param name="input1" value="mtcars.txt" ftype="tabular"/>\n-            <output name="output1" file="ggplot_violin_result1.pdf" compare="sim_size"/>\n+            <param name="additional_output_format" value="pdf" />\n+            <output name="output2" file="ggplot_violin_result1.pdf" compare="sim_size"/>\n         </test>\n     </tests>\n     <help><![CDATA[\n-        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. \n-\n+        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.\n     ]]></help>\n     <expand macro="citations"/>\n </tool>\n'
b
diff -r d85535076554 -r 43778344b955 macros.xml
--- a/macros.xml Tue Aug 29 09:02:49 2017 -0400
+++ b/macros.xml Mon Jun 11 16:05:43 2018 -0400
[
b'@@ -9,27 +9,116 @@\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+        ## 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+        ## 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+        #if $adv.transform == "log2"\n+            input["value"] <- log2(input["value"])\n+        #elif $adv.transform == "log2plus1"\n+            input["value"] <- log2(input["value"]+1)\n+        #elif $adv.transform == "log10"\n+            input["value"] <- log10(input["value"])\n+        #elif $adv.transform == "log10plus1"\n+            input["value"] <- log10(input["value"]+1)\n+        #end if\n+    ]]></token>\n+\n+    <token name="@XY_SCALING@"><![CDATA[\n+        #Choose between automatically scaled x and y axis or user defined\n+        #if $adv.scaling.plot_scaling == "Automatic"\n+            gg_scalex = NULL\n+            gg_scaley = NULL\n+        #else\n+            gg_scalex = xlim($adv.scaling.xaxismin, $adv.scaling.xaxismax)\n+            gg_scaley = ylim($adv.scaling.yaxismin, $adv.scaling.yaxismax)\n+            cat("\\n xaxismin: ", $adv.scaling.xaxismin)\n+            cat("\\n xaxismax: ", $adv.scaling.xaxismax)\n+            cat("\\n yaxismin: ", $adv.scaling.yaxismin)\n+            cat("\\n yaxismax: ", $adv.scaling.yaxismax)\n+        #end if\n+    ]]></token>\n+\n+    <token name="@THEME@"><![CDATA[\n+        ## Choose theme for plot\n+        #if $adv.theme == "bw"\n+            gg_theme = theme_bw()\n+        #else\n+            gg_theme = NULL\n+        #end if\n     ]]></token>\n \n+    <token name="@LEGEND@"><![CDATA[\n+        ## Show/hide legend\n+        #if $adv.legend == "yes"\n+            gg_legend = theme(legend.position="right")\n+        #else\n+            gg_legend = theme(legend.position="none")\n+            cat("\\n no legend")\n+        #end if\n+    ]]></token>\n+    <token name="@SAVE_OUTPUT@"><![CDATA[\n+        ## output options need to be in out section\n+        gg_width <- as.double(\'$out.width_output_dim\')\n+        gg_height <- as.double(\'$out.height_output_dim\')\n+        gg_unit <- \'$out.unit_output_dim\'\n+        gg_dpi <- as.double(\'$out.dpi_output_dim\')\n+        gg_add_device <- \'$out.additional_output_format\'\n+        output1 <- \'$output1\'\n+        output2 <- \'$output2\'\n+\n+        ## ggsave to png\n+        ggsave(filename = output1, plot = plot_out, width = gg_width, height = gg_height, units = gg_unit, dpi = gg_dpi, device = "png")\n+        if(gg_add_device != "none"){\n+          ggsave(filename = output2, plot = plot_out, width = gg_width, height = gg_height, units = gg_unit, dpi = gg_dpi, device = gg_add_device)\n+        }\n+    ]]></token>\n+    <xml name="read_complex_input">\n+        <param name="input1" type="data" format="tabular" label="Select table"/>\n+        <conditional name="inputdata">\n+            <param name="input_type" type="select" label="Select input dataset options" help="specific dataset input for reading">\n+                <option value="with_header" selected="true">Dataset with header</option>\n+                <option value="with_rownames">Dataset with row names</option>\n+                <option value="with_header_rownames">Dataset with header and row names</option>\n+                <option value="no_header_rownames">Dataset without header or row names</opt'..b'="dpi of output" help="Plot resolution. Applies only to raster output types."/>\n+        <param name="additional_output_format" type="select" label="Additional output format" help="PNG is always selected as output format">\n+            <option value="none" selected="true">only PNG</option>\n+            <option value="pdf">PDF</option>\n+            <option value="svg">SVG</option>\n+            <option value="eps">EPS</option>\n+            <option value="ps">PS</option>\n+            <option value="tex">TEX (pictex)</option>\n+            <option value="jpeg">JPEG</option>\n+            <option value="tiff">TIFF</option>\n+            <option value="bmp">BMP</option>\n+        </param>\n     </xml>\n     <xml name="citations">\n         <citations>\n-            <citation type="bibtex">@Book{\n+            <citation type="bibtex">@book{wickham2009ggplot2,\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+                url = {http://ggplot2.org},\n                 }\n             </citation>\n+            <yield />\n         </citations>\n     </xml>\n-\n-    <xml name="axis_customization" token_label="Advanced - axis title options">\n+    <xml name="axis_customization" token_label="Axis title options">\n         <param name="axis_customization" type="select" label="@LABEL@">\n-            <option value="default" selected="True">Default</option>\n+            <option value="default" selected="true">Default</option>\n             <option value="defined">User defined label options</option>\n         </param>\n         <when value="default">\n@@ -113,7 +225,7 @@\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+                <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@@ -122,7 +234,6 @@\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@@ -159,8 +270,22 @@\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+            <option value="BrBG">Brown to teal (discrete, max=11 colors)</option>\n         </param>\n     </xml>\n-\n+    <xml name="additional_output">\n+        <data name="output1" format="png" label="${tool.name} on ${on_string}: png"/>\n+        <data format="pdf" name="output2" label="${tool.name} on ${on_string}: ${out.additional_output_format}">\n+            <change_format>\n+                <when input="out.additional_output_format" value="svg" format="svg" />\n+                <when input="out.additional_output_format" value="eps" format="eps" />\n+                <when input="out.additional_output_format" value="ps" format="ps" />\n+                <when input="out.additional_output_format" value="tex" format="txt" />\n+                <when input="out.additional_output_format" value="jpeg" format="jpg" />\n+                <when input="out.additional_output_format" value="tiff" format="tiff" />\n+                <when input="out.additional_output_format" value="bmp" format="bmp" />\n+            </change_format>\n+            <filter>out[\'additional_output_format\'] != "none"</filter>\n+        </data>\n+    </xml>\n </macros>\n'
b
diff -r d85535076554 -r 43778344b955 test-data/ggplot_heatmap_result1.pdf
b
Binary file test-data/ggplot_heatmap_result1.pdf has changed
b
diff -r d85535076554 -r 43778344b955 test-data/ggplot_pca_result1.pdf
b
Binary file test-data/ggplot_pca_result1.pdf has changed