diff dexseq.xml @ 0:4ca0e679f21e draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/dexseq commit 876fc32b23d3b9c378ddbfbbba27d37d22576c85
author iuc
date Thu, 08 Oct 2015 16:52:01 -0400
parents
children f1c406f9554c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dexseq.xml	Thu Oct 08 16:52:01 2015 -0400
@@ -0,0 +1,192 @@
+<tool id="dexseq" name="DEXSeq" version="1.0">
+    <description>Determines differential exon usage from count tables</description>
+    <requirements>
+        <requirement type="package" version="1.14">dexseq</requirement>
+    </requirements>
+    <code file="dexseq_helper.py" />
+    <stdio>
+        <regex match="Execution halted" 
+           source="both" 
+           level="fatal" 
+           description="Execution halted." />
+        <regex match="Input-Error 01" 
+           source="both" 
+           level="fatal" 
+           description="Error in your input parameters: Make sure you only apply factors to selected samples." />
+        <regex match="Error in"
+           source="both"
+           level="fatal"
+           description="An undefined error occured, please check your input carefully and contact your administrator." />
+        <regex match="Error:"
+            source="both"
+            level="fatal"
+            description="Error in the R script." />
+    </stdio>
+    <version_command>
+    <![CDATA[
+        echo $(R --version | grep version | grep -v GNU)", DEXSeq version" $(R --vanilla --slave -e "library(DEXSeq); cat(sessionInfo()\$otherPkgs\$DEXSeq\$Version)" 2> /dev/null | grep -v -i "WARNING: ")" (depends on DESeq2 "$(R --vanilla --slave -e "library(DESeq2); cat(sessionInfo()\$otherPkgs\$DESeq2\$Version)" 2> /dev/null | grep -v -i "WARNING: ")")"
+    ]]>
+    </version_command>
+    <command>
+    <![CDATA[
+        mkdir ./html_out &&
+        #import json
+        Rscript $__tool_directory__/dexseq.R
+            -o "$dexseq_out"
+            -p \${GALAXY_SLOTS:-4}
+            #set $temp_factor_names = list()
+            #for $factor in $rep_factorName:
+                #set $temp_factor = list()
+                #set $count_files1 = list()
+                #for $file in $factor.countFiles1:
+                    $count_files1.append(str($file))
+                #end for
+                $temp_factor.append( {str($factor.factorLevel1): $count_files1} )
+
+                #set $count_files2 = list()
+                #for $file in $factor.countFiles2:
+                    $count_files2.append(str($file))
+                #end for
+                $temp_factor.append( {str($factor.factorLevel2): $count_files2} )
+                $temp_factor_names.append([str($factor.factorName), $temp_factor])
+            #end for
+            -f '#echo json.dumps(temp_factor_names)#'
+            -a $gtf
+            -c $fdr_cutoff
+
+            #if $report:
+                -r ./html_out
+                &&
+                mkdir $htmlreport.extra_files_path
+                &&
+                cp ./html_out/testForDEU.html $htmlreport
+                &&
+                cp -r ./html_out/* $htmlreport.extra_files_path
+            #end if
+
+    ]]>
+    </command>
+    <inputs>
+        <param name="gtf" type="data" format="gtf,gff" label="GTF file created from DEXSeq-Count tool"/>
+        <repeat name="rep_factorName" title="Factor" min="1">
+            <param name="factorName" type="text" value="FactorName" label="Specify a factor name" 
+                help="Only letters, numbers and underscores will be retained in this field">
+                <sanitizer>
+                    <valid initial="string.letters,string.digits"><add value="_" /></valid>
+                </sanitizer>
+            </param>
+            <param name="factorLevel1" type="text" value="FactorLevel1" label="Specify a factor level"
+                help="Only letters, numbers and underscores will be retained in this field">
+                <sanitizer>
+                    <valid initial="string.letters,string.digits"><add value="_" /></valid>
+                </sanitizer>
+            </param>
+            <param name="countFiles1" type="data" format="tabular" multiple="true" label="Count file for factor level 1"/>
+
+            <param name="factorLevel2" type="text" value="FactorLevel2" label="Specify a factor level"
+                help="Only letters, numbers and underscores will be retained in this field">
+                <sanitizer>
+                    <valid initial="string.letters,string.digits"><add value="_" /></valid>
+                </sanitizer>
+            </param>
+            <param name="countFiles2" type="data" format="tabular" multiple="true" label="Count files for factor level 2"/>
+        </repeat>
+        <param name="report" type="boolean" truevalue="True" falsevalue="False" checked="true"
+            label="Visualise the analysis results?"
+            help="Output an additional HTML file." />
+        <param name="fdr_cutoff" type="float" min="0.0" max="1.0" value="0.05" label="All the genes under this FDR threshold will be shown in the html report"/>
+    </inputs>
+    <outputs>
+        <data format="tabular" name="dexseq_out" label="DEXSeq result file on ${on_string}" />
+        <data format="html" name="htmlreport" label="DEXSeq report on ${on_string}">
+            <filter>report is True</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="gtf" value="dexseq.gtf" ftype="gtf"/>
+            <repeat name="rep_factorName">
+                <param name="factorName" value="condition"/>
+                <param name="factorLevel1" value="knockdown"/>
+                <param name="countFiles1" value="treated1fb.txt,treated2fb.txt,treated3fb.txt" ftype="tabular"/>
+                <param name="factorLevel2" value="control"/>
+                <param name="countFiles2" value="untreated1fb.txt,untreated2fb.txt,untreated3fb.txt,untreated4fb.txt" ftype="tabular"/>
+            </repeat>
+            <repeat name="rep_factorName">
+                <param name="factorName" value="libtype"/>
+                <param name="factorLevel1" value="singleend"/>
+                <param name="countFiles1" value="treated1fb.txt,untreated1fb.txt,untreated2fb.txt" ftype="tabular"/>
+                <param name="factorLevel2" value="pairedend"/>
+                <param name="countFiles2" value="treated2fb.txt,treated3fb.txt,untreated3fb.txt,untreated4fb.txt" ftype="tabular"/>
+            </repeat>
+            <param name="report" value="False"/>
+            <param name="fdr_cutoff" value="0.05"/>
+            <output name="dexseq_out" file="dexseq_result.tabular" ftype="tabular"/>
+        </test>
+    </tests>
+    <help>
+    <![CDATA[
+.. class:: infomark
+
+**What it does** 
+
+Inference of differential exon usage in RNA-Seq.
+
+
+**Inputs**
+
+DEXSeq_ takes count tables generated from the dexseq_count as input. Count tables must be generated for each sample individually.
+DEXSeq_ is capable of handling multiple factors that effect your experiment. The first factor you input is considered as the primary
+factor that affects gene expressions. Primary factor should always be named as 'condition'. You also input several secondary factors that might
+influence your experiment. But the final output will be changes in genes due to primary factor in presence of secondary factors. Each factor has two levels/states.
+You need to select appropriate count table from your history for each factor level.
+
+The following table gives some examples of factors and their levels:
+
+========= ============== ===============
+Factor    Factor level 1 Factor level 2 
+--------- -------------- ---------------
+condition Knockdown      Wildtype
+--------- -------------- ---------------
+treatment Treated        Untreated
+--------- -------------- ---------------
+timePoint Day4           Day1
+--------- -------------- ---------------
+SeqType   SingleEnd      PairedEnd
+--------- -------------- ---------------
+Gender    Female         Male
+========= ============== ===============
+
+*Note*: Output log2 fold changes are based on primary factor level 1 vs. factor level2. Here the order of factor levels is important. For example, for the factor 'condition' given in above table, DEXSeq computes fold changes of 'Knockdown' samples against 'Wildtype', i.e. the values correspond to up or down regulations of genes in Knockdown samples.
+
+**Output**
+
+DEXSeq_ generates a tabular file containing the different columns and an optional html report.
+
+====== ==========================================================
+Column Description
+------ ----------------------------------------------------------
+     1 Gene and exon Identifiers
+     2 group/gene identifier
+     3 feature/exon identifier
+     4 mean of the counts across samples in each feature/exon
+     5 exon dispersion estimate
+     6 LRT statistic
+     7 LRT p-value
+     8 BH adjusted p-values
+     9 exon usage coefficient factorLevel 2
+    10 exon usage coefficient factorLevel 1
+    11 relative exon usage fold changes
+    12 GRanges object of the coordinates of the exon/feature
+    13 matrix of integer counts, of each column containing a sample
+    14 list of transcripts overlapping with the exon
+====== ==========================================================
+
+
+.. _DEXSeq: http://master.bioconductor.org/packages/release/bioc/html/DEXSeq.html
+    ]]>
+    </help>
+    <citations>
+        <citation type="doi">10.1101/gr.133744.111</citation>
+    </citations>
+</tool>