view ggplot_histogram.xml @ 4:d61d62699e5c draft

Uploaded
author moheydarian
date Tue, 14 Mar 2017 14:20:49 -0400
parents
children
line wrap: on
line source

<tool id="ggplot_histogram" name="Histogram w ggplot2" version="0.1.2">
    <requirements>
        <requirement type="package">r-getopt</requirement>
        <requirement type="package">r-ggplot2</requirement>
        <requirement type="package">r-reshape2</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" />
    </stdio>
    <command><![CDATA[
        Rscript ${__tool_directory__}/ggplotscripthistogram.R --input "$input1" --title "$title" 
        --xlab "$xlab" --ylab "$ylab" --transform "$transformation.transform" --scaling "$scaling.Plot_scaling" 
        --colorscheme "$coloring.colorscheme" --dim "$dimensions.plotdim" --facet "$group.facet" 
        --size "$size" --binwidth "$binwidth" --legend "$showlegend.legend" --output "Rplot.pdf"
        #if str( $coloring.colorscheme ) == "Defined":
            --colors ${coloring.colors}
            --colororder ${coloring.colororder}
        #else:
           --colors=irrelevant
           --colororder=1
        #end if

        #if str( $scaling.Plot_scaling ) == "Defined":
            --xaxismin=${scaling.xaxismin}
            --xaxismax=${scaling.xaxismax}
            --yaxismin=${scaling.yaxismin}
            --yaxismax=${scaling.yaxismax}
        #else:
           --xaxismin=0
           --xaxismax=1
           --yaxismin=2
           --yaxismax=3
        #end if

        #if str( $dimensions.plotdim ) == "Defined":
            --woutputdim ${dimensions.woutputdim}
            --houtputdim ${dimensions.houtputdim}
        #else:
           --woutputdim=7
           --houtputdim=7
        #end if

    ]]></command>
    <inputs>
        <param name="input1" type="data" format="tabular" label="Input should have column headers - these will be the columns that are plotted"/>
        <param name="title" size="30" type="text"  format="txt"/>
        <param name="xlab" size="30" type="text" value="title of x-axis" label="Label for x-axis"/>
        <param name="ylab" size="30" type="text" value="title of y-axis" label="Label for y-axis"/>
        <param name="size" size="4" type="float" value="1" label="relative line width" />
        <param name="binwidth" size="4" type="float" value="0.5" label="Bin width for plotting"/>
        <conditional name="transformation">
            <param name="transform" type="select" label="Advanced - log transformation">
              <option value="none">Plot the data as it is</option>
              <option value="log2">Log2(value) transform my data</option>
              <option value="log2plus1">Log2(value+1) transform my data</option>
              <option value="log10">Log10(value) transform my data</option>
              <option value="log10plus1">Log10(value+1) transform my data</option>
            </param>
        </conditional>
        <conditional name="group">
            <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>
        <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">
                <param name="colors" type="select" label="Color schemes to differentiate your groups" >
                    <option value="Default">Default color scheme</option>
                    <option value="YlOrRd">Yellow to orange to red (discrete, max=9 colors)</option>
                    <option value="YlOrBr">Yellow to orange to brown (discrete, max=9 colors)</option> 
                    <option value="YlGnBu">Yellow to green to blue (discrete, max=9 colors)</option>
                    <option value="YlGn">Yellow to green (discrete, max=9 colors)</option>
                    <option value="Reds">Shades of red from light to dark (discrete, max=9 colors)</option>
                    <option value="RdPu">Red to purple (discrete, max=9 colors)</option>
                    <option value="Purples">Shades of purple from light to dark (discrete, max=9 colors)</option>
                    <option value="PuRd">Purple to red (discrete, max=9 colors)</option>
                    <option value="PuBuGn">Purple to blue to green (discrete, max=9 colors)</option>
                    <option value="PuBu">Purple to blue(discrete, max=9 colors)</option>
                    <option value="OrRd">Orange to red (discrete, max=9 colors)</option>
                    <option value="Oranges">Shades of orange from light to dark (discrete, max=9 colors)</option>
                    <option value="Greys">Shades of grey from light to dark (discrete, max=9 colors)</option>
                    <option value="Greens">Shades of greens from light to dark (discrete, max=9 colors)</option>
                    <option value="GnBu">Green to blue (discrete, max=9 colors)</option>
                    <option value="BuPu">Blue to purple (discrete, max=9 colors)</option>
                    <option value="BuGn">Blue to green (discrete, max=9 colors)</option>
                    <option value="Blues">Shades of blue from light to dark (discrete, max=9 colors)</option>
                    <option value="Set1">Set 1 - predefined color pallete (discrete, max=9 colors)</option>
                    <option value="Set2">Set 2 - predefined color pallete (discrete, max=8 colors)</option>
                    <option value="Set3">Set 3 - predefined color pallete (discrete, max=12 colors)</option>
                    <option value="Pastel1">Pastel 1 - predefined pastel color pallete (discrete, max=9 colors)</option>
                    <option value="Pastel2">Pastel 2 - predefined pastel color pallete (discrete, max=8 colors)</option>
                    <option value="Paired">Paired - predefined color pallete (discrete, max=12 colors)</option>
                    <option value="Dark2">Dark 2 - predefined color pallete (discrete, max=12 colors)</option>
                    <option value="Accent">Accent - predefined color pallete (discrete, max=12 colors)</option>
                    <option value="Spectral">Spectral - Red to yellow to purple (discrete, max=11 colors)</option>
                    <option value="RdYlGn">Red to yellow to green (discrete, max=11 colors)</option>
                    <option value="RdYlBu">Red to yellow to blue (discrete, max=11 colors)</option>
                    <option value="RdGy">Red to grey (discrete, max=11 colors)</option>
                    <option value="RdBu">Red to blue (discrete, max=11 colors)</option>
                    <option value="PuOr">Purple to orange (discrete, max=11 colors)</option>
                    <option value="PRGn">Purple to green (discrete, max=11 colors)</option>
                    <option value="BrBG">Brown to teal (discrete, max=11 colors)</option> 
                </param>
                <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>
        <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">
                <!--Do nothing here -->
            </when>
            <when value="Defined">
                <param name="xaxismin" size="4" type="integer" value="0" label="minimal range of x-axis" />
                <param name="xaxismax" size="4" type="integer" value="3" label="maximal range of x-axis" />
                <param name="yaxismin" size="4" type="integer" value="0" label="minimal range of y-axis" />
                <param name="yaxismax" size="4" type="integer" value="3" label="maximal range of y-axis" />
            </when>
        </conditional>
        <conditional name="dimensions">
            <param name="plotdim" type="select" label="Advanced - output dimensions">
                <option value="Default" selected="True">Default</option>
                <option value="Defined">User deined output dimensions</option>
            </param>
            <when value="Default">
                <!--Do nothing here -->
            </when>
            <when value="Defined">
                <param name="woutputdim" size="4" type="float" value="7" label="width of output (inches)" />
                <param name="houtputdim" size="4" type="float" value="7" label="height of output (inches)" />
            </when>
        </conditional>
        <conditional name="showlegend">
            <param name="legend" type="select" label="Legend options">
              <option value="yes">Include legend on plot</option>
              <option value="no">Hide legend</option>
            </param>
        </conditional>
    </inputs>
    <outputs>
        <!-- <data name="output1" format="png" from_work_dir="Rplot.png"/> -->
        <data name="output1" format="pdf" from_work_dir="Rplot.pdf"/>
    </outputs>
    <tests>
        <test>
            <param name="input1" value="input.txt"/>
            <output name="output1" file="Rplot.pdf"/>
        </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>
    <citations>
        <citation type="bibtex">
@misc{renameTODO,
  author = {TODO, FirstTODO},
  year = {TODO},
  title = {TODO},
  url = {under construction},
}</citation>
    </citations>
</tool>