view ggplot_histogram.xml @ 0:9d060114554c draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggplot2 commit 6e466ce83e2e5c0dd0ba30356d0488cf74574b8f
author iuc
date Tue, 22 Aug 2017 06:41:36 -0400
parents
children f52035800250
line wrap: on
line source

<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>