view sequence-splitter.xml @ 2:6dd4f53b9964 draft default tip

"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 98f957247a46eabf7e561bd94328b6a03a4d73b9"
author rplanel
date Sat, 21 Nov 2020 08:50:21 +0000
parents 7b509a1801e4
children
line wrap: on
line source

<tool id="sequence-splitter" name="Sequence Splitter" version="@WRAPPER_VERSION@">
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <edam_operations>
        <edam_operation>operation_2409</edam_operation>
        <edam_operation>operation_3359</edam_operation>
    </edam_operations>
    <edam_topics>
        <edam_topic>topic_3307</edam_topic>
        <edam_topic>topic_0080</edam_topic>
    </edam_topics>
    <command detect_errors="exit_code">
        <![CDATA[
        ln -s '$sequences' ./sequences.${sequences.ext} &&
        python 
            '$__tool_directory__/sequence-splitter.py' 
            -s ./sequences.$sequences.ext
            #if $sequences.is_of_type("fasta") 
                -f fasta
            #else
                -f fastq
            #end if 
            #if $split_mode.selector == 'chunk_size'
                -c $split_mode.chunk_size
            #else
                -n $split_mode.nb_chunk
            #end if
            -o 'outputs'
    ]]>
    </command>
    <inputs>
        <param type="data" name="sequences" format="fasta,fastq" />
        <conditional name="split_mode">
            <param name="selector" type="select" label="Split by:">
                <option value="chunk_size">Number of sequence(s) by chunk</option>
                <option value="nb_chunk">Number of chunk(s)</option>
            </param>
            <when value="chunk_size">
                <param name="chunk_size" label="Chunk size" type="integer" min="1" value="100" help="How many sequences by chunk ?" />
            </when>
            <when value="nb_chunk">
                <param name="nb_chunk" label="Number of chunks" type="integer" min="1" value="10" help="How many chunks ?" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <collection name="split_output" type="list" label="splitted sequences">
            <discover_datasets pattern="(?P&lt;designation&gt;\w+-chunk-\d+)\.(?P&lt;ext&gt;.+)" directory="outputs" />
        </collection>
        <data format="txt" name="logfile" from_work_dir="sequence-splitter.log" label="${tool.name} logfile on ${on_string}" />
    </outputs>
    <tests>
        <!-- CHUNK SIZE -->
        <test>
            <param name="sequences" value="sample.fastq" />
            <conditional name="split_mode">
                <param name="selector" value="chunk_size" />
                <param name="chunk_size" value="2" />
            </conditional>
            <output_collection name="split_output" type="list" count="5">
                <element name="sequences-chunk-1" file="sample-chunk-1.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-2" file="sample-chunk-2.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-3" file="sample-chunk-3.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-4" file="sample-chunk-4.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-5" file="sample-chunk-5.fastq" ftype="fastqsanger" compare="diff" />
            </output_collection>
        </test>
        <test>
            <param name="sequences" value="sample.fasta" />
            <conditional name="split_mode">
                <param name="selector" value="chunk_size" />
                <param name="chunk_size" value="5" />
            </conditional>
            <output_collection name="split_output" type="list" count="1">
                <element name="sequences-chunk-1" file="sample-5-chunk-1.fasta" ftype="fasta" compare="diff" />
            </output_collection>
        </test>
        <!-- NUMBER CHUNK -->
        <test>
            <param name="sequences" value="sample.fastq" />
            <conditional name="split_mode">
                <param name="selector" value="nb_chunk" />
                <param name="nb_chunk" value="2" />
            </conditional>
            <output_collection name="split_output" type="list" count="2">
                <element name="sequences-chunk-1" file="sample-3-chunk-1.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-2" file="sample-3-chunk-2.fastq" ftype="fastqsanger" compare="diff" />
            </output_collection>
        </test>
        <test>
            <param name="sequences" value="sample.fastq" />
            <conditional name="split_mode">
                <param name="selector" value="nb_chunk" />
                <param name="nb_chunk" value="4" />
            </conditional>
            <output_collection name="split_output" type="list" count="4">
                <element name="sequences-chunk-1" file="sample-4-chunk-1.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-2" file="sample-4-chunk-2.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-3" file="sample-4-chunk-3.fastq" ftype="fastqsanger" compare="diff" />
                <element name="sequences-chunk-4" file="sample-4-chunk-4.fastq" ftype="fastqsanger" compare="diff" />
            </output_collection>
        </test>
        <test>
            <param name="sequences" value="sample.fasta" />
            <conditional name="split_mode">
                <param name="selector" value="nb_chunk" />
                <param name="nb_chunk" value="10" />
            </conditional>
            <output_collection name="split_output" type="list" count="4">
                <element name="sequences-chunk-1" file="sample-2-chunk-1.fasta" ftype="fasta" compare="diff" />
                <element name="sequences-chunk-2" file="sample-2-chunk-2.fasta" ftype="fasta" compare="diff" />
                <element name="sequences-chunk-3" file="sample-2-chunk-3.fasta" ftype="fasta" compare="diff" />
                <element name="sequences-chunk-4" file="sample-2-chunk-4.fasta" ftype="fasta" compare="diff" />
            </output_collection>
        </test>

    </tests>
    <help>
        <![CDATA[
Usage:

    sequence-splitter.py [-h] [-s SEQUENCES] [-f FORMAT] (-c CHUNK_SIZE | -n NB_CHUNK) [-o OUTPUT]

Split fasta/fastq files

optional arguments:
-h, --help            show this help message and exit

-s SEQUENCES, --sequences SEQUENCES
                    File that contains the sequences

-f FORMAT, --format FORMAT
                    File format (fastq, fasta)

-c CHUNK_SIZE, --chunk-size CHUNK_SIZE
                    The number of sequences by chunks

-n NB_CHUNK, --nb-chunk NB_CHUNK
                    Number of chunks

-o OUTPUT, --output OUTPUT
                    The output directory where the chunks will be saved


    ]]>
    </help>
    <expand macro="citations" />
</tool>