changeset 5:9c0d4ec99ba9 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/segemehl commit 2f6d48e1d2161d03411d9fbb4fc3d16f0fa3d2e1
author rnateam
date Thu, 27 Sep 2018 06:31:11 -0400
parents db367d012fa3
children
files segemehl.tar.gz segemehl.xml test-data/test.fastq test-data/testmap2.fastq
diffstat 4 files changed, 100 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
Binary file segemehl.tar.gz has changed
--- a/segemehl.xml	Wed Jul 26 15:32:09 2017 -0400
+++ b/segemehl.xml	Thu Sep 27 06:31:11 2018 -0400
@@ -1,4 +1,4 @@
-<tool id="segemehl" name="segemehl" version="0.2.0.3">
+<tool id="segemehl" name="segemehl" version="0.2.0.4">
   <description>short read mapping with gaps</description>
   <requirements>
     <requirement type="package" version="0.2.0">segemehl</requirement>
@@ -10,8 +10,39 @@
            description="Execution halted." />
   </stdio>
   <command>
+<!--
+        ## check for single/pair-end
+        #if str( $library.type ) == "single":
+            #set $query_list = list()
+        ## prepare inputs
+        #for $fastq in $library.input_query:
+            $query_list.append('%s' % $fastq )
+        #end for
+        -q "#echo ' '.join( $query_list )#"
+        #else
+            ## prepare inputs        
+            #set $mate1 = list()
+            #set $mate2 = list()
+            #for $mate_pair in $library.mate_list:
+                $mate1.append( str($mate_pair.first_strand_query) )
+                $mate2.append( str($mate_pair.second_strand_query) )
+            #end for
+        
+            -q #echo ','.join($mate1)
+            -p #echo ','.join($mate2)
+        
+            -I $library.maxinsertsize
+        #end if
+-->
     <![CDATA[
-        ## prepare segemehl index if no reference genome is supplied
+## UNIMPLEMENTED    
+## [SEEDEXTENSIONPARAMS]           
+## -e, --extensionscore <n>        score of a match during extension (default:2)
+## -n, --extensionpenalty <n>      penalty for a mismatch during extension (default:4)
+## -X, --dropoff <n>               dropoff parameter for extension (default:8)
+##  --showalign
+
+## prepare segemehl index if no reference genome is supplied
         #if $refGenomeSource.genomeSource == "history":
             mkdir ./temp_index/ &&
             #set $temp_index = './temp_index/temp.idx'
@@ -36,25 +67,15 @@
         
         ## check for single/pair-end
         #if str( $library.type ) == "single":
-            #set $query_list = list()
-        ## prepare inputs
-        #for $fastq in $library.input_query:
-            $query_list.append('%s' % $fastq )
-        #end for
-        -q "#echo ' '.join( $query_list )#"
-        #else
-            ## prepare inputs        
-            #set $mate1 = list()
-            #set $mate2 = list()
-            #for $mate_pair in $library.mate_list:
-                $mate1.append( str($mate_pair.first_strand_query) )
-                $mate2.append( str($mate_pair.second_strand_query) )
-            #end for
-        
-            -q #echo ','.join($mate1)
-            -p #echo ','.join($mate2)
-        
-            -I $library.maxinsertsize
+            ## prepare inputs
+            -q ${library.input_query}
+        #else       
+            -q ${mate_pair.first_strand_query}
+            -p ${mate_pair.second_strand_query}
+            -I ${library.maxinsertsize}
+        #end if
+        #if str( $bisulfite ) != "0":
+            -F $bisulfite
         #end if
         -m $minsize
         -A $accuracy
@@ -65,10 +86,11 @@
         #if str( $prime3 ).strip():
             -Q "$prime3"
         #end if
-            $polyA
-            $autoclip
-            $hardclip
-            $order
+        -R $clipacc
+        $polyA
+        $autoclip
+        $hardclip
+        $order
         #if $maxout:
             --maxout $maxout
         #end if
@@ -77,13 +99,18 @@
             --minsplicecover $splitreads.minsplicecover
             --minfragscore $splitreads.minfragscore
             --minfraglen $splitreads.minfraglen
-            --splicescorescale $splitreads.splicescorescale
+	    --splicescorescale $splitreads.splicescorescale
+	    --maxsplitevalue $splitreads.maxsplitevalue
         #end if
         -M $maxinterval
         -E $evalue
         -D $differences
+        -J $jump
         -s
         -o '$segemehl_out'
+        #if str( $nomatchfilename ) == 'yes':
+           -u '$segemehl_outunmatched'
+        #end if
     ]]>
   </command>
   <inputs>
@@ -116,7 +143,8 @@
         <option value="paired">Paired-end</option>
       </param>
       <when value="single">
