diff deseq2.xml @ 6:4939397c4706 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/deseq2 commit 3bc8d91ee546682ef8e9303bd1044bb14cf21b07
author iuc
date Wed, 09 Nov 2016 17:00:31 -0500
parents d38fd393402e
children cb23006f34ff
line wrap: on
line diff
--- a/deseq2.xml	Thu Sep 22 05:49:52 2016 -0400
+++ b/deseq2.xml	Wed Nov 09 17:00:31 2016 -0500
@@ -1,11 +1,7 @@
-<tool id="deseq2" name="DESeq2" version="2.1.8.4">
+<tool id="deseq2" name="DESeq2" version="2.11.38">
     <description>Determines differentially expressed features from count tables</description>
     <requirements>
-        <!-- odering is crucial, otherwise R will override the ENV variables from deseq2 -->
-        <requirement type="package" version="1.20.0">r-getopt</requirement>
-        <requirement type="package" version="2.17.0">r-gplots</requirement>
-        <requirement type="package" version="0.2.15">r-rjson</requirement>
-        <requirement type="package" version="1.10.1">bioconductor-deseq2</requirement>
+        <requirement type="package" version="1.12.4">bioconductor-deseq2</requirement> 
     </requirements>
     <stdio>
         <regex match="Execution halted"
@@ -28,13 +24,23 @@
     </version_command>
     <command>
     <![CDATA[
-        R -e 'library(DESeq2); sink("DESEQ2_ROOT_PATH"); cat(file.path(find.package("DESeq2"),"script","deseq2.R"))' &&
+
+        #if $tximport.tximport_selector == 'tximport':
+            #if $tximport.mapping_format.mapping_format_selector == 'gtf':
+                ln -s '$tximport.mapping_format.gtf_file' mapping.gtf &&
+            #else:
+                ln -s '$tximport.mapping_format.tabular_file' mapping.txt &&
+            #end if
+        #end if
 
         #import json
-        Rscript \$(cat DESEQ2_ROOT_PATH)
-            -o "$deseq_out"
+        Rscript '${__tool_directory__}/deseq2.R'
+            -o '$deseq_out'
             #if $pdf:
-                -p "$plots"
+                -p '$plots'
+            #end if
+            #if $normCounts:
+                -n '$counts_out'
             #end if
             #set $temp_factor_names = list()
             #for $factor in $rep_factorName:
@@ -50,7 +56,7 @@
                 $temp_factor_names.append([str($factor.factorName), $temp_factor])
             #end for
             -f '#echo json.dumps(temp_factor_names)#'
-            -t "$fit_type"
+            -t '$fit_type'
             #if $outlier_replace_off:
                 -a
             #end if
@@ -63,18 +69,27 @@
             #if $many_contrasts:
                 -m
             #end if
+            #if $tximport.tximport_selector == 'tximport':
+                -i
+                #if $tximport.mapping_format.mapping_format_selector == 'gtf':
+                    -x mapping.gtf
+                #else:
+                    -x mapping.txt
+                #end if
+
+            #end if
     ]]>
     </command>
     <inputs>
         <repeat name="rep_factorName" title="Factor" min="1">
-            <param name="factorName" type="text" value="FactorName" label="Specify a factor name"
+            <param name="factorName" type="text" value="FactorName" label="Specify a factor name, e.g. effects_drug_x or cancer_markers"
                 help="Only letters, numbers and underscores will be retained in this field">
                 <sanitizer>
                     <valid initial="string.letters,string.digits"><add value="_" /></valid>
                 </sanitizer>
             </param>
             <repeat name="rep_factorLevel" title="Factor level" min="2" default="2">
-                <param name="factorLevel" type="text" value="FactorLevel" label="Specify a factor level"
+                <param name="factorLevel" type="text" value="FactorLevel" label="Specify a factor level, typical values could be 'tumor', 'normal', 'treated' or 'control'"
                     help="Only letters, numbers and underscores will be retained in this field">
                     <sanitizer>
                         <valid initial="string.letters,string.digits"><add value="_" /></valid>
@@ -83,9 +98,33 @@
                 <param name="countsFile" type="data" format="tabular" multiple="true" label="Counts file(s)"/>
             </repeat>
         </repeat>
