diff sortmerna.xml @ 9:eb35257d2e29 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sortmerna commit d83142dbe2432fcb0f56dcd6311a05c061628ecc
author rnateam
date Wed, 20 Mar 2019 03:03:08 -0400
parents 65c38d020fea
children 10b84b577117
line wrap: on
line diff
--- a/sortmerna.xml	Sun Sep 24 14:28:47 2017 -0400
+++ b/sortmerna.xml	Wed Mar 20 03:03:08 2019 -0400
@@ -1,7 +1,38 @@
-<tool id="bg_sortmerna" name="Filter with SortMeRNA" version="@VERSION@.5">
+<tool id="bg_sortmerna" name="Filter with SortMeRNA" version="@VERSION@.6">
     <description>of ribosomal RNAs in metatranscriptomic data</description>
     <macros>
-        <import>macros.xml</import>
+        <token name="@VERSION@">2.1b</token>
+        <xml name="db_prep">
+            <param name="seed_length" type="integer" min="0" max="100" value="18" label="Seed length for database indexing" help="(-L)"/>
+            <param name="max_pos" type="integer" min="0" max="100000" value="10000" label="Maximum number of positions to store for each k-mer for database indexing" help="With 0, all positions are stored (--max_pos)"/>
+        </xml>
+        <xml name="output_alignments">
+            <param name="print_all_reads" type="boolean" checked="false" truevalue="--print_all_reads" falsevalue="" label="Output null alignment strings for non-aligned reads"/>
+            <conditional name="blast">
+                <param name="blast_output" type="select" label="Output BLAST report?">
+                    <option value="True">Yes</option>
+                    <option value="False" selected="True">No</option>
+                </param>
+                <when value="True">
+                    <param name="blast_format" type="select" label="BLAST-like format?">
+                        <option value="0">pairwise (--blast '0')</option>
+                        <option value="1">tabular BLAST -m 8 format (--blast '1')</option>
+                        <option value="1 cigar">tabular + column for CIGAR (--blast '1 cigar')</option>
+                        <option value="1 cigar qcov">tabular + columns for CIGAR and query coverage (--blast '1 cigar qcov')</option>
+                        <option value="1 cigar qcov qstrand">tabular + columns for CIGAR, query coverage and strand (--blast '1 cigar qcov qstrand')</option>
+                    </param>
+                </when>
+                <when value="False"/>
+            </conditional>
+        </xml>
+        <token name="@ALIGNMENTS@">
+            $report.print_all_reads
+            --sam
+            --SQ
+            #if $report.blast.blast_output == 'True'
+                --blast '$report.blast.blast_format'
+            #end if
+        </token>
     </macros>
     <requirements>
         <requirement type="package" version="@VERSION@">sortmerna</requirement>
@@ -49,9 +80,9 @@
 
     #if str( $databases_type.databases_selector ) != 'cached'
         indexdb_rna 
-            --ref $ref 
-            -L $databases_type.seed_length 
-            --max_pos $databases_type.max_pos 
+            --ref '$ref'
+            -L '$databases_type.seed_length'
+            --max_pos '$databases_type.max_pos'
         &&
     #end if
 
@@ -59,15 +90,15 @@
         merge-paired-reads.sh
             '$sequencing_type.forward_reads'
             '$sequencing_type.reverse_reads'
-            merged-reads.fastq
+            merged-reads
         &&
     #end if
 
     sortmerna 
-        --ref $ref
-        --aligned aligned
+        --ref '$ref'
+        --aligned 'aligned'
         #if str( $sequencing_type.sequencing_type_selector ) == 'paired'
-            --reads merged-reads.fastq
+            --reads 'merged-reads'
             $sequencing_type.paired_type
         #else
             --reads '$sequencing_type.reads'
@@ -77,7 +108,7 @@
         $aligned_fastx.aligned_fastx_selector
         #if $aligned_fastx.aligned_fastx_selector == '--fastx'
             #if $aligned_fastx.other
-                --other unaligned
+                --other 'unaligned'
             #end if
         #end if
         #if $report.report_type == 'best'
@@ -108,25 +139,34 @@
         --mismatch '$mismatch'
         --gap_open '$gap_open'
         --gap_ext '$gap_ext'
-        -N $ambiguous_letter
+        -N '$ambiguous_letter'
         -a \${GALAXY_SLOTS:-1}
     #if $report.report_type != 'None'
         &&
         samtools view -@ "\${GALAXY_SLOTS:-4}" -u aligned.sam | samtools sort -@ "\${GALAXY_SLOTS:-4}" -T tmp -O bam -o '$output_bam'
     #end if
 
