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

Changeset 0:9d060114554c (2017-08-22)
Next changeset 1:d3d92fb20389 (2017-08-29)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggplot2 commit 6e466ce83e2e5c0dd0ba30356d0488cf74574b8f
added:
ggplot_histogram.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 9d060114554c ggplot_histogram.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ggplot_histogram.xml Tue Aug 22 06:41:36 2017 -0400
[
@@ -0,0 +1,138 @@
+<tool id="ggplot2_histogram" name="Histogram 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'
+    ]]></command>
+    <configfiles>
+        <configfile name="script"><![CDATA[
+
+@R_INIT@
+
+## Import library
+library("reshape2")
+library("ggplot2")
+
+integrated <- read.csv('$input1', sep='\t', header=TRUE)
+input <- melt(integrated)
+
+## Show/hide legend
+#if $legend == "yes"
+    gg_legend = NULL
+#else
+    gg_legend = theme(legend.position="none")
+#end if
+
+## density
+#if $density == "counts"
+    gg_density = ggplot(input,aes(value, color=variable))
+    gg_freq = NULL
+#elif $density == "nfreq"
+    gg_density = ggplot(input,aes(value, ..ncount.., color=variable))
+    gg_freq = NULL
+#elif $density == "freq"
+    gg_density = ggplot(input,aes(value, color=variable))
+    gg_freq = aes(y=..count../sum(..count..))
+#end if
+
+@XY_SCALING@
+
+gg_width = $with_output_dim
+gg_height = $height_output_dim
+
+
+@TRANSFORM@
+
+#if $facet == "facet"
+    gg_facet = facet_wrap(~ variable)
+#else
+    gg_facet = NULL
+#end if
+
+#if $coloring.colorscheme == "Default"
+    gg_colorscale = NULL
+#else
+    gg_colorscale = scale_color_brewer(palette=$coloring.colors, direction=$coloring.colororder)
+#end if
+
+gg_density+
+geom_freqpoly(gg_freq, binwidth=$binwidth, size=$size)+gg_facet+gg_colorscale+
+gg_scalex+gg_scaley+theme_bw()+xlab('$xlab')+ylab('$ylab')+gg_legend+ggtitle('$title')
+
+ggsave(file='Rplot.pdf')
+dev.off()
+        ]]></configfile>
+    </configfiles>
+    <inputs>
+        <param name="input1" type="data" format="tabular" label="Input should have column headers - these will be the columns that are plotted"/>
+        <expand macro="title" />
+        <expand macro="xy_lab" />
+        <param name="size" type="float" value="1.0" label="relative line width" />
+        <param name="binwidth" type="float" value="0.5" label="Bin width for plotting"/>
+
+        <expand macro="transform" />
+
+        <param name="density" type="select" label="Advanced - plot counts or density">
+            <option value="counts">Plot counts on the y-axis</option>
+            <option value="freq">Plot frequency on the y-axis</option>
+            <option value="nfreq">Plot normalized frequency on the y-axis</option>
+        </param>
+        <param name="facet" type="select" label="Advanced - faceting">
+            <option value="none">Plot my groups on one plot</option>
+            <option value="facet">Plot my groups on individual plots</option>
+        </param>
+        <conditional name="coloring">
+            <param name="colorscheme" type="select" label="Advanced - coloring groups" >
+                <option value="Default" selected="True">No thanks - just use the default scheme to color code my groups (columns)</option>
+                <option value="Defined">I want to use defined color palettes to differentiate my groups (columns) </option>
+            </param>
+            <when value="Default">
+            </when>
+            <when value="Defined">
+                <expand macro="colors" />
+                <param name="colororder" type="select" label="Reverse color scheme" >
+                    <option value="1">Default order of color scheme</option>
+                    <option value="-1">Reverse the order of my color scheme</option>
+                </param> 
+            </when>
+        </conditional>
+        <expand macro="xy_scaling" />
+        <expand macro="dimensions" />
+        <param name="legend" type="select" label="Legend options">
+            <option value="yes">Include legend on plot</option>
+            <option value="no">Hide legend</option>
+        </param>
+    </inputs>
+    <outputs>
+        <!-- <data name="output1" format="png" from_work_dir="Rplot.png"/>
+            ToDo: It would be nice to have different output formats for all tools
+        -->
+        <data name="output1" format="pdf" from_work_dir="Rplot.pdf"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input1" value="mtcars.txt"/>
+            <output name="output1" file="ggplot_histogram_result1.pdf" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+This tool will generate a histogram representing the distrinutions of each numerical column. Each column should have a descriptive header with no spaces, which will be used in the plot legend to represent the corresponding column (group).
+
+Input data example:
+ID  Cond_A Cond_B
+gene_A  10  15
+gene_B  8   12
+gene_C 10   15
+gene_D  6   9
+gene_E  9   13.5
+gene_F  8   12
+
+    ]]></help>
+    <expand macro="citations"/>
+</tool>
b
diff -r 000000000000 -r 9d060114554c macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Tue Aug 22 06:41:36 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 9d060114554c test-data/ggplot_heatmap2_result1.pdf
b
Binary file test-data/ggplot_heatmap2_result1.pdf has changed
b
diff -r 000000000000 -r 9d060114554c test-data/ggplot_histogram_result1.pdf
b
Binary file test-data/ggplot_histogram_result1.pdf has changed
b
diff -r 000000000000 -r 9d060114554c test-data/ggplot_point_result1.pdf
b
Binary file test-data/ggplot_point_result1.pdf has changed
b
diff -r 000000000000 -r 9d060114554c test-data/ggplot_violin_result1.pdf
b
Binary file test-data/ggplot_violin_result1.pdf has changed
b
diff -r 000000000000 -r 9d060114554c test-data/mtcars.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/mtcars.txt Tue Aug 22 06:41:36 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