view sequence-splitter.xml @ 0:3e33310a7082 draft

planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
author rplanel
date Thu, 08 Aug 2019 11:18:30 -0400
parents
children 7b509a1801e4
line wrap: on
line source

<tool id="sequence-splitter" name="Sequence Splitter" version="0.1.0">
    <requirements>
        <requirement type="package" version="2.7.11">python</requirement>
        <requirement type="package" version="1.73">biopython</requirement>
    </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="text" name="logfile" from_work_dir="sequence-splitter.log" label="${tool.name} logfile on ${on_string}"/>
    </outputs>
    <tests>
        <test>
            <param name="sequences" value="sample.fasta"/>
            <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="2">
                <element name="sequences-chunk-1" file="sample-chunk-1.fasta" ftype="fasta"/>
                <element name="sequences-chunk-2" file="sample-chunk-2.fasta" ftype="fasta"/>
            </output_collection>
        </test>
        <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"/>
                <element name="sequences-chunk-2" file="sample-chunk-2.fastq" ftype="fastqsanger"/>
                <element name="sequences-chunk-3" file="sample-chunk-3.fastq" ftype="fastqsanger"/>
                <element name="sequences-chunk-4" file="sample-chunk-4.fastq" ftype="fastqsanger"/>
                <element name="sequences-chunk-5" file="sample-chunk-5.fastq" ftype="fastqsanger"/>
            </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="2"/>
            </conditional>
            <output_collection name="split_output" type="list" count="2">
                <element name="sequences-chunk-1" file="sample-3-chunk-1.fastq" ftype="fastqsanger"/>
                <element name="sequences-chunk-2" file="sample-3-chunk-2.fastq" ftype="fastqsanger"/>
            </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"/>
                <element name="sequences-chunk-2" file="sample-2-chunk-2.fasta" ftype="fasta"/>
                <element name="sequences-chunk-3" file="sample-2-chunk-3.fasta" ftype="fasta"/>
                <element name="sequences-chunk-4" file="sample-2-chunk-4.fasta" ftype="fasta"/>
            </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>
</tool>