diff dimet_isotopologues_plot.xml @ 0:3ce897bd5870 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/DIMet commit 3dba8748fbc8cc8e89ffc08e5febe0a0527a96a5
author iuc
date Fri, 21 Jun 2024 18:48:20 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dimet_isotopologues_plot.xml	Fri Jun 21 18:48:20 2024 +0000
@@ -0,0 +1,256 @@
+<tool id="dimet_@EXECUTABLE@" name="dimet @TOOL_LABEL@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
+    <description>
+        Figures of isotopologues proportions by metabolite, as stacked barplots (by DIMet)
+    </description>
+    <macros>
+        <token name="@TOOL_LABEL@">isotopologues plot</token>
+        <token name="@EXECUTABLE@">isotopologues_plot</token>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code"><![CDATA[
+    @INIT_CONFIG@
+    @INIT_ISOTOPOLOGUE_PLOT@
+    @INIT_PLOT_CONDITIONS@
+    @INIT_TIMEPOINTS@
+    HYDRA_FULL_ERROR=1 python -m dimet
+        '++hydra.run.dir=.'
+        '++figure_path=figures'
+        '++table_path=tables'
+        '++analysis={
+            dataset:{
+                _target_:dimet.data.DatasetConfig,
+                name: "Galaxy DIMet run"
+            },
+            method:{
+                _target_: dimet.method.IsotopologueProportionsPlotConfig,
+                label: isotopologue_proportions_plot,
+                name: "Generate isotopologues proportion plots",
+                barcolor: timepoint,
+                axisx: condition,
+                max_nb_carbons_possible: '${output_options.max_nb_carbons_possible}',
+                appearance_separated_time: '${output_options.appearance_separated_time}', ## adds a space between timepoints, conditions stay comparative
+                split_plots_by_condition: '${output_options.split_plots_by_condition}', ## prints each condition in independent plots
+                x_ticks_text_size: ${output_options.x_ticks_text_size},
+                y_ticks_text_size: ${output_options.y_ticks_text_size},
+                as_grid: ${output_options.as_grid},
+                figure_format:${output_options.figure_format},
+                sharey:${output_options.sharey}
+            },
+            label: isotopologue_proportions_plot
+        }'
+        '++analysis.dataset.label='
+        '++analysis.timepoints=${timepoints}'
+        '++analysis.inner_numbers_size='${output_options.inner_numbers_size}''
+        '++analysis.width_each_stack='${output_options.width_each_stack}''
+        '++analysis.method.height_each_stack='${output_options.height_each_stack}''
+        '++analysis.dataset.subfolder='
+        '++analysis.dataset.conditions=${conditions}'
+        '++x_text='metabolites''
+
+        #if $metadata_path:
+            '++analysis.dataset.metadata=metadata'
+        #end if
+        #if $isotop_prop_file:
+            '++analysis.dataset.isotopologue_proportions=isotop_prop'
+        #end if
+    @REMOVE_CONFIG@
+    ]]></command>
+    <inputs>
+        <expand macro="input_parameters_isotopologue"/>
+        <expand macro="plot_factor_list"/>
+        <expand macro="timepoint"/>
+        <section name="output_options" title="Output options">
+            <param name="figure_format" type="select" value="pdf" display="radio" label="Select output figure format" help="Please enter at max 1 format">
+                <option value="pdf">Pdf</option>
+                <option value="svg">Svg</option>
+            </param>
+            <param name="appearance_separated_time" type="boolean" value="false" label="appearance separated time"
+                   help="Default value is false."/>
+            <param name="split_plots_by_condition" type="boolean" value="false" label="split plots by condition"
+                   help="Default value is false."/>
+            <param name="as_grid" type="boolean" value="false" label="plot as grid"
+                   help="Default value is false."/>
+            <param name="sharey" type="boolean" value="false" label="share y axis"
+                   help="Default value is false."/>
+            <param name="x_ticks_text_size" type="integer" min="1" max="24" value="18" label="xticks text size"
+                   help="Default value is 18."/>
+            <param name="y_ticks_text_size" type="integer" min="1" max="24" value="18" label="yticks text size"
+                   help="Default value is 18."/>
+            <param name="height_each_stack" type="float" min="1.0" max="10.0" value="4.6" label="height of each stack"
+                   help="Default value is 4.6."/>
+            <param name="width_each_stack" type="float" min="0.1" max="5.0" value="3.0" label="width of each stack"
+                   help="Default value is 3.0."/>
+            <param name="inner_numbers_size" type="integer" min="1" max="20" value="13" label="inner number size"
+                   help="Default value is 13."/>
+            <param name="max_nb_carbons_possible" type="integer" min="1" max="30" value="12" label="max number carbons possible"
+                   help="Default value is 12."/>
+        </section>
+    </inputs>
+
+    <outputs>
+        <collection name="report" type="list">
+            <discover_datasets pattern="__designation_and_ext__" directory="figures"/>
+        </collection>
+    </outputs>
+    <tests>
+        <test>
+            <param name="metadata_path" ftype="tabular" value="example2_metadata.csv"/>
+            <param name="isotop_prop_file" ftype="tabular" value="CorrectedIsotopologues_reduced.csv"/>
+            <repeat name="plot_factor_list">
+                <param name="condition" value="Control"/>
+            </repeat>
+            <repeat name="plot_factor_list">
+                <param name="condition" value="L-Cycloserine"/>
+            </repeat>
+            <param name="timepoint" value='T0,T2h'/>
+            <section name="output_options">
+                <param name="figure_format" value="svg"/>
+                <param name="appearance_separated_time" value="false"/>
+                <param name="split_plots_by_condition" value="false"/>
+                <param name="as_grid" value="false"/>
+                <param name="sharey" value="false"/>
+                <param name="inner_numbers_size" value="13"/>
+                <param name="max_nb_carbons_possible" value="12"/>
+                <param name="width_each_stack" value="3.0"/>
+                <param name="height_each_stack" value="4.6"/>
+                <param name="x_ticks_text_size" value="18"/>
+                <param name="y_ticks_text_size" value="18"/>
+            </section>
+            <output_collection name="report" type="list" count="13">
+                <element file="Isotopologues_cell-Fructose_1,6-bisphosphate.svg"  name="Isotopologues_cell-Fructose_1,6-bisphosphate" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Aspartic_acid.svg" name="Isotopologues_cell-L-Aspartic_acid" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Glutamic_acid.svg" name="Isotopologues_cell-L-Glutamic_acid" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Glutamine.svg" name="Isotopologues_cell-L-Glutamine" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Lactic_acid.svg" name="Isotopologues_cell-L-Lactic_acid" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Lysine.svg" name="Isotopologues_cell-L-Lysine" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Proline.svg" name="Isotopologues_cell-L-Proline" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_cell-L-Serine.svg" name="Isotopologues_cell-L-Serine" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_med-L-Lactic_acid.svg" name="Isotopologues_med-L-Lactic_acid" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_med-L-Lysine.svg" name="Isotopologues_med-L-Lysine" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_med-L-Proline.svg" name="Isotopologues_med-L-Proline" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="Isotopologues_med-L-Serine.svg" name="Isotopologues_med-L-Serine" ftype="svg" compare="sim_size" delta="100"/>
+                <element file="legend_isotopologues_stackedbars.svg" name="legend_isotopologues_stackedbars" ftype="svg" compare="sim_size" delta="100"/>
+            </output_collection>
+        </test>
+    </tests>
+    <help><![CDATA[
+This module is part of DIMet: Differential analysis of Isotope-labeled targeted Metabolomics data (https://pypi.org/project/DIMet/).
+
+DIMet isotopologues plot performs stacked-bars figures for visualization of the isotopologues proportions across all given conditions and all/selected time points, for each metabolite. All the (selected) metabolites are processed automatically.
+
+The figures in .pdf format are of publication quality, and as they are vectorial images you can open them and customize aesthetics with a professional image software such as Inkscape, Adobe Illustrator, Sketch,  CorelDRAW, etc.
+
+
+    **Input data files**
+
+For running DIMet @EXECUTABLE@ you need the following .csv files :
+
+- The **isotopologue proportions** file, and
+
+- The metadata file, a unique file with the description of the samples. This file is compulsory (see section **Metadata File Information**).
+
+
+The isotopologue proportions file must be organized as a matrix:
+
+- The first column must contain isotopologues IDs that are unique (not repeated) within the file.
+
+- The rest of the columns correspond to the samples
+
+- The rows correspond to the isotopologues
+
+- The values must be tab separated, with the first row containing the sample/column labels.
+
+
+
+Example - **Isotopologue proportions**:
+
+    =============== ================== ================== ================== ================== ================== ==================
+    ID              **MCF001089_TD01** **MCF001089_TD02** **MCF001089_TD03** **MCF001089_TD04** **MCF001089_TD05** **MCF001089_TD06**
+    =============== ================== ================== ================== ================== ================== ==================
+    2_3-PG_m+0      0.023701408        0.026667837        0.003395407        0.05955            0.034383527        0.12
+    2_3-PG_m+1      0.0                0.0                0.0                0.0                0.4                0.12
+    2_3-PG_m+2      0.015379329        0.01506            0.017029723        0.35483229         0.54131313         0.743
+    2_3-PG_m+3      0.960919263        0.958268099        0.97957487         0.581310816        0.017029723        0.017
+    2-OHGLu_m+0     0.972778716        0.960016157        0.238843937        0.234383527        0.9998888          0.015064063
+    2-OHGLu_m+1     0.0                0.0                0.0                0.0                0.0001112          0.960919263
+    =============== ================== ================== ================== ================== ================== ==================
+
+
+**Metadata File Information**
+
+Provide a tab-separated file that has the names of the samples in the first column and one header row.
+Column names must be exactly in this order:
+
+   name_to_plot
+   condition
+   timepoint
+   timenum
+   compartment
+   original_name
+
+
+Example **Metadata File**:
+
+
+    ==================== =============== ============= ============ ================ =================
+    **name_to_plot**     **condition**   **timepoint** **timenum**  **compartment**   **original_name**
+    -------------------- --------------- ------------- ------------ ---------------- -----------------
+    Control_cell_T0-1    Control         T0            0            cell             MCF001089_TD01
+    Control_cell_T0-2    Control         T0            0            cell             MCF001089_TD02
+    Control_cell_T0-3    Control         T0            0            cell             MCF001089_TD03
+    Tumoral_cell_T0-1    Tumoral         T0            0            cell             MCF001089_TD04
+    Tumoral_cell_T0-2    Tumoral         T0            0            cell             MCF001089_TD05
+    Tumoral_cell_T0-3    Tumoral         T0            0            cell             MCF001089_TD06
+    Tumoral_cell_T24-1   Tumoral         T24           24           cell             MCF001089_TD07
+    Tumoral_cell_T24-2   Tumoral         T24           24           cell             MCF001089_TD08
+    Tumoral_cell_T24-3   Tumoral         T24           24           cell             MCF001090_TD01
+    Control_med_T24-1    Control         T24           24           med              MCF001090_TD02
+    Control_med_T24-2    Control         T24           24           med              MCF001090_TD03
+    Tumoral_med_T24-1    Tumoral         T24           24           med              MCF001090_TD04
+    Tumoral_med_T24-2    Tumoral         T24           24           med              MCF001090_TD05
+    Control_med_T0-1     Control         T0            0            med              MCF001090_TD06
+    Tumoral_med_T0-1     Tumoral         T0            0            med              MCF001090_TD07
+    Tumoral_med_T0-2     Tumoral         T0            0            med              MCF001090_TD08
+    ==================== =============== ============= ============ ================ =================
+
+
+The column **original_name** must have the names of the samples as given in your data.
+
+The column **name_to_plot** must have the names as you want them to be (or set identical to original_name if you prefer). To set names that
+are meaningful is a better choice, as we will take them to display the results.
+
+The column **timenum** must contain only the numeric part of the timepoint, for example 2,0, 10, 100 (this means, without letters ("T", "t", "s", "h" etc)
+nor any other symbol). Make sure these time numbers are in the same units (but do not write the units here!).
+
+The column **compartment** is an abbreviation, coined by you, for the compartments. This will be used for the results' files names: the longer the
+compartments names are, the longer the output files' names! Please pick short and clear abbreviations to fill this column.
+
+
+**Running the analysis**
+
+
+You can precise how you want your analysis to be executed, with the parameters:
+
+- **conditions**: the conditions present in your data, exactly in the ORDER you want them to appear in the x axis of each figure.
+
+- **timepoints**: timepoints to include for the figures.
+
+- **width_each_stack** : the desired width (in inches) for the the individual metabolite figure.
+
+- **inner_numbers_size**: by default, the arithmetic mean over the biological replicates for a given isotopologue is displayed in the middle of each bar portion, the default font size is 13.5.  Set to 0 if you do not want to show these values.
+
+There exist hints on use that will guide you, next to the parameters.
+
+The output consist of stacked-bar figures, one by each metabolite, and one legend .pdf file, common to all the produced figures.
+
+**Available data for testing**
+
+You can test our tool with the data from our manuscript https://zenodo.org/record/10579862 (the pertinent
+files for you are located in the subfolders inside the data folder).
+You can also use the minimal data examples from https://zenodo.org/record/10579891
+
+ ]]>
+    </help>
+    <expand macro="citations"/>
+</tool>