diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sequence-splitter.xml	Thu Aug 08 11:18:30 2019 -0400
@@ -0,0 +1,132 @@
+<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>
\ No newline at end of file