-        <param name="input_query" type="data" multiple="True" format="fastqsanger,fastqillumina,fastq,fasta" label="Reads in FASTQ/FASTA files" />
+		<!--        <param name="input_query" type="data" multiple="True" format="fastqsanger,fastqillumina,fastq,fasta" label="Reads in FASTQ/FASTA files" /> -->
+		<param name="input_query" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="Reads in FASTQ/FASTA files" />
       </when>
       <when value="paired">
         <!-- ToDo paired coolections -->
@@ -124,47 +152,57 @@
           <param name="first_strand_query" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="Reads from first strand" />
           <param name="second_strand_query" type="data" format="fastqsanger,fastqillumina,fastq,fasta" label="Reads from second strand" />
         </repeat>
-        <param name="maxinsertsize" type="integer" value="5000" label="Maximum size of the inserts (paired end)" help="default: 5000 (-I)" />
+        <param argument="--maxinsertsize" type="integer" value="5000" label="Maximum size of the inserts (paired end)" help="default: 5000" />
       </when>
     </conditional>
 
     <conditional name="splitreads">
-      <param name="splits" type="select" label="Detect split/spliced reads" help="(--splits)">
+      <param argument="splits" type="select" label="Detect split/spliced reads">
         <option value="nosplit">No splits</option>
         <option value="splits">Split reads</option>
       </param>
       <when value="splits">
-        <param name="minsplicecover" type="integer" value="80" label="Min coverage for spliced transcripts" help="(--minsplicecover)" />
-        <param name="minfragscore" type="integer" value="18" label="Min coverage for spliced transcripts" help="(--minfragscore)" />
-        <param name="minfraglen" type="integer" value="20" label="Min length of a spliced fragment" help="(--minfraglen)" />
-        <param name="splicescorescale" type="float" value="1.0" label="Report spliced alignment with score greater than this scale times the score"
-               help="Report only if this value x score is larger than next best spliced alignment (--splicescorescale)" />
-        <param name="sevalue" type="float" min="0" value="50.000000" label="max split evalue" help="(--maxsplitevalue)"/>
+        <param argument="--minsplicecover" type="integer" value="80" label="Min coverage for spliced transcripts" />
+        <param argument="--minfragscore" type="integer" value="18" label="Min coverage for spliced transcripts" />
+        <param argument="--minfraglen" type="integer" value="20" label="Min length of a spliced fragment"  />
+        <param argument="--splicescorescale" type="float" value="1.0" label="Report spliced alignment with score greater than this scale times the score"
+               help="Report only if this value x score is larger than next best spliced alignment" />
+       <param argument="--maxsplitevalue" type="float" min="0" value="50.000000" label="max evalue for splits"/>
       </when>
       <when value="nosplit">
       </when>     
     </conditional>
-    
-    <param name="minsize" type="integer" value="12" min="1" label="Minimum size of queries" help="(-m)" />
-    <param name="maxout" type="integer" min="0" value="0" optional="True" 
-           label="Maximum number of alignments that will be reported" help="(--maxout)" />
-    <param name="accuracy" type="integer" value="85" min="1" max="100" label="Min percentage of matches per read in semi-global alignment" help="(-A)" />
-    <param name="hitstrategy" type="select" label="Hits to report?" help="(-H)">
+    <param argument="--bisulfite" type="select" label="Bisulfite mapping">
+      <option value="0">No bisulfite mapping</option>
+      <option value="1">bisulfite mapping with methylC-seq/Lister et al.</option>
+      <option value="2">bs-seq/Cokus et al. protocol</option>
+    </param>
+    <param argument="--minsize" type="integer" value="12" min="1" label="Minimum size of queries" />
+    <param argument="--maxout" type="integer" min="0" value="0" optional="True" 
+           label="Maximum number of alignments that will be reported"/>
+    <param argument="--accuracy" type="integer" value="85" min="1" max="100" label="Min percentage of matches per read in semi-global alignment" />
+    <param argument="--hitstrategy" type="select" label="Hits to report?">
       <option value="1">report only best scoring hits</option>
       <option value="0">report all scoring hits</option>
     </param>