-    #if str( $sequencing_type.sequencing_type_selector ) == 'paired' and $sequencing_type.paired_type != '' and $aligned_fastx.aligned_fastx_selector == '--fastx'
-        &&
-        unmerge-paired-reads.sh
-            aligned.fastq
-            '$aligned_forward'
-            '$aligned_reverse'
-        #if $aligned_fastx.other
+    #if $aligned_fastx.aligned_fastx_selector == '--fastx' and str($sequencing_type.sequencing_type_selector) == 'paired'
+        #if str($sequencing_type.paired_type) != ''
             &&
             unmerge-paired-reads.sh
-                unaligned.fastq
-                '$unaligned_forward'
-                '$unaligned_reverse'
+                aligned.fast*
+                '$aligned_forward'
+                '$aligned_reverse'
+            #if $aligned_fastx.other
+                &&
+                unmerge-paired-reads.sh
+                    unaligned.fast*
+                    '$unaligned_forward'
+                    '$unaligned_reverse'
+            #end if
+        #else
+            &&
+            mv aligned.fast* '$aligned_paired'
+            #if $aligned_fastx.other
+                &&
+                mv unaligned.fast* '$unaligned_paired'
+            #end if
         #end if
     #end if
 ]]>
@@ -141,8 +181,8 @@
                 <param argument="--reads" type="data" format="fasta,fastq" label="Querying sequences"/>
             </when>
             <when value="paired">
-                <param name="forward_reads" type="data" format="fastq" label="Forward reads"/>
-                <param name="reverse_reads" type="data" format="fastq" label="Reverse reads"/>
+                <param name="forward_reads" type="data" format="fasta,fastq" label="Forward reads"/>
+                <param name="reverse_reads" type="data" format="fasta,fastq" label="Reverse reads"/>
                 <param name="paired_type" type="select" display="radio" label="If one of the paired-end reads aligns and the other one does not">
                     <option value="">Leave the reads split between aligned and rejected files</option>
                     <option value="--paired_in">Output both reads to aligned file (--paired_in)</option>
@@ -255,25 +295,25 @@
         <data name="output_fastx" format_source="reads" from_work_dir="aligned.dat" label="${tool.name} on ${on_string}: Aligned reads">
             <filter>aligned_fastx['aligned_fastx_selector'] != '' and sequencing_type['sequencing_type_selector'] != 'paired'</filter>
         </data>
-        <data name="output_paired_fastx" format="fastq" from_work_dir="aligned.fastq" label="${tool.name} on ${on_string}: Aligned reads">
+        <data name="aligned_paired" format_source="forward_reads" label="${tool.name} on ${on_string}: Aligned reads">
             <filter>aligned_fastx['aligned_fastx_selector'] != '' and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] == ''</filter>
         </data>
-        <data name="aligned_forward" format="fastq" label="${tool.name} on ${on_string}: Aligned forward reads">
-            <filter>aligned_fastx['aligned_fastx_selector'] != ''  and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] != ''</filter>
+        <data name="aligned_forward" format_source="forward_reads" label="${tool.name} on ${on_string}: Aligned forward reads">
+            <filter>aligned_fastx['aligned_fastx_selector'] != '' and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] != ''</filter>
         </data>
-        <data name="aligned_reverse" format="fastq" label="${tool.name} on ${on_string}: Aligned reverse reads">
-            <filter>aligned_fastx['aligned_fastx_selector'] != ''  and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] != ''</filter>
+        <data name="aligned_reverse" format_source="reverse_reads" label="${tool.name} on ${on_string}: Aligned reverse reads">
+            <filter>aligned_fastx['aligned_fastx_selector'] != '' and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] != ''</filter>
         </data>
         <data name="output_other" format_source="reads" from_work_dir="unaligned.dat" label="${tool.name} on ${on_string}: Unaligned reads">
-            <filter>aligned_fastx['aligned_fastx_selector'] != '' and aligned_fastx['other'] == True and sequencing_type['sequencing_type_selector'] == 'not_paired'</filter>
+            <filter>aligned_fastx['aligned_fastx_selector'] != '' and aligned_fastx['other'] == True and sequencing_type['sequencing_type_selector'] != 'paired'</filter>
         </data>
-        <data name="output_paired_other" format="fastq" from_work_dir="unaligned.fastq" label="${tool.name} on ${on_string}: Unaligned reads">
+        <data name="unaligned_paired" format_source="forward_reads" label="${tool.name} on ${on_string}: Unaligned reads">
             <filter>aligned_fastx['aligned_fastx_selector'] != '' and aligned_fastx['other'] == True and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] == ''</filter>
         </data>
