diff PDAUG_Basic_Plots/PDAUG_Basic_Plots.xml @ 0:7d247e27ff11 draft

"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
author jay
date Wed, 28 Oct 2020 01:52:18 +0000
parents
children 738ee8fc0ede
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PDAUG_Basic_Plots/PDAUG_Basic_Plots.xml	Wed Oct 28 01:52:18 2020 +0000
@@ -0,0 +1,248 @@
+<tool id="pdaug_basic_plots" name="PDAUG Basic Plots" version="0.1.0" python_template_version="3.6">
+  <description>Basic Plots</description>
+
+  <requirements>
+      <requirement type="package" version="0.25.3">pandas</requirement>
+      <requirement type="package" version="4.10.0">plotly</requirement> 
+      <requirement type="package" version="1.8.0">wordcloud</requirement>
+      <requirement type="package" version="3.1.2">matplotlib</requirement>
+  </requirements>
+  <stdio>
+    <exit_code range="1" level="fatal" />
+  </stdio>
+    <command detect_errors="exit_code"><![CDATA[
+
+
+        python '$__tool_directory__/PDAUG_Basic_Plots.py'  '$SelPlotting.Plot' 
+
+                #if $SelPlotting.Plot == 'HeatMap'
+                    --InFile '$SelPlotting.InFile'
+                    --IndexColumn '$SelPlotting.IndexColumn'
+                    --x_label '$SelPlotting.x_label'
+                    --y_label '$SelPlotting.y_label'
+                #end if 
+
+                #if $SelPlotting.Plot == 'BoxPlot'
+                    --InFile '$SelPlotting.InFile'
+                    --Feature '$SelPlotting.Feature'  
+                    --Label '$SelPlotting.Label'           
+                #end if 
+
+                #if $SelPlotting.Plot == 'ScatterPlot'
+                  --PlotType '$SelPlotting.PlotType.SelectPlot'
+                    #if $SelPlotting.PlotType.SelectPlot == '2D'
+                      -F1 '$SelPlotting.PlotType.Features1'
+                      -F2 '$SelPlotting.PlotType.Features2'
+                    #end if
+
+                    #if $SelPlotting.PlotType.SelectPlot == '3D'
+                      -F1 '$SelPlotting.PlotType.Features1'
+                      -F2 '$SelPlotting.PlotType.Features2'
+                      -F3 '$SelPlotting.PlotType.Features3'
+                    #end if
+
+                    -I '$SelPlotting.InFile' 
+                    -L '$SelPlotting.Label'
+
+                #end if 
+
+                #if $SelPlotting.Plot == 'WordCloud'
+                  -I '$SelPlotting.InFile'
+                  -D '$SelPlotting.d'
+                #end if 
+
+                --htmlOutDir '$output.extra_files_path'
+                --htmlFname '$output'
+                      
+    ]]></command>
+
+  <inputs>
+
+    <conditional name='SelPlotting' >
+
+        <param name="Plot" type="select" label="Data plotting method" argument="" help="Data plotting method">
+          <option value="HeatMap">Heat Map</option>
+          <option value="BoxPlot">Box Plot</option>
+          <option value="ScatterPlot">Scatter Plot</option>
+          <option value="WordCloud">Word Cloud</option>
+        </param>
+
+        <when value="HeatMap">
+            <param name="InFile" type="data" format="tabular" label="Input file" argument= "--InFile" help="Tabular data file"/>
+            <param name="IndexColumn" type="text" value="Index"  label="Index Column" argument= "--IndexColumn" help="Column name that contains index as row/sample names "/>
+            <param name="x_label" type="text" value="x-axis" label="Label for x-axis" argument= "--x_label" help="A label that describes x axis"/>
+            <param name="y_label" type="text" value="y-axis" label="Label for y-axis" argument= "--y_label" help="A label that describes y axis"/>
+        </when>
+
+        <when value="BoxPlot">
+            <param name="InFile" type="data" label="Input file" format="tabular" argument= "--InFile" help="Tabular data file"/>
+            <param name="Feature" type="text" value="Feature" label="Feature name" argument= "--Features" help="Name of the feature (column name)"/>
+            <param name="Label" type="text" value="class label" label="Class label column" argument="--Label" help="Name of the column that contains class label" />
+        </when>
+
+        <when value="ScatterPlot">
+
+          <param name="InFile"    label="Input file" type="data" format="tabular" argument= "--InFile" help="Tabular data file"/>
+
+          <conditional name='PlotType' >
+
+              <param name="SelectPlot" type="select" label="Scatter Plot type" argument="" help="Scatter Plot type 2D or 3D.">
+                  <option value="2D">2D</option>
+                  <option value="3D">3D</option>
+              </param>
+              
+              <when value="2D">
+                <param name="Features1" type="text"   value="feature1" label="First feature" argument= "--RotationX" help="Feature column name"/>
+                <param name="Features2" type="text"  value="feature2" label="Second feature"   argument= "--RotationY" help="Feature column name"/>
+              </when>
+
+              <when value="3D">
+                <param name="Features1" type="text" value="feature1"  label="First feature"   argument= "--RotationX" help="Feature column name"/>
+                <param name="Features2" type="text"  value="feature2" label="Second feature"   argument= "--RotationY" help="Feature column name"/>
+                <param name="Features3" type="text"  value="feature3" label="Third feature"   argument= "--FigHight" help="Feature column name"/>                 
+              </when>
+
+        </conditional>
+          
+          <param name="Label" type="text" value="class label" label="Class label column" argument="--Label" help="Name of the column that contains class label" />
+
+        </when>
+
+        <when value="WordCloud" >
+          <param name="InFile"  type="data" format="fasta" label="Input file" argument= "--InFile" help="Fasta file with peptides"/>
+          <param name="d"  type="integer" value="4" argument= "--FragSize" label="Size of ngrams" help="Size of ngrams"/>
+        </when>
+
+    </conditional>
+  </inputs>
+
+  <outputs>
+      <data name='output' format='html' label="${tool.name} on $on_string - ${SelPlotting.Plot} (webpage)" >
+            <filter>SelPlotting['Plot'] != "WordCloud"</filter>
+      </data>
+
+      <data name='output1' format='png' label="${tool.name} on $on_string - ${SelPlotting.Plot} (PNG)" from_work_dir="out.png" >
+          <filter>SelPlotting['Plot'] != "HeatMap"</filter>
+          <filter>SelPlotting['Plot'] != "BoxPlot"</filter>
+          <filter>SelPlotting['Plot'] != "ScatterPlot"</filter>
+      </data>
+
+  </outputs>
+  
+  <tests>
+
+    <test>
+      <param name="Plot" value="HeatMap" />
+      <param name="InFile" value="test1.tsv"/>
+      <param name="IndexColumn" value="Algo"/>
+      <param name="x_label" value="Performance"/>
+      <param name="y_label" value="Algorithms"/>
+      <output name="output" file="test1/report_dir/report.html.re" ftype="html" compare="re_match_multiline"/>
+    </test>
+
+    <test>
+      <param name="Plot" value="BoxPlot" />
+      <param name="InFile" value="test2.tsv"/>
+      <param name="Feature" value="a1"/>
+      <param name="Label" value="class"/>
+      <output name="output" file="test2/report_dir/report.html.re" ftype="html" compare="re_match_multiline"/>
+    </test>
+
+    <test>
+      <param name="Plot" value="ScatterPlot" />
+      <param name="InFile" value="test2.tsv"/>
+      <param name="SelectPlot" value="2D" />
+      <param name="Features1" value="a1"/>
+      <param name="Features2" value="a2"/>
+      <param name="Label" value="class"/>
+      <output name="output" file="test3/report_dir/report.html.re" ftype="html" compare="re_match_multiline"/>
+    </test>
+
+  <test>
+    <param name="Plot" value="ScatterPlot" />
+    <param name="SelectPlot" value="3D" />
+    <param name="InFile" value="test2.tsv"/>
+    <param name="Features1" value="a1"/>
+    <param name="Features2" value="a2"/>
+    <param name="Features3" value="a3"/>
+    <param name="Label" value="class"/>
+    <output name="output" file="test4/report_dir/report.html.re" ftype="html" compare="re_match_multiline"/>
+
+  </test>
+
+  <test>
+      <param name="Plot" value="WordCloud" />
+      <param name="InFile" value="positive.fasta"/>
+      <param name="d" value="4" />
+      <output name="output" value="test5/out.png" ftype="png" compare="sim_size" delta="10000" />
+  </test>
+
+  </tests>
+  
+    <help><![CDATA[
+.. class:: infomark
+
+**What it does**
+
+This tool generates four different types of plots. 
+
+   * **HeatMap** Takes a data frame as input and returns heatmap. 
+   * **BoxPlot** Takes a descriptor data frame as input and returns a box plot based on the class label. 
+   * **ScatterPlot** Takes a descriptor data frame with the class label as input and compares the scatteredness based on 2D or 3D scatter plot. 
+   * **WordCloud** Calculates the ngrams from the peptide data set and plot a word cloud for ngrams to assess frequency of ngrams visually. 
+
+-----
+
+**Inputs**
+    **1**  HeatMap    
+       * **--Infile** Input data frame as a tabular file.
+       * **--IndexColumn**  Number of sequence to be generated.  
+       * **--x_label** Peptide minimum length. 
+       * **--y_label_s** Peptide maximum length. 
+
+    **2** BoxPlot
+       * **--Infile** Input data frame as a tabular file. 
+       * **--Feature** Feature(column name) to be assessed. 
+       * **--Label** Class label column name. 
+
+    **3** ScatterPlot
+       * **--Infile** Input data frame as a tabular file.  
+       * **--PlotType** 2D or 3D scatter plot. 
+       * **--Feature1** First feature column name. 
+       * **--Feature2** Second feature column name.
+       * **--Feature3** Third feature column name if 3D scatter plot option selected.
+       * **--Label** CLass label column name.
+
+    **4** WordCloud
+       * **--Infile** Input fasta file with peptides.  
+       * **--FragSize** ngram size to be calculated.
+
+-----
+
+**Outputs**
+    * Return report html file with the respective graph]]></help>
+
+<citations>
+  <citation type="bibtex">
+
+
+    @article{joshi_j_2020,
+        title = {PDAUG - a Galaxy based toolset for peptide library analysis, visualization, and machine learning modeling},
+        publisher = {GitHub}, 
+        journal = {GitHub repository},
+        url = {https://github.com/jaidevjoshi83/pdaug.git},
+        author = {Joshi J. and Blankenberg D.},
+        year = {2020},
+    }
+
+  </citation>
+
+</citations>
+</tool>
+
+
+
+
+
+
+