view fimo.xml @ 12:02f6ad791bbf draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/meme commit 42fa6e319cf1a97330818dc8c869871a32f0e7aa
author iuc
date Wed, 25 Apr 2018 12:12:47 -0400
parents c470b36b592d
children 4eb02864e5df
line wrap: on
line source

<tool id="meme_fimo" name="FIMO" version="@WRAPPER_VERSION@.0">
    <description>- Scan a set of sequences for motifs.</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <command detect_errors="exit_code"><![CDATA[
mkdir -p output &&
python '$__tool_directory__/fimo_wrapper.py'
--input_motifs '${input_motifs}'
#if str($fasta_type.fasta_type_selector) == 'history':
    --input_fasta '${fasta_type.input_database}'
#else:
    --input_fasta '${fasta_type.input_database.fields.path}'
#end if
--options_type $options_type.options_type_selector
#if str($options_type.options_type_selector) == 'advanced':
    --alpha '${options_type.alpha}'
    #if str($options_type.bgfile_type.bgfile_type_selector) == 'motif_file':
        --bgfile 'motif-file'
    #elif str($options_type.bgfile_type.bgfile_type_selector) == 'bgfile':
        --bgfile '${options_type.bgfile_type.bgfile}'
    #end if
    ${options_type.max_strand}
    --max_stored_scores '${options_type.max_stored_scores}'
    #if str($options_type.motifs_cond.motifs_selector) == 'no':
        #for $motif in $options_type.motifs:
            --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}
    #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
    #if str($options_type.prior_dist_cond.prior_dist_selector) == 'yes':
        --input_prior_dist '${input_prior_dist}'
    #end if
    ${options_type.qv_thresh}
    --thresh ${options_type.thresh}
#end if
--output_path '${html_outfile.files_path}'
--html_output '${html_outfile}'
--interval_output '${interval_outfile}'
--txt_output '${txt_outfile}'
--xml_output '${xml_outfile}'
--gff_output '${gff_outfile}'
    ]]></command>
    <inputs>
        <param name="input_motifs" type="data" format="memexml" label="'MEME output' formatted file"/>
        <conditional name="fasta_type">
            <param name="fasta_type_selector" type="select" label="Source for sequence to search">
                <option value="cached">Locally Cached sequences</option>
                <option value="history" selected="true">Sequences from your history</option>
            </param>
            <when value="cached">
                <param name="input_database" type="select" label="Genome to search">
                    <options from_data_table="all_fasta" />
                </param>
            </when>
            <when value="history">
                <param format="fasta" name="input_database" type="data" label="Sequences"/>
            </when>
        </conditional>
        <conditional name="options_type">
            <param name="options_type_selector" type="select" label="Options configuration">
                <option value="basic" selected="true">Basic</option>
                <option value="advanced">Advanced</option>
            </param>
            <when value="basic" />
            <when value="advanced">
                <param name="alpha" type="float" value="1.0" min="0" max="1.0" label="Alpha parameter for calculating position specific priors" help="Represents the fraction of all transcription factor binding sites that are binding sites for the TF of interest (must be between 0 and 1)."/>
                <conditional name="bgfile_type">
                    <param name="bgfile_type_selector" type="select" label="Background file type">
                        <option value="default" selected="true">Use frequencies embedded in the application from the non-redundant database</option>
                        <option value="motif_file">Use frequencies from motif file</option>
                        <option value="bgfile">Use frequencies from background file</option>
                    </param>
                    <when value="motif_file" />
                    <when value="default" />
                    <when value="bgfile">
                        <param name="bgfile" type="data" format="txt" optional="True" label="Background Model" help="File must be in MEME background file format."/>
                    </when>
                </conditional>
                <param name="max_strand" label="If matches on both strands at a given position satisfy the output threshold, only report the match for the strand with the higher score" type="boolean" truevalue="--max_strand" falsevalue="" checked="False" help="If the scores are tied, the matching strand is chosen at random.  Leave unchecked to report both matches."/>
                <param name="max_stored_scores" type="integer" value="100000" label="Maximum number of scores that will be stored" />
                <conditional name="motifs_cond">
                    <param name="motifs_selector" type="select" label="Use all motifs in input?">
                        <option value="yes" selected="true">Yes</option>
                        <option value="no">No</option>
                    </param>
                    <when value="yes"/>
                    <when value="no">
                        <repeat name="motifs" title="Limit to specified motif">
                            <param name="motif" type="text" value="" label="Specify motif by id" />
                        </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" />
                <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="select" label="Remove duplicate entries in unique GFF coordinates?" help="Remove duplicate entries as defined by the unique GFF coordinates">
                        <option value="no" selected="true">No</option>
                        <option value="yes">Yes</option>
                    </param>
                    </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>
                        <option value="yes">Yes</option>
                    </param>
                    <when value="no"/>
                    <when value="yes">
                        <param name="input_psp" type="data" format="txt" label="Select dataset containing position specific priors" help="Format must be meme psp or wiggle."/>
                    </when>
                </conditional>
                <conditional name="prior_dist_cond">
                    <param name="prior_dist_selector" type="select" label="Use binned distribution of priors?">
                        <option value="no" selected="true">No</option>
                        <option value="yes">Yes</option>
                    </param>
                    <when value="no"/>
                    <when value="yes">
                        <param name="input_prior_dist" type="data" format="txt" label="Select dataset containing binned distribution of priors"/>
                    </when>
                </conditional>
                <param name="qv_thresh" label="Use q-values for the output threshold" type="boolean" truevalue="--qv_thresh" falsevalue="" checked="False" help="Leave unchecked to use p-values for the output threshold."/>
                <param name="thresh" type="float" value="1e-4" label="Output threshold for displaying search results" help="Only search results with a p-value less than the threshold will be output. The threshold can be set to use q-values rather than p-values via the option above."/>
            </when>
        </conditional>
        <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">
            <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
        </param>
    </inputs>
    <outputs>
        <data format="html" name="html_outfile" label="${tool.name} on ${on_string} (html)">
            <actions>
                <conditional name="fasta_type.fasta_type_selector">
                    <when value="cached">
                        <action type="metadata" name="dbkey">
                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
                                <filter type="param_value" column="0" value="seq" keep="True"/>
                                <filter type="param_value" ref="fasta_type.input_database" column="1"/>
                            </option>
                        </action>
                    </when>
                </conditional>
            </actions>
        </data>
        <data format="tabular" name="txt_outfile" label="${tool.name} on ${on_string} (text)">
            <actions>
                <conditional name="fasta_type.fasta_type_selector">
                    <when value="cached">
                        <action type="metadata" name="dbkey">
                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
                            </option>
                        </action>
                    </when>
                </conditional>
            </actions>
        </data>
        <data format="tabular" name="gff_outfile" label="${tool.name} on ${on_string} (almost-gff)">
            <filter>options_type['options_type_selector'] == 'basic' or (options_type['options_type_selector'] == 'advanced' and options_type['output_separate_motifs'] == 'no')</filter>
            <actions>
                <conditional name="fasta_type.fasta_type_selector">
                    <when value="cached">
                        <action type="metadata" name="dbkey">
                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
                            </option>
                        </action>
                    </when>
                </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['options_type_selector'] == 'advanced' and 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">
                    <when value="cached">
                        <action type="metadata" name="dbkey">
                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
                            </option>
                        </action>
                    </when>
                </conditional>
            </actions>
        </data>
        <data format="interval" name="interval_outfile" label="${tool.name} on ${on_string} (interval)">
            <actions>
                <conditional name="fasta_type.fasta_type_selector">
                    <when value="cached">
                        <action type="metadata" name="dbkey">
                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
                            </option>
                        </action>
                    </when>
                </conditional>
            </actions>
        </data>
    </outputs>
    <tests>
        <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="basic"/>
            <param name="non_commercial_use" value="True"/>
            <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" compare="contains"/>
            <output name="interval_outfile" file="fimo_output_interval_1.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="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 name="gff_outfile" file="fimo_output_almost-gff_2.txt" compare="contains"/>
            <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="yes"/>
            <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>
    <help>

.. class:: warningmark

**WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted.
Before using, be sure to review, agree, and comply with the license.**

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).

.. class:: infomark

For detailed information on FIMO, click here_, or view the license_.

.. _here: http://meme-suite.org/doc/fimo.html?man_type=web
.. _license: http://meme-suite.org/doc/copyright.html?man_type=web

    </help>
    <citations>
        <citation type="doi">10.1093/bioinformatics/btr064</citation>
    </citations>
</tool>