diff fimo.xml @ 5:eca84de658b0 draft

Uploaded
author iuc
date Fri, 17 Jun 2016 13:15:48 -0400
parents 0fce5521bb96
children cdcc4bb60bc3
line wrap: on
line diff
--- a/fimo.xml	Tue Mar 08 08:10:52 2016 -0500
+++ b/fimo.xml	Fri Jun 17 13:15:48 2016 -0400
@@ -1,4 +1,4 @@
-<tool id="meme_fimo" name="FIMO" version="4.11.0.2">
+<tool id="meme_fimo" name="FIMO" version="4.11.0.3">
     <description>- Scan a set of sequences for motifs.</description>
     <requirements>
         <requirement type="package" version="6.9.3">imagemagick</requirement>
@@ -6,6 +6,7 @@
     </requirements>
     <command>
         <![CDATA[
+            mkdir -p output &&
             python $__tool_directory__/fimo_wrapper.py
             --input_motifs "${input_motifs}"
             #if str($fasta_type.fasta_type_selector) == 'history':
@@ -28,10 +29,14 @@
                         --motif "${motif.motif}"
                     #end for
                 #end if
+                --output_separate_motifs ${options_type.output_separate_motifs}
                 --motif_pseudo "${options_type.motif_pseudo}"
                 ${options_type.no_qvalue}
                 ${options_type.norc}
-                ${options_type.parse_genomic_coord}
+                #if str($options_type.parse_genomic_coord_cond.parse_genomic_coord) == 'yes':
+                    --parse_genomic_coord 'yes'
+                    --remove_duplicate_coords ${options_type.parse_genomic_coord_cond.remove_duplicate_coords}
+                #end if
                 #if str($options_type.psp_cond.psp_selector) == 'yes':
                     --input_psp "${input_psp}"
                 #end if
@@ -99,10 +104,23 @@
                         </repeat>
                     </when>
                 </conditional>
+                <param name="output_separate_motifs" type="select" label="Output a dataset per motif?" help="Output a collection consisting of a separate dataset for each motif in the input">
+                    <option value="no" selected="true">No</option>
+                    <option value="yes">Yes</option>
+                </param>
                 <param name="motif_pseudo" type="float" value="0.1" label="Pseudocount to add to counts in motif matrix" help="A pseudocount to be added to each count in the motif matrix, after first multiplying by the corresponding background frequency"/>
                 <param name="no_qvalue" label="Do not compute a q-value for each p-value" type="boolean" truevalue="--no_qvalue" falsevalue="" checked="True" help="The q-value calculation is that of Benjamini and Hochberg (1995)."/>
                 <param name="norc" label="Do not score the reverse complement DNA strand" type="boolean" truevalue="--norc" falsevalue="" checked="False" />
-                <param name="parse_genomic_coord" label="Check each sequence header for UCSC style genomic coordinates" type="boolean" truevalue="--parse_genomic_coord" falsevalue="" checked="False" />
+                <conditional name="parse_genomic_coord_cond">
+                    <param name="parse_genomic_coord" label="Check each sequence header for UCSC style genomic coordinates" type="select">
+                        <option value="no" selected="true">No</option>
+                        <option value="yes">Yes</option>
+                    </param>
+                    <when value="yes">
+                        <param name="remove_duplicate_coords" type="boolean" truevalue="yes" falsevalue="no" label="Remove duplicate entries in unique GFF coordinates?" help="Remove duplicate entries as defined by the unique GFF coordinates" />
+                    </when>
+                    <when value="no"/>
+                </conditional>
                 <conditional name="psp_cond">
                     <param name="psp_selector" type="select" label="Use position-specific priors?">
                         <option value="no" selected="true">No</option>
@@ -160,6 +178,7 @@
             </actions>
         </data>
         <data format="tabular" name="gff_outfile" label="${tool.name} on ${on_string} (almost-gff)">
+            <filter>options_type['output_separate_motifs'] == 'no'</filter>
             <actions>
                 <conditional name="fasta_type.fasta_type_selector">
                     <when value="cached">
@@ -172,6 +191,10 @@
                 </conditional>
             </actions>
         </data>
+        <collection name="motifs" type="list" label="Motifs: ${tool.name} on ${on_string}">
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)" directory="output" ext="gff" visible="false" />
+            <filter>options_type['output_separate_motifs'] == 'yes'</filter>
+        </collection>
         <data format="cisml" name="xml_outfile" label="${tool.name} on ${on_string} (xml)">
             <actions>
                 <conditional name="fasta_type.fasta_type_selector">
@@ -209,7 +232,7 @@
             <output name="html_outfile" file="fimo_output_html_1.html" compare="contains"/>
             <output name="txt_outfile" file="fimo_output_txt_1.txt" compare="contains"/>
             <output name="gff_outfile" file="fimo_output_almost-gff_1.txt" compare="contains"/>
-            <output name="xml_outfile" file="fimo_output_xml_1.xml" lines_diff="8"/>
+            <output name="xml_outfile" file="fimo_output_xml_1.xml" compare="contains"/>
             <output name="interval_outfile" file="fimo_output_interval_1.txt" compare="contains"/>
         </test>
         <test>
@@ -221,7 +244,24 @@
             <output name="html_outfile" file="fimo_output_html_2.html" compare="contains"/>
             <output name="txt_outfile" file="fimo_output_txt_2.txt" compare="contains"/>
             <output name="gff_outfile" file="fimo_output_almost-gff_2.txt" compare="contains"/>
-            <output name="xml_outfile" file="fimo_output_xml_2.xml" lines_diff="8"/>
+            <output name="xml_outfile" file="fimo_output_xml_2.xml" compare="contains"/>
+            <output name="interval_outfile" file="fimo_output_interval_2.txt" compare="contains"/>
+        </test>
+        <test>
+            <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/>
+            <param name="fasta_type_selector" value="history"/>
+            <param name="input_database" value="phiX.fasta" ftype="fasta"/>
+            <param name="options_type_selector" value="advanced"/>
+            <param name="parse_genomic_coord" value="--parse_genomic_coord"/>
+            <param name="remove_duplicate_coords" value="yes"/>
+            <param name="output_separate_motifs" value="yes"/>
+            <param name="non_commercial_use" value="True"/>
+            <output name="html_outfile" file="fimo_output_html_2.html" compare="contains"/>
+            <output name="txt_outfile" file="fimo_output_txt_2.txt" compare="contains"/>
+            <output_collection name="motifs" type="list">
+                <element name="MOTIF1.gff" file="motif1.gff" ftype="gff" compare="contains"/>
+            </output_collection>
+            <output name="xml_outfile" file="fimo_output_xml_2.xml" compare="contains"/>
             <output name="interval_outfile" file="fimo_output_interval_2.txt" compare="contains"/>
         </test>
     </tests>
@@ -235,7 +275,7 @@
 FIMO scans a sequence database for individual matches to each of the motifs you provide (sample output for motifs and sequences).
 The name FIMO stands for 'Find Individual Motif Occurrences'.  The program searches a database of sequences for occurrences of
 known motifs, treating each motif independently.  Motifs must be in MEME Motif Format.  You can define the statistical threshold
-(p-value) for motifs and whether FIMO scans just the given sequences or their reverse complements (where applicable), too.
+(p-value) for motifs and whether FIMO scans just the given sequences or their reverse complements (where applicable).
 
 .. class:: infomark