Mercurial > repos > galaxyp > metaquantome_viz
diff metaquantome_viz.xml @ 0:6cfd42b015b4 draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/metaquantome commit d45eb2747cc58e1120b3935f10ab47c4e0f8f44a
author | galaxyp |
---|---|
date | Thu, 25 Apr 2019 13:48:59 -0400 |
parents | |
children | 8c30496a665a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/metaquantome_viz.xml Thu Apr 25 13:48:59 2019 -0400 @@ -0,0 +1,433 @@ +<tool id="metaquantome_viz" name="metaQuantome: visualize" version="@GVERSION@"> + <description>taxonomic analysis, functional analysis, and function-taxonomy analysis results</description> + <macros> + <import>macros.xml</import> + <xml name="barcol"> + <param argument="--barcol" type="select" label="Color for the bar fill"> + <option value="1">Blue</option> + <option value="2">Orange</option> + <option value="3">Yellow</option> + <option value="4">Red</option> + <option value="5">Violet</option> + <option value="6">Black</option> + <help> + These same colors are also used in the heatmap and PCA plot, + so the colors can be tweaked to match. Note that these colors + are coded as 1 through 6 in the command line tool. + </help> + </param> + </xml> + <xml name="common_bar_params"> + <param argument="--meancol" type="text" label="Mean intensity column name" + help="Mean intensity column name for desired experimental condition"> + <validator type="empty_field"/> + </param> + <param argument="--nterms" type="integer" + value="5" min="1" optional="true" + label="Number of terms to display" + help="leave blank for all terms"/> + </xml> + <xml name="common_volc_params"> + <param argument="--fc_name" type="text" label="Name of the fold change column in the stat dataframe"> + <validator type="empty_field"/> + </param> + <param argument="--textannot" type="text" optional="true" label="Name of the annotation column" + help="Provides text annotatation for the plot. Optional. If missing, no text will be plotted."/> + <param argument="--flip_fc" type="boolean" truevalue="--flip_fc" falsevalue="" checked="false" + label="Flip the fold change (i.e., multiply log fold change by -1)"/> + </xml> + <xml name="common_heatmap_params"> + <conditional name="heatmap"> + <param argument="--filter_to_sig" type="boolean" checked="false" + label="Only plot significant term" help="Necessitates use of results from `test`"/> + <when value="true"> + <param argument="--alpha" type="float" + value="0.05" min="0.0" max="1.0" + label="The q-value significance level"/> + </when> + <when value="false"> + <!-- do nothing --> + </when> + </conditional> + </xml> + <xml name="pca_calcsep"> + <param argument="--calculate_sep" type="boolean" truevalue="--calculate_sep" falsevalue="" checked="false" + label="Calculate separation between groups and include in title?"/> + </xml> + <xml name="target_onto"> + <param argument="--target_onto" type="select" optional="false" + label="GO category to restrict to"> + <help> + Only the values from this category + of GO terms will be displayed. + </help> + <option value="bp">Biological Process</option> + <option value="mf">Molecular Function</option> + <option value="cc">Cellular Component</option> + </param> + </xml> + </macros> + <expand macro="requirements" /> + <command detect_errors="exit_code"><![CDATA[ + metaquantome viz + --samps '$samps' + --mode '$mode_args.mode' + #if str($mode_args.mode) == 'f' + --ontology='$mode_args.ontology' + #end if + --infile='$infile' + --plottype='$mode_args.plot.plottype' + #if $mode_args.plot.plottype == 'bar': + #if str($mode_args.mode) == 't': + --target_rank='$mode_args.plot.target_rank' + #end if + --meancol='$mode_args.plot.meancol' + #if str($mode_args.plot.nterms) == '': + --nterms='all' + #else + --nterms=$mode_args.plot.nterms + #end if + #if str($mode_args.mode) == 'f': + --target_onto='$mode_args.plot.target_onto' + #end if + --barcol=$mode_args.plot.barcol + #elif $mode_args.plot.plottype == 'volcano': + --fc_name='$mode_args.plot.fc_name' + #if $mode_args.plot.textannot: + --textannot='$mode_args.plot.textannot' + #end if + $mode_args.plot.flip_fc + #if $mode_args.mode == 'f': + $mode_args.plot.gosplit + #end if + #elif $mode_args.plot.plottype == 'heatmap': + #if $mode_args.plot.heatmap.filter_to_sig: + --filter_to_sig + --alpha=$mode_args.plot.heatmap.alpha + #end if + #elif $mode_args.plot.plottype == 'pca': + $mode_args.plot.calculate_sep + #elif $mode_args.plot.plottype == 'ft_dist': + --barcol='$mode_args.plot.barcol' + --whichway='$mode_args.plot.margin.whichway' + --meancol='$mode_args.plot.meancol' + #if $mode_args.plot.margin.term.id_or_name == 'id': + --id='$mode_args.plot.margin.term.id' + #else: + --name='$mode_args.plot.margin.term.name' + #end if + #if $mode_args.plot.margin.whichway == 't_dist': + --target_rank='$mode_args.plot.margin.target_rank' + #end if + #if $mode_args.plot.margin.whichway == 'f_dist': + --target_onto=$mode_args.plot.margin.target_onto + #end if + #end if + #if $width: + --width=$width + #end if + #if $height: + --height=$height + #end if + --img='outfile.png' + --tabfile='plotdata.tab' && + mkdir '${ wrapped_outfile.files_path }' && + cp outfile.png '${ wrapped_outfile.files_path }' && + echo "<!DOCTYPE html> + <html> + <body> + <img src=\"outfile.png\" width=600> + <br> + <p>To download the image, right-click and choose \"Save image as...\"</p> + <br> + <p> + If text is cut off or the plot is not displaying properly, + the easiest fix is to increase the plot dimensions + </p> + </body> + </html>" > wrapped_outfile.html + ]]></command> + <inputs> + <param argument="--infile" type="data" + format="tabular" label="Tabular file from metaQuantome stats or metaQuantome filter" help=""/> + <expand macro="SAMPS"/> + <conditional name="mode_args"> + <param argument="--mode" type="select" label="Mode"> + <option value="f">Functional analysis</option> + <option value="t">Taxonomic analysis</option> + <option value="ft">Functional-taxonomic interaction analysis</option> + </param> + <when value="f"> + <param name="ontology" type="select" label="Ontology"> + <option value="go">Gene Ontology (GO terms)</option> + <option value="ec">Enzyme Commission (EC) numbers</option> + <option value="cog">Clusters of Orthologous Groups (COG categories)</option> + </param> + <conditional name="plot"> + <param argument="--plottype" type="select" label="Plot type"> + <option value="bar">Bar Chart (bar)</option> + <option value="volcano">Volcano Plot (volcano)</option> + <option value="heatmap">Heatmap (heatmap)</option> + <option value="pca">Principal Components Analysis (pca)</option> + </param> + <when value="bar"> + <expand macro="common_bar_params"/> + <expand macro="target_onto"/> + <expand macro="barcol"/> + </when> + <when value="volcano"> + <expand macro="common_volc_params"/> + <param argument="--gosplit" type="boolean" truevalue="--gosplit" falsevalue="" checked="false" + label="Make one plot for each of BiologicalProcess, CellularComponent, and MolecularFunction GO term categories."/> + </when> + <when value="heatmap"> + <expand macro="common_heatmap_params"/> + </when> + <when value="pca"> + <expand macro="pca_calcsep"/> + </when> + </conditional> + </when> + <when value="t"> + <conditional name="plot"> + <param argument="--plottype" type="select" label="Plot type"> + <option value="bar">Bar Chart (bar)</option> + <option value="volcano">Volcano Plot (volcano)</option> + <option value="heatmap">Heatmap (heatmap)</option> + <option value="pca">Principal Components Analysis (pca)</option> + </param> + <when value="bar"> + <param argument="--target_rank" type="select" + label="Taxonomic rank to restrict to in the plot" + help="possibilities are taken from the input dataset."> + <options from_dataset="infile"> + <column name="value" index="2"/> + <filter type="unique_value" name="unique_taxon" column="2"/> + <!-- <filter type="remove_value" value="rank" column="2"/> --> + </options> + </param> + <expand macro="common_bar_params"/> + <expand macro="barcol"/> + </when> + <when value="volcano"> + <expand macro="common_volc_params"/> + </when> + <when value="heatmap"> + <expand macro="common_heatmap_params"/> + </when> + <when value="pca"> + <expand macro="pca_calcsep"/> + </when> + </conditional> + </when> + <when value="ft"> + <conditional name="plot"> + <param argument="--plottype" type="select" label="Plot type"> + <option value="ft_dist" selected="true">Functional Taxonomic Distribution (ft_dist)</option> + </param> + <when value="ft_dist"> + <param argument="--meancol" type="text" label="Mean intensity column name" + help="Mean intensity column name for desired experimental condition"> + <validator type="empty_field"/> + </param> + <conditional name="margin"> + <param argument="--whichway" type="select" label="which distribution"> + <option value="f_dist">functional distribution for a taxon (f_dist)</option> + <option value="t_dist">taxonomic distribution for a function (t_dist)</option> + </param> + <when value="f_dist"> + <conditional name="term"> + <param name="id_or_name" type="select" label=""> + <option value="id" selected="true">Taxon ID</option> + <option value="name">Taxon name</option> + </param> + <when value="id"> + <param argument="--id" type="select" label="Taxon id"> + <options from_dataset="infile"> + <column name="value" index="3"/> + <filter type="unique_value" column="3"/> + <!-- <filter type="remove_value" value="tax_id"/> --> + </options> + </param> + </when> + <when value="name"> + <param argument="--name" type="select" label="Taxon name"> + <options from_dataset="infile"> + <column name="value" index="4"/> + <filter type="unique_value" column="4"/> + <!-- <filter type="remove_value" value="taxon_name"/> --> + </options> + </param> + </when> + </conditional> + <expand macro="target_onto"/> + </when> + <when value="t_dist"> + <conditional name="term"> + <param name="id_or_name" type="select" label=""> + <option value="id" selected="true">Functional term ID</option> + <option value="name">Functional term name</option> + </param> + <when value="id"> + <param argument="--id" type="select" label="Functional term id"> + <options from_dataset="infile"> + <column name="value" index="0"/> + <filter type="unique_value" column="0"/> + <!-- <filter type="remove_value" value="go_id"/> --> + </options> + </param> + </when> + <when value="name"> + <param argument="--name" type="select" label="Functional term name"> + <options from_dataset="infile"> + <column name="value" index="1"/> + <filter type="unique_value" column="1"/> + <!-- <filter type="remove_value" value="name"/> --> + </options> + </param> + </when> + </conditional> + <param argument="--target_rank" type="select" + label="Taxonomic rank to restrict to in the plot" + help="possibilities are taken from the input dataset."> + <options from_dataset="infile"> + <column name="value" index="5"/> + <filter type="unique_value" name="unique_taxon" column="5"/> + <!-- <filter type="remove_value" value="rank" column="5"/> --> + </options> + </param> + </when> + </conditional> + <expand macro="barcol"/> + </when> + </conditional> + </when> + </conditional> + <param argument="--width" type="float" value="" optional="true" label="Image width in inches"/> + <param argument="--height" type="float" value="" optional="true" label="Image height in inches"/> + </inputs> + <outputs> + <data format="html" name="wrapped_outfile" + label="${tool.name} on ${on_string} ${mode_args.plot.plottype}.html" + from_work_dir="wrapped_outfile.html"/> + <data format="tabular" name="plotdata" + label="${tool.name} ${on_string} ${mode_args.plot.plottype}: plot data" + from_work_dir="plotdata.tab"> + <filter>mode_args['plot']['plottype'] in ["bar", "volcano"]</filter> + </data> + </outputs> + <tests> + <test> + <param name="infile" value="tax_filt_out.tab" ftype="tabular"/> + <param name="mode" value="t" /> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="bar" /> + <param name="target_rank" value="genus" /> + <param name="meancol" value="NS_mean" /> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + <test> + <param name="infile" value="tax_test_out.tab" ftype="tabular"/> + <param name="mode" value="t" /> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="volcano" /> + <param name="target_rank" value="genus" /> + <param name="fc_name" value="log2fc_NS_over_WS" /> + <param name="textannot" value="taxon_name" /> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + <test> + <param name="infile" value="tax_test_out.tab" ftype="tabular"/> + <param name="mode" value="t" /> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="heatmap" /> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + <test> + <param name="infile" value="tax_test_out.tab" ftype="tabular"/> + <param name="mode" value="t" /> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="pca" /> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + <test> + <param name="infile" value="func_full_test_out.tab" ftype="tabular"/> + <param name="mode" value="f" /> + <param name="ontology" value="go" /> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="bar" /> + <param name="meancol" value="NS_mean" /> + <param name="target_onto" value="bp"/> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + <test> + <param name="infile" value="func_full_test_out.tab" ftype="tabular"/> + <param name="mode" value="f" /> + <param name="ontology" value="go"/> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="volcano" /> + <param name="fc_name" value="log2fc_NS_over_WS" /> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + <test> + <param name="infile" value="tf_filt_out.tab" ftype="tabular"/> + <param name="mode" value="ft" /> + <param name="samps" value="rudney_samples.tab" ftype="tabular"/> + <param name="plottype" value="ft_dist" /> + <param name="meancol" value="NS_mean" /> + <param name="whichway" value="f_dist" /> + <param name="id_or_name" value="id" /> + <param name="id" value="1301" /> + <param name="target_onto" value="bp" /> + <output name="wrapped_outfile"> + <assert_contents> + <has_text text="To download the image" /> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +metaQuantome viz +=================== + +The *viz* module is the final step in the metaQuantome analysis workflow. +The available visualizations are: + +- bar plot +- volcano plot +- heatmap +- PCA plot + +Please consult the manuscript for full details on each of these plots. + +Questions, Comments, Problems, Kudos +-------------------------------------- + +Please file any issues at https://github.com/galaxyproteomics/tools-galaxyp/issues. + ]]></help> + <expand macro="citations" /> +</tool>