view streme.xml @ 0:7653ebd919bb draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/meme commit 89ee0af6e955ff964b7984d77ad536e0a9154278
author iuc
date Mon, 14 Jul 2025 21:33:08 +0000
parents
children
line wrap: on
line source

<tool id="meme_streme" name="STREME" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>Simple, Thorough, Rapid, Enriched Motif Elicitation</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <xrefs>
        <xref type="bio.tools">streme</xref>
    </xrefs>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
@CHECK_NON_COMMERCIAL_USE@
streme
    -o ./streme_out
    -p '$pos_fasta_file'
    #if str( $alphabet_type.alphabet_type_selector ) == 'built_in':
        -${alphabet_type.built_in_alphabet}
    #else
        -alph '${alphabet_type.custom_alphabet_file}'
    #end if
    #if str( $neg_set_type.neg_set_type_selector ) == 'shuffle_negs':
        -s '${$neg_set_type.pos_shuffle_seed}'
    #elif str( $neg_set_type.neg_set_type_selector ) == 'supply_negs':
        -n '${$neg_set_type.neg_fasta_file}'
    #end if
    #if str( $options_type.options_type_selector ) == 'advanced':
        -e $options_type.e_value_thr
        #if $options_type.minw:
            -minw $options_type.minw
        #end if
        #if $options_type.maxw:
            -maxw $options_type.maxw
        #end if
        #if $options_type.nmotifs:
            -nmotifs $options_type.nmotifs
        #end if
        #if $options_type.thresh:
            -thresh $options_type.thresh
        #end if
        #if $options_type.seed:
            -seed $options_type.seed
        #end if
        #if $options_type.align:
            -align
        #end if
        #if $options_type.maxiter:
            -maxiter $options_type.maxiter
        #end if
    #end if
    ]]></command>
    <inputs>
        <param name="pos_fasta_file" argument="-p" type="data" format="fasta" label="Positive FASTA sequence file" help="Positive (primary) sequence file"/>
        <conditional name="alphabet_type">
            <param name="alphabet_type_selector" type="select" label="Sequence Alphabet">
                <option value="built_in" selected="true">Built-in Alphabets</option>
                <option value="custom">Custom Alphabet File</option>
            </param>
            <when value="built_in">
                <param name="built_in_alphabet" type="select" label="Select Built-in Alphabet">
                    <option value="dna" selected="true">DNA</option>
                    <option value="rna">RNA</option>
                    <option value="protein">Protein</option>
                </param>
            </when>
            <when value="custom">
                <param name="custom_alphabet_file" argument="-alph" type="data" format="txt" label="Custom Alphabet File" help="Provide a custom alphabet file. See STREME documentation for format."/>
            </when>
        </conditional>
        <conditional name="neg_set_type">
            <param name="neg_set_type_selector" type="select" label="Negative set definition">
                <option value="shuffle_negs" selected="true">Shuffle positive sequences</option>
                <option value="supply_negs">Supply negative sequences</option>
            </param>
            <when value="shuffle_negs">
                <param name="pos_shuffle_seed" argument="-s" type="integer" value="1" label="Seed for shuffling positive sequences" help="(default: 1)"/>
            </when>
            <when value="supply_negs">
                <param name="neg_fasta_file" argument="-n" type="data" format="fasta" label="Negative FASTA sequence file" help="Negative (control) sequence file (default: positive sequences are shuffled to create the negative set)"/>
            </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="e_value_thr" argument="-e" type="float" value="0.05" label="E-value threshold" help="Stop if motif E-value &gt; threshold (default: 0.05)">
                    <validator type="expression" message="E-value must be &gt; 0.">value is not None and value &gt; 0</validator>
                </param>
                <param name="minw" argument="-minw" type="integer" min="1" optional="True" label="Minimum motif width" help="Minimum width of motifs to find (default: 6)"/>
                <param name="maxw" argument="-maxw" type="integer" min="1" optional="True" label="Maximum motif width" help="Maximum width of motifs to find (default: 30)"/>
                <param name="nmotifs" argument="-nmotifs" type="integer" min="1" optional="True" label="Number of motifs to find" help="Stop after finding this many motifs"/>
                <param name="thresh" argument="-thresh" type="integer" min="1" optional="True" label="Significance threshold for reporting enriched motifs (p-value)" help="Default: 0.05 (or 0.05 if --evalue given in STREME)"/>
                <param name="seed" argument="-seed" type="integer" optional="True" label="Random seed" help="Seed for random number generator (default: current time)"/>
                <param name="align" argument="-align" type="boolean" truevalue="-align" falsevalue="" checked="False" label="Align motifs" help="Align output motifs (default: no alignment)"/>
                <param name="maxiter" argument="-maxiter" type="integer" min="1" optional="True" label="Maximum EM iterations" help="Maximum number of EM iterations for motif refinement (default: 10)"/>
            </when>
        </conditional>
        <param name="non_commercial_use" type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False" label="I certify that I am not using this tool for commercial purposes.">
            <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)" from_work_dir="streme_out/streme.html"/>
        <data format="txt" name="txt_outfile" label="${tool.name} on ${on_string} (text)" from_work_dir="streme_out/streme.txt"/>
        <data format="memexml" name="xml_outfile" label="${tool.name} on ${on_string} (xml)" from_work_dir="streme_out/streme.xml"/>
    </outputs>
    <tests>
        <test expect_num_outputs="3">
            <param name="pos_fasta_file" value="streme_input_pos.fasta" ftype="fasta"/>
            <param name="alphabet_type|alphabet_type_selector" value="built_in"/>
            <param name="alphabet_type|built_in_alphabet" value="dna"/>
            <param name="neg_set_type|neg_set_type_selector" value="shuffle_negs"/>
            <param name="neg_set_type|pos_shuffle_seed" value="1"/>
            <param name="options_type|options_type_selector" value="basic"/>
            <param name="non_commercial_use" value="True"/>
            <output name="html_outfile" file="streme_output_test1.html" compare="contains"/>
            <output name="txt_outfile" file="streme_output_test1.txt" compare="contains"/>
            <output name="xml_outfile" file="streme_output_test1.xml" compare="contains"/>
        </test>
        <test expect_num_outputs="3">
            <param name="pos_fasta_file" value="streme_input_pos.fasta" ftype="fasta"/>
            <param name="alphabet_type|alphabet_type_selector" value="custom"/>
            <param name="alphabet_type|custom_alphabet_file" value="alphabet.txt" ftype="txt"/>
            <param name="neg_set_type|neg_set_type_selector" value="shuffle_negs"/>
            <param name="neg_set_type|pos_shuffle_seed" value="1"/>
            <param name="options_type|options_type_selector" value="advanced"/>
            <param name="options_type|e_value_thr" value="0.01"/>
            <param name="options_type|nmotifs" value="3"/>
            <param name="non_commercial_use" value="True"/>
            <output name="html_outfile" file="streme_output_test2.html" compare="contains"/>
            <output name="txt_outfile" file="streme_output_test2.txt" compare="contains"/>
            <output name="xml_outfile" file="streme_output_test2.xml" compare="contains"/>
        </test>
        <test expect_num_outputs="3">
            <param name="pos_fasta_file" value="streme_input_pos2.fasta" ftype="fasta"/>
            <param name="alphabet_type|alphabet_type_selector" value="built_in"/>
            <param name="alphabet_type|built_in_alphabet" value="protein"/>
            <param name="neg_set_type|neg_set_type_selector" value="supply_negs"/>
            <param name="neg_set_type|neg_fasta_file" value="streme_input_neg2.fasta" ftype="fasta"/>
            <param name="options_type|options_type_selector" value="advanced"/>
            <param name="options_type|minw" value="5"/>
            <param name="options_type|maxw" value="20"/>
            <param name="non_commercial_use" value="True"/>
            <output name="html_outfile" file="streme_output_test3.html" compare="contains"/>
            <output name="txt_outfile" file="streme_output_test3.txt" compare="contains"/>
            <output name="xml_outfile" file="streme_output_test3.xml" compare="contains"/>
        </test>
    </tests>
    <help><![CDATA[
.. class:: warningmark

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

.. _here: https://meme-suite.org/meme/doc/streme.html
.. _license: http://meme-suite.org/doc/copyright.html

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