-    <param name="prime5" type="text" label="add 5' adapter" help="default: none (-Q)" />
-    <param name="prime3" type="text" label="add 3' adapter" help="default: none (-P)"/>
-    <param name="polyA" type="boolean" truevalue="--polyA" falsevalue="" checked="false" label="Clip polyA tail" help="(-T)"/>
-    <param name="autoclip" type="boolean" truevalue="--autoclip" falsevalue="" checked="false" label="Autoclip unknown 3prime adapter" help="(-Y)"/>
-    <param name="hardclip" type="boolean" truevalue="--hardclip" falsevalue="" checked="false" label="Enable hard clipping" help="(-C)"/>
-    <param name="order" type="boolean" truevalue="--order" falsevalue="" checked="false" label="Sorts the output by chromsome and position" help="(-O)"/>
-    <param name="differences" type="integer" min="0" value="1" label="search seeds initially with n differences" help="(--differences)"/>
-    <param name="evalue" type="float" min="0" value="5.000000" label="max evalue" help="(--evalue)"/>
-    <param name="maxinterval" type="integer" min="1" value="100" label="maximum width of a suffix array interval, i.e. a query seed will be omitted if it matches more than n times" help="(--maxinterval)"/>
+    <param argument="--prime5" type="text" label="add 5' adapter" help="default: none" />
+    <param argument="--prime3" type="text" label="add 3' adapter" help="default: none"/>
+    <param argument="--clipacc" value="70" type="integer" label="clipping accuracy" />
+    <param argument="--polyA" type="boolean" truevalue="--polyA" falsevalue="" checked="false" label="Clip polyA tail" />
+    <param argument="--autoclip" type="boolean" truevalue="--autoclip" falsevalue="" checked="false" label="Autoclip unknown 3prime adapter"/>
+    <param argument="--hardclip" type="boolean" truevalue="--hardclip" falsevalue="" checked="false" label="Enable hard clipping"/>
+    <param argument="--order" type="boolean" truevalue="--order" falsevalue="" checked="false" label="Sorts the output by chromsome and position" />
+    <param argument="--differences" type="integer" min="0" value="1" label="search seeds initially with n differences"/>
+    <param argument="--jump" type="integer" value="0" min="0" label="search seeds with jump size" help="(0=automatic) (default:0)?"/>
+    <param argument="--evalue" type="float" min="0" value="5.000000" label="max evalue"/>
+    <param argument="--maxinterval" type="integer" min="1" value="100" label="maximum width of a suffix array interval, i.e. a query seed will be omitted if it matches more than n times"/>
+    <param argument="--nomatchfilename" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Output unmatched reads"/>
   </inputs>
   <outputs>
-    <data format="sam" name="segemehl_out" label="Read alignments on ${on_string}"/>
+    <data format="sam" name="segemehl_out" label="${tool.name} on ${on_string}"/>
+    <data format="fastq" name="segemehl_outunmatched" label="${tool.name} unaligned reads ${on_string}">
+      <filter>output_unmatched</filter>
+    </data>
   </outputs>
   <tests>
     <test>
@@ -181,8 +219,10 @@
       <param name="library" value="single" />
       <param name="input_query" value="test.fastq" />   
       <param name="splits" value="splits" />
-	  <param name="minsplicecover" value="40" />
+      <param name="minsplicecover" value="40" />
+      <param name="nomatchfilename" value="yes" />
       <output name="segemehl_out" file="testmap2.sam" lines_diff="2" />
+      <output name="segemehl_outunmatched" file="testmap2.fastq" />
     </test>
   </tests>
   <help>
--- a/test-data/test.fastq	Wed Jul 26 15:32:09 2017 -0400
+++ b/test-data/test.fastq	Thu Sep 27 06:31:11 2018 -0400
@@ -18,3 +18,7 @@
 CATGTACTGTTAAAGCGTGCGTTTATTTCAAACATTAATGAAATTTGCAGAACCCAAACTAAAGAGAGAG
 +
 3MIa!,$)8EA)!1>tMJ{:2WrL`s|`gg{]'0+Op!6RxNw;V)XKV#Go5}b!`_V]A?!F>{LM(z
+@10.516 HWI-EAS100R:1:1:550:1623/1
+TATAAAACGATAAAAAAAATTGAGTCGACGAAGACATTTAATTGTACGTGGTGCAAGTCTTATCTCGACC
++
+3MIa!,$)8EA)!1>tMJ{:2WrL`s|`gg{]'0+Op!6RxNw;V)XKV#Go5}b!`_V]A?!F>{LM(z
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/testmap2.fastq	Thu Sep 27 06:31:11 2018 -0400
@@ -0,0 +1,4 @@
+@10.516 HWI-EAS100R:1:1:550:1623/1 ef:0;if:0 0:24 0:2932:1
+TATAAAACGATAAAAAAAATTGAGTCGACGAAGACATTTAATTGTACGTGGTGCAAGTCTTATCTCGACC
++10.516 HWI-EAS100R:1:1:550:1623/1
+3MIa!,$)8EA)!1>tMJ{:2WrL`s|`gg{]'0+Op!6RxNw;V)XKV#Go5}b!`_V]A?!F>{LM(z