-        <data name="unaligned_forward" format="fastq" label="${tool.name} on ${on_string}: Unaligned forward reads">
+        <data name="unaligned_forward" format_source="forward_reads" label="${tool.name} on ${on_string}: Unaligned forward reads">
             <filter>aligned_fastx['aligned_fastx_selector'] != '' and aligned_fastx['other'] == True and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] != ''</filter>
         </data>
-        <data name="unaligned_reverse" format="fastq" label="${tool.name} on ${on_string}: Unaligned reverse reads">
+        <data name="unaligned_reverse" format_source="reverse_reads" label="${tool.name} on ${on_string}: Unaligned reverse reads">
             <filter>aligned_fastx['aligned_fastx_selector'] != '' and aligned_fastx['other'] == True and sequencing_type['sequencing_type_selector'] == 'paired' and sequencing_type['paired_type'] != ''</filter>
         </data>
         <data name="output_bam" format="bam" label="${tool.name} on ${on_string}: Alignments">
@@ -443,6 +483,86 @@
             <output name="output_biom" file="test4_biom.txt"/>
             <output name="output_de_novo" file="test4_de_novo.fasta"/>
         </test>
+        <test>
+            <conditional name="sequencing_type">
+                <param name="sequencing_type_selector" value="paired" />
+                <param name="forward_reads" value="forward_reads.fasta" />
+                <param name="reverse_reads" value="reverse_reads.fasta" />
+                <param name="paired_type" value=""/>
+            </conditional>
+            <param name="strand_search" value="" />
+            <conditional name="databases_type">
+                <param name="databases_selector" value="history" />
+                <param name="database_name" value="ref_small.fasta" />
+                <param name="seed_length" value="18" />
+                <param name="max_pos" value="100000"/>
+            </conditional>
+            <conditional name="aligned_fastx">
+                <param name="aligned_fastx_selector" value="--fastx" />
+                <param name="other" value="True" />
+            </conditional>
+            <param name="log" value="False" />
+            <conditional name="report">
+                <param name="report_type" value="best" />
+                <param name="report_num_alignments_type" value="1"/>
+                <param name="print_all_reads" value="False" />
+                <conditional name="blast">
+                    <param name="blast_output" value="False"/>
+                </conditional>
+                <conditional name="otu">
+                    <param name="otu_map" value="False"/>
+                </conditional>
+            </conditional>
+            <param name="e_value" value="1"/>
+            <param name="match" value="2"/>
+            <param name="mismatch" value="-3" />
+            <param name="gap_open" value="5"/>
+            <param name="gap_ext" value="2"/>
+            <param name="ambiguous_letter" value="-3"/>
+            <output name="aligned_paired" file="test5_aligned.fasta" />
+            <output name="unaligned_paired" file="test5_unaligned.fasta" />
+        </test>
+        <test>
+            <conditional name="sequencing_type">
+                <param name="sequencing_type_selector" value="paired" />
+                <param name="forward_reads" value="forward_reads.fasta" />
+                <param name="reverse_reads" value="reverse_reads.fasta" />
+                <param name="paired_type" value="--paired_out"/>
+            </conditional>
+            <param name="strand_search" value="" />
+            <conditional name="databases_type">
+                <param name="databases_selector" value="history" />
+                <param name="database_name" value="ref_small.fasta" />
+                <param name="seed_length" value="18" />
+                <param name="max_pos" value="100000"/>
+            </conditional>
+            <conditional name="aligned_fastx">
+                <param name="aligned_fastx_selector" value="--fastx" />
+                <param name="other" value="True" />
+            </conditional>
+            <param name="log" value="False" />
+            <conditional name="report">
+                <param name="report_type" value="best" />
+                <param name="report_num_alignments_type" value="1"/>
+                <param name="print_all_reads" value="False" />
+                <conditional name="blast">
+                    <param name="blast_output" value="False"/>
+                </conditional>
+                <conditional name="otu">
+                    <param name="otu_map" value="False"/>
+                </conditional>
+            </conditional>
+            <param name="e_value" value="1"/>
+            <param name="match" value="2"/>
+            <param name="mismatch" value="-3" />
+            <param name="gap_open" value="5"/>
+            <param name="gap_ext" value="2"/>
+            <param name="ambiguous_letter" value="-3"/>
+            <output name="aligned_forward" file="test6_aligned_forward.fasta" />
+            <output name="aligned_reverse" file="test6_aligned_reverse.fasta" />
+            <output name="unaligned_forward" file="test6_unaligned_forward.fasta" />
+            <output name="unaligned_reverse" file="test6_unaligned_reverse.fasta" />
+        </test>
     </tests>
     <help>
 <![CDATA[