+
+        <conditional name="tximport">
+            <param name="tximport_selector" type="select" label="Choice of Input data">
+                <option value="count" selected="True">Count data (e.g. from htseq-count or feature-count)</option>
+                <option value="tximport">TPM values (e.g. from sailfish or salmon)</option>
+            </param>
+            <when value="tximport">
+                <conditional name="mapping_format">
+                    <param name="mapping_format_selector" type="select" label="Gene mapping format">
+                        <option value="gtf" selected="True">GTF</option>
+                        <option value="tabular">Transcript-ID and Gene-ID mapping file</option>
+                    </param>
+                    <when value="gtf">
+                        <param name="gtf_file" type="data" format="gtf" label="GTF file with Transcript - Gene mapping"/>
+                    </when>
+                    <when value="tabular">
+                        <param name="tabular_file" type="data" format="tabular" label="Tabular file with Transcript - Gene mapping"/>
+                    </when>
+                </conditional>
+            </when>
+            <when value="count" />
+        </conditional>
         <param name="pdf" type="boolean" truevalue="1" falsevalue="0" checked="true"
             label="Visualising the analysis results"
             help="output an additional PDF files" />
+        <param name="normCounts" type="boolean" truevalue="1" falsevalue="0" checked="false"
+            label="Output normalized counts table" />
         <param name="many_contrasts" type="boolean" truevalue="1" falsevalue="0" checked="false"
             label="Output all levels vs all levels of primary factor (use when you have >2 levels for primary factor)"
             help=" DESeq2 performs independent filtering by default using the mean of normalized counts as a filter statistic" />
@@ -110,6 +149,9 @@
     <outputs>
         <data format="tabular" name="deseq_out" label="DESeq2 result file on ${on_string}">
             <filter>many_contrasts is False</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="GeneID,Base mean,log2(FC),StdErr,Wald-Stats,P-value,P-adj" />
+            </actions>
         </data>
         <collection name="split_output" type="list" label="DESeq2 result files on ${on_string}">
             <filter>many_contrasts is True</filter>
@@ -118,6 +160,9 @@
         <data format="pdf" name="plots" label="DESeq2 plots on ${on_string}">
             <filter>pdf == True</filter>
         </data>
+        <data format="tabular" name="counts_out" label="Normalized counts file on ${on_string}">
+            <filter>normCounts == True</filter>
+        </data>
     </outputs>
     <tests>
         <test>
@@ -132,9 +177,28 @@
                     <param name="countsFile" value="GSM461176_untreat_single.counts,GSM461177_untreat_paired.counts,GSM461178_untreat_paired.counts,GSM461182_untreat_single.counts"/>
                 </repeat>
             </repeat>
-            <param name="pdf" value="no"/>
-            <output name="deseq_out" file="deseq2_out.tab" compare="sim_size" delta="1000"/>
-            <output name="deseq_out_filtered" file="deseq2_out_filtered.tab" compare="sim_size" delta="1000"/>
+            <param name="pdf" value="False"/>
+            <param name="normCounts" value="True"/>
+            <output name="counts_out" file="normalized_readcounts.tab"/>
+            <output name="deseq_out" file="deseq2_out.tab"/>
+        </test>
+        <test>
+            <repeat name="rep_factorName">
+                <param name="factorName" value="Treatment"/>
+                <repeat name="rep_factorLevel">
+                    <param name="factorLevel" value="Treated"/>
+                    <param name="countsFile" value="sailfish_quant_result1.tab,sailfish_quant_result2.tab"/>
+                </repeat>
+                <repeat name="rep_factorLevel">
+                    <param name="factorLevel" value="Untreated"/>
+                    <param name="countsFile" value="sailfish_quant_result3.tab,sailfish_quant_result4.tab"/>
+                </repeat>
+            </repeat>
+            <param name="pdf" value="False"/>
+            <param name="tximport_selector" value="tximport"/>
+            <param name="mapping_format_selector" value="gtf"/>
+            <param name="gtf_file" value="genes_sub.gtf"/>
+            <output name="deseq_out" file="deseq2_tximport_out.tab"/>
         </test>
     </tests>
     <help>