Mercurial > repos > iuc > ggplot2_point
changeset 2:9a482995958c draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggplot2 commit f9fb73a88ab8b52ce11c25a966d4fe99e67c9fbf
author | iuc |
---|---|
date | Mon, 11 Jun 2018 16:04:40 -0400 |
parents | a78aa83f6625 |
children | 46f91106439b |
files | ggplot_point.xml macros.xml test-data/ggplot_heatmap_result1.pdf test-data/ggplot_pca_result1.pdf test-data/mtcars.txt |
diffstat | 4 files changed, 292 insertions(+), 182 deletions(-) [+] |
line wrap: on
line diff
--- a/ggplot_point.xml Tue Aug 29 09:02:26 2017 -0400 +++ b/ggplot_point.xml Mon Jun 11 16:04:40 2018 -0400 @@ -1,32 +1,26 @@ -<tool id="ggplot2_point" name="Scatterplot w ggplot2" version="@VERSION@"> +<tool id="ggplot2_point" name="Scatterplot w ggplot2" version="@VERSION@+galaxy0"> <macros> <import>macros.xml</import> </macros> - <expand macro="requirements"></expand> + <expand macro="requirements"> + <requirement type="package" version="1.2.1">r-svglite</requirement> + </expand> <command detect_errors="exit_code"><![CDATA[ cat '$script' && -Rscript '$script' && -mv output_plot.pdf $output1 +Rscript '$script' ]]></command> <configfiles> <configfile name="script"><![CDATA[ - @R_INIT@ ## Import library -library("ggplot2") +library(ggplot2) @XY_SCALING@ -## Choose theme for plot -#if $theme == "bw" - gg_theme = theme_bw() -#else - gg_theme = NULL -#end if +@THEME@ -gg_width = $with_output_dim -gg_height = $height_output_dim +@LEGEND@ input <- read.csv('$input1', sep='\t', header=TRUE) @@ -35,91 +29,87 @@ names(input)[$yplot] <- "ycol" ## choosing whether to plot data as multiple groups on one plot(factoring) OR multiple groups on different plots -#if $factor.factoring == "Multiple" +#if $adv.factor.factoring == "Multiple" gg_facet = facet_wrap( ~ factor) gg_factor = NULL color_scale = NULL - #if $points.pointoptions == "Default" + #if $adv.points.pointoptions == "Default" gg_point = geom_point(size=1, alpha=1, gg_factor) #else - gg_point = geom_point(size='$points.size', alpha='$points.alpha', colour='$points.pointcolor') + gg_point = geom_point(size='$adv.points.size', alpha='$adv.points.alpha', colour='$adv.points.pointcolor') #end if - names(input)[$factor.factorcol] <- "factor" + names(input)[$adv.factor.factorcol] <- "factor" -#elif $factor.factoring == "Single" +#elif $adv.factor.factoring == "Single" gg_facet = NULL gg_factor = aes(colour=factor(factor)) - #if $points.pointoptions == "default" - gg_point = geom_point(size=1, alpha=1, gg_factor) - #else - gg_point = geom_point(size=$points.size, alpha='$points.alpha', gg_factor) - #end if + #if $adv.points.pointoptions == "default" + gg_point = geom_point(size=1, alpha=1, gg_factor) + #else + gg_point = geom_point(size=$adv.points.size, alpha='$adv.points.alpha', gg_factor) + #end if - #if $colors == "Default" - color_scale = scale_colour_hue(direction='$factor.colororder') - #else - color_scale = scale_color_brewer(palette='$colors', direction='$factor.colororder') - #end if + #if $adv.colors == "Default" + color_scale = scale_colour_hue(direction='$adv.factor.colororder') + #else + color_scale = scale_color_brewer(palette='$adv.colors', direction='$adv.factor.colororder') + #end if - names(input)[$factor.factorcol] <- "factor" + names(input)[$adv.factor.factorcol] <- "factor" #else - gg_facet = NULL - gg_factor = NULL - color_scale = NULL + gg_facet = NULL + gg_factor = NULL + color_scale = NULL - #if $points.pointoptions == "default" - gg_point = geom_point(size=1, alpha=1, gg_factor) - #else - gg_point = geom_point(size=$points.size, alpha='$points.alpha', colour='$points.pointcolor') - #end if + #if $adv.points.pointoptions == "default" + gg_point = geom_point(size=1, alpha=1, gg_factor) + #else + gg_point = geom_point(size=$adv.points.size, alpha='$adv.points.alpha', colour='$adv.points.pointcolor') + #end if #end if @TRANSFORM@ ##axis label custization -#if $axis_title_customization.axis_customization == "default" +#if $adv.axis_title_customization.axis_customization == "default" gg_axistitle = theme(axis.title = element_text(color = NULL, size = NULL, face = NULL)) #else - gg_axistitle = theme(axis.title = element_text(color = '$color', size = '$size', face = '$face')) + gg_axistitle = theme(axis.title = element_text(color = '$adv.color', size = '$adv.size', face = '$adv.face')) #end if - ##axis text(tick) custization -#if $axis_text_customization.axis_customization == "default" +#if $adv.axis_text_customization.axis_customization == "default" gg_axistext = theme(axis.text = element_text(color = NULL, size = NULL, face = NULL)) #else - gg_axistext = theme(axis.text = element_text(color = '$color', size = '$size', face = '$face')) + gg_axistext = theme(axis.text = element_text(color = '$adv.color', size = '$adv.size', face = '$adv.face')) #end if ##plot title custimization -#if $plot_title_customization.axis_customization == "default" +#if $adv.plot_title_customization.axis_customization == "default" gg_plottitle = theme(plot.title = element_text(color = NULL, size = NULL, face = NULL)) #else - gg_plottitle = theme(plot.title = element_text(color='$color', size='$size', face='$face')) + gg_plottitle = theme(plot.title = element_text(color='$adv.color', size='$adv.size', face='$adv.face')) #end if - - ## grid line customization -#if $gridlinecust == "default" +#if $adv.gridlinecust == "default" gg_gridline = NULL -#elif $gridlinecust == "hidemajor" +#elif $adv.gridlinecust == "hidemajor" gg_gridline = theme(panel.grid.major = element_blank()) -#elif $gridlinecust == "hideminor" +#elif $adv.gridlinecust == "hideminor" gg_gridline = theme(panel.grid.minor = element_blank()) -#elif $gridlinecust == "hideboth" +#elif $adv.gridlinecust == "hideboth" gg_gridline = theme(panel.grid.minor = element_blank(), panel.grid.major = element_blank()) #end if #this is the actual ggplot command to make the final plot(s) -ggplot(input, aes(xcol,ycol)) + gg_point + gg_facet+ -gg_theme + gg_scalex + gg_scaley + color_scale + ggtitle('$title') + xlab('$xlab') + ylab('$ylab')+ -gg_axistitle + gg_axistext + gg_plottitle + gg_gridline +plot_out <- ggplot(input, aes(xcol, ycol)) + gg_point + gg_facet + + gg_theme + gg_scalex + gg_scaley + color_scale + gg_legend + ggtitle('$title') + xlab('$xlab') + ylab('$ylab')+ + gg_axistitle + gg_axistext + gg_plottitle + gg_gridline -ggsave(file='output_plot.pdf', width=gg_width, height=gg_height) -dev.off() +@SAVE_OUTPUT@ ]]></configfile> </configfiles> <inputs> @@ -129,104 +119,99 @@ <expand macro="title" /> <expand macro="xy_lab" /> - - <conditional name="points"> - <param name="pointoptions" type="select" label="Advanced - data point options"> - <option value="default" selected="True">Default</option> - <option value="defined">User defined point options</option> - </param> - <when value="default"> - <!--Do nothing here --> - </when> - <when value="defined"> - <param name="size" type="float" value="1" label="relative size of points" /> - <param name="alpha" type="float" value="1" label="Transparency of points (On a scale of 0-1; 0=transparent, 1=default)" /> - <param name="pointcolor" type="select" label="Color of data points" > - <option value="black">Black (default)</option> - <option value="red">Red</option> - <option value="white">White</option> - <option value="blue">Blue</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> + <section name="adv" title="Advanced Options" expanded="false"> + <conditional name="points"> + <param name="pointoptions" type="select" label="Data point options"> + <option value="default" selected="true">Default</option> + <option value="defined">User defined point options</option> </param> - </when> - </conditional> - <conditional name="factor"> - <param name="factoring" type="select" label="Advanced - plotting multiple groups" > - <option value="Default" selected="True">No thanks - just plot the data as one group</option> - <option value="Single">Plot multiple groups of data on one plot</option> - <option value="Multiple">Plot multiple groups of data on individual plots</option> + <when value="default"> + <!--Do nothing here --> + </when> + <when value="defined"> + <param name="size" type="float" value="1" label="relative size of points" /> + <param name="alpha" type="float" value="1" label="Transparency of points (On a scale of 0-1; 0=transparent, 1=default)" /> + <param name="pointcolor" type="select" label="Color of data points" > + <option value="black">Black (default)</option> + <option value="red">Red</option> + <option value="white">White</option> + <option value="blue">Blue</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> + </when> + </conditional> + <conditional name="factor"> + <param name="factoring" type="select" label="Plotting multiple groups" > + <option value="Default" selected="true">No thanks - just plot the data as one group</option> + <option value="Single">Plot multiple groups of data on one plot</option> + <option value="Multiple">Plot multiple groups of data on individual plots</option> + </param> + <when value="Default"> + <!--Do nothing here --> + </when> + <when value="Single"> + <param name="factorcol" type="integer" value="1" label="column differentiating the different groups" /> + <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> + <when value="Multiple"> + <param name="factorcol" type="integer" value="1" label="column differentiating the different groups" /> + </when> + </conditional> + <conditional name="axis_title_customization"> + <expand macro="axis_customization" label="Axis title options" /> + </conditional> + <conditional name="axis_text_customization"> + <expand macro="axis_customization" label="Axis text options" /> + </conditional> + <conditional name="plot_title_customization"> + <expand macro="axis_customization" label="Plot title options" /> + </conditional> + <param name="gridlinecust" type="select" label="Grid lines"> + <option value="default">Default grid lines</option> + <option value="hidemajor">Hide major grid lines</option> + <option value="hideminor">Hide minor grid lines</option> + <option value="hideboth">Hide major and minor grid lines</option> </param> - <when value="Default"> - <!--Do nothing here --> - </when> - <when value="Single"> - <param name="factorcol" type="integer" value="1" label="column differentiating the different groups" /> - <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> - <when value="Multiple"> - <param name="factorcol" type="integer" value="1" label="column differentiating the different groups" /> - </when> - </conditional> - <expand macro="transform" /> - - <expand macro="xy_scaling" /> - - <param name="theme" type="select" label="Advanced - backgound theme for plot"> - <option value="bw">Black and white</option> - <option value="Default">Default (grey)</option> - </param> - - <conditional name="axis_title_customization"> - <expand macro="axis_customization" label="Advanced - axis title options" /> - </conditional> - <conditional name="axis_text_customization"> - <expand macro="axis_customization" label="Advanced - axis text options" /> - </conditional> - <conditional name="plot_title_customization"> - <expand macro="axis_customization" label="Advanced - Plot title options" /> - </conditional> - <param name="gridlinecust" type="select" label="Advanced - grid lines"> - <option value="default">Default grid lines</option> - <option value="hidemajor">Hide major grid lines</option> - <option value="hideminor">Hide minor grid lines</option> - <option value="hideboth">Hide major and minor grid lines</option> - </param> - <expand macro="dimensions" /> + <expand macro="transform" /> + <expand macro="xy_scaling" /> + <expand macro="theme" /> + <expand macro="legend" /> + </section> + <section name="out" title="Output Options" expanded="true"> + <expand macro="dimensions" /> + </section> </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"/> + <expand macro="additional_output" /> </outputs> <tests> <test> <param name="input1" value="mtcars.txt" ftype="tabular" /> - <output name="output1" file="ggplot_point_result1.pdf" compare="sim_size" /> + <param name="additional_output_format" value="pdf" /> + <output name="output2" file="ggplot_point_result1.pdf" compare="sim_size" /> </test> </tests> <help><![CDATA[ - This tool will generate a scatterplot representing data from two groups/conditions. +This tool will generate a scatterplot representing data from two groups/conditions. - The input data should be in tabular format and the user can determine which groups (columns) to plot. +The input data should be in tabular format and the user can determine which groups (columns) to plot. - Multiple groups can be plotted on the same or multiple plots by providing a column with a group identifier under "Advanced - plotting multiple groups". +Multiple groups can be plotted on the same or multiple plots by providing a column with a group identifier under "Advanced - plotting multiple groups". - Feel free to explore the (many) advanced options to customize your plot. Galaxy makes this type optimization easy for the user! +Feel free to explore the (many) advanced options to customize your plot. Galaxy makes this type optimization easy for the user! - The ouput is a pdf file with your scatterplot. The dimensions of this file can be modified under "Advanced - output dimensions" - +The ouput is a pdf file with your scatterplot. The dimensions of this file can be modified under "Advanced - output dimensions" ]]></help> <expand macro="citations"/> </tool>
--- a/macros.xml Tue Aug 29 09:02:26 2017 -0400 +++ b/macros.xml Mon Jun 11 16:04:40 2018 -0400 @@ -9,27 +9,116 @@ <token name="@VERSION@">2.2.1</token> <token name="@R_INIT@"><![CDATA[ -## Setup R error handling to go to stderr -options(show.error.messages=F, error=function(){cat(geterrmessage(), file=stderr()); q("no",1,F)}) + ## Setup R error handling to go to stderr + options(show.error.messages=F, error=function(){cat(geterrmessage(), file=stderr()); q("no",1,F)}) -## Unify locale settings -loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") + ## Unify locale settings + loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") ]]></token> <token name="@TRANSFORM@"><![CDATA[ -#if $transform == "log2" - input["value"] <- log2(input["value"]) -#elif $transform == "log2plus1" - input["value"] <- log2(input["value"]+1) -#elif $transform == "log10" - input["value"] <- log10(input["value"]) -#elif $transform == "log10plus1" - input["value"] <- log10(input["value"]+1) -#end if + #if $adv.transform == "log2" + input["value"] <- log2(input["value"]) + #elif $adv.transform == "log2plus1" + input["value"] <- log2(input["value"]+1) + #elif $adv.transform == "log10" + input["value"] <- log10(input["value"]) + #elif $adv.transform == "log10plus1" + input["value"] <- log10(input["value"]+1) + #end if + ]]></token> + + <token name="@XY_SCALING@"><![CDATA[ + #Choose between automatically scaled x and y axis or user defined + #if $adv.scaling.plot_scaling == "Automatic" + gg_scalex = NULL + gg_scaley = NULL + #else + gg_scalex = xlim($adv.scaling.xaxismin, $adv.scaling.xaxismax) + gg_scaley = ylim($adv.scaling.yaxismin, $adv.scaling.yaxismax) + cat("\n xaxismin: ", $adv.scaling.xaxismin) + cat("\n xaxismax: ", $adv.scaling.xaxismax) + cat("\n yaxismin: ", $adv.scaling.yaxismin) + cat("\n yaxismax: ", $adv.scaling.yaxismax) + #end if + ]]></token> + + <token name="@THEME@"><![CDATA[ + ## Choose theme for plot + #if $adv.theme == "bw" + gg_theme = theme_bw() + #else + gg_theme = NULL + #end if ]]></token> + <token name="@LEGEND@"><![CDATA[ + ## Show/hide legend + #if $adv.legend == "yes" + gg_legend = theme(legend.position="right") + #else + gg_legend = theme(legend.position="none") + cat("\n no legend") + #end if + ]]></token> + <token name="@SAVE_OUTPUT@"><![CDATA[ + ## output options need to be in out section + gg_width <- as.double('$out.width_output_dim') + gg_height <- as.double('$out.height_output_dim') + gg_unit <- '$out.unit_output_dim' + gg_dpi <- as.double('$out.dpi_output_dim') + gg_add_device <- '$out.additional_output_format' + output1 <- '$output1' + output2 <- '$output2' + + ## ggsave to png + ggsave(filename = output1, plot = plot_out, width = gg_width, height = gg_height, units = gg_unit, dpi = gg_dpi, device = "png") + if(gg_add_device != "none"){ + ggsave(filename = output2, plot = plot_out, width = gg_width, height = gg_height, units = gg_unit, dpi = gg_dpi, device = gg_add_device) + } + ]]></token> + <xml name="read_complex_input"> + <param name="input1" type="data" format="tabular" label="Select table"/> + <conditional name="inputdata"> + <param name="input_type" type="select" label="Select input dataset options" help="specific dataset input for reading"> + <option value="with_header" selected="true">Dataset with header</option> + <option value="with_rownames">Dataset with row names</option> + <option value="with_header_rownames">Dataset with header and row names</option> + <option value="no_header_rownames">Dataset without header or row names</option> + </param> + <when value="with_header"> + <param name="header" type="hidden" value="TRUE"/> + <param name="row_names_index" type="hidden" value="0"/> + <param name="sample_name_orientation" type="select" display="radio" multiple="false" label="Sample names orientation" help="Default horizontal: header names are interpreted as sample names"> + <option value="TRUE" selected="true">horizontal</option> + <option value="FALSE">vertial</option> + </param> + </when> + <when value="with_rownames"> + <param name="header" type="hidden" value="FALSE"/> + <param name="row_names_index" type="data_column" data_ref="input1" label="Select column, for row names" help="WARNING: please consider that using row names might shift the grouping columns"/> + <param name="sample_name_orientation" type="select" display="radio" label="Sample names orientation" help="default vertial: row names are interpreted as sample names"> + <option value="TRUE">horizontal</option> + <option value="FALSE" selected="true">vertial</option> + </param> + </when> + <when value="with_header_rownames"> + <param name="header" type="hidden" value="TRUE"/> + <param name="row_names_index" type="data_column" data_ref="input1" label="Select column, for row names" help="WARNING: please consider that using row names might shift the grouping columns"/> + <param name="sample_name_orientation" type="select" label="Sample names orientation" display="radio" multiple="false" help="deside whether header names or row names are interpreted as sample names"> + <option value="TRUE" selected="true">horizontal</option> + <option value="FALSE">vertial</option> + </param> + </when> + <when value="no_header_rownames"> + <param name="header" type="hidden" value="FALSE"/> + <param name="row_names_index" type="hidden" value="0"/> + <param name="sample_name_orientation" type="hidden" value="TRUE"/> + </when> + </conditional> + </xml> <xml name="transform"> - <param name="transform" type="select" label="Advanced - log transformation"> + <param name="transform" type="select" label="Data 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> @@ -37,23 +126,11 @@ <option value="log10plus1">Log10(value+1) transform my data</option> </param> </xml> - - <token name="@XY_SCALING@"><![CDATA[ -#Choose between automatically scaled x and y axis or user defined -#if $scaling.plot_scaling == "Automatic" - gg_scalex = NULL - gg_scaley = NULL -#else - gg_scalex = xlim($scaling.xaxismin, $scaling.xaxismax) - gg_scaley = ylim($scaling.yaxismin, $scaling.yaxismax) -#end if - ]]></token> - <xml name="xy_scaling"> <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 name="plot_scaling" type="select" label="Axis scaling"> + <option value="Automatic" selected="true">Automatic axis scaling</option> + <option value="Defined">User-defined axis scales</option> </param> <when value="Automatic"> <!--Do nothing here --> @@ -67,33 +144,68 @@ </conditional> </xml> <xml name="title"> - <param name="title" type="text" value="plot title" label="Title of plot" /> + <param name="title" type="text" value="" label="Plot title"> + <!--<sanitizer sanitize="false"/> --> + </param> </xml> <xml name="xy_lab"> - <param name="xlab" type="text" value="title of x-axis" label="Label for x-axis"/> - <param name="ylab" type="text" value="title of y-axis" label="Label for y-axis"/> + <param name="xlab" type="text" value="title of x-axis" label="Label for x axis"> + <sanitizer sanitize="false"/> + </param> + <param name="ylab" type="text" value="title of y-axis" label="Label for y axis"> + <sanitizer sanitize="false"/> + </param> + </xml> + <xml name="legend"> + <param name="legend" type="select" label="Legend options"> + <option value="yes">Include legend on plot</option> + <option value="no">Hide legend</option> + </param> + </xml> + <xml name="theme"> + <param name="theme" type="select" label="Backgound theme for plot"> + <option value="bw">Black and white</option> + <option value="Default">Default (grey)</option> + </param> </xml> <xml name="dimensions"> - <param name="with_output_dim" type="float" value="7" label="width of output" help="in inches" /> - <param name="height_output_dim" type="float" value="7" label="height of output" help="in inches" /> + <param name="unit_output_dim" type="select" label="Unit of output dimensions" help="default inches"> + <option value="in" selected="true">Inches (in)</option> + <option value="cm">Centimeters (cm)</option> + <option value="mm">Millimeters (mm)</option> + </param> + <param name="width_output_dim" type="float" value="7" label="width of output"/> + <param name="height_output_dim" type="float" value="7" label="height of output"/> + <param name="dpi_output_dim" type="float" value="300" label="dpi of output" help="Plot resolution. Applies only to raster output types."/> + <param name="additional_output_format" type="select" label="Additional output format" help="PNG is always selected as output format"> + <option value="none" selected="true">only PNG</option> + <option value="pdf">PDF</option> + <option value="svg">SVG</option> + <option value="eps">EPS</option> + <option value="ps">PS</option> + <option value="tex">TEX (pictex)</option> + <option value="jpeg">JPEG</option> + <option value="tiff">TIFF</option> + <option value="bmp">BMP</option> + </param> </xml> <xml name="citations"> <citations> - <citation type="bibtex">@Book{ + <citation type="bibtex">@book{wickham2009ggplot2, author = {Hadley Wickham}, title = {ggplot2: Elegant Graphics for Data Analysis}, publisher = {Springer-Verlag New York}, year = {2009}, isbn = {978-0-387-98140-6}, - url = {http://ggplot2.org} + url = {http://ggplot2.org}, } </citation> + <yield /> </citations> </xml> - - <xml name="axis_customization" token_label="Advanced - axis title options"> + <xml name="axis_customization" token_label="Axis title options"> <param name="axis_customization" type="select" label="@LABEL@"> - <option value="default" selected="True">Default</option> + <option value="default" selected="true">Default</option> <option value="defined">User defined label options</option> </param> <when value="default"> @@ -113,7 +225,7 @@ <option value="magenta">Magenta</option> <option value="cyan">Cyan</option> <option value="grey">Grey</option> - <option value="gold">Gold</option> + <option value="gold">Gold</option> </param> <param name="face" type="select" label="Font effect of axis label"> <option value="plain">Normal (default)</option> @@ -122,7 +234,6 @@ </param> </when> </xml> - <xml name="colors"> <param name="colors" type="select" label="Color schemes to differentiate your groups" > <option value="Default">Default color scheme</option> @@ -159,8 +270,22 @@ <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> + <option value="BrBG">Brown to teal (discrete, max=11 colors)</option> </param> </xml> - + <xml name="additional_output"> + <data name="output1" format="png" label="${tool.name} on ${on_string}: png"/> + <data format="pdf" name="output2" label="${tool.name} on ${on_string}: ${out.additional_output_format}"> + <change_format> + <when input="out.additional_output_format" value="svg" format="svg" /> + <when input="out.additional_output_format" value="eps" format="eps" /> + <when input="out.additional_output_format" value="ps" format="ps" /> + <when input="out.additional_output_format" value="tex" format="txt" /> + <when input="out.additional_output_format" value="jpeg" format="jpg" /> + <when input="out.additional_output_format" value="tiff" format="tiff" /> + <when input="out.additional_output_format" value="bmp" format="bmp" /> + </change_format> + <filter>out['additional_output_format'] != "none"</filter> + </data> + </xml> </macros>