Repository 'rna_starsolo'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/rna_starsolo

Changeset 5:c23da6257d6a (2019-10-16)
Previous changeset 4:58b278def57e (2019-09-06) Next changeset 6:178bdbdb6d24 (2019-11-28)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rgrnastar commit 2082c018009fa73c4afee8313febab13bb807ea8"
modified:
rg_rnaStarSolo.xml
b
diff -r 58b278def57e -r c23da6257d6a rg_rnaStarSolo.xml
--- a/rg_rnaStarSolo.xml Fri Sep 06 11:10:22 2019 -0400
+++ b/rg_rnaStarSolo.xml Wed Oct 16 05:24:45 2019 -0400
[
b'@@ -2,7 +2,7 @@\n     <description>mapping, demultiplexing and gene quantification for single cell RNA-seq</description>\n     <macros>\n         <import>macros.xml</import>\n-        <token name="@WRAPPER@"></token>\n+        <token name="@WRAPPER@">1</token>\n     </macros>\n     <expand macro="requirements"/>\n     <expand macro="stdio" >\n@@ -14,13 +14,52 @@\n     STAR\n     @REFGENOMEHANDLING@\n \n-    ## cDNA sequence always goes first, then barcode\n+    ## Check that the input pairs are of the same type\n+    ## otherwise STARsolo will run for a long time and then error out.\n+    ## We consume either repeats of two inputs R1 + R2\n+    ## or a collection of paired reads.\n+\n+    #try\n+        #set $last = None\n+        #for $x in $input_types.input_repeats:\n+            #if str($input_types.use) == "repeat":\n+                #set $r1 = $x.input1\n+                #set $r2 = $x.input2\n+            #elif str($input_types.use) == "list_paired":\n+                #set $r1 = $x.forward\n+                #set $r2 = $x.reverse\n+            #else\n+                Wrong Type\n+                #stop\n+            #end if\n+\n+            #assert $r1.datatype == $r2.datatype\n+\n+            ## Test that all pairs are of the same type\n+            #if $last:\n+                #assert $last.datatype == $r1.datatype\n+            #end if\n+            #set $last = $r1\n+        #end for\n+    #except AssertionError\n+        Input types are not the same!\n+        #stop\n+    #end try\n+\n+    ## cDNA sequence(s) [R2] always go first, then barcode(s) [R1]\n+    ## see: Section 3.1 of STAR manual for multiple inputs, and Section 13 for STARsolo inputs\n+    #if str($input_types.use) == "repeat":\n+        #set $reads2 = \',\'.join([ \'%s\' % $x.input2 for $i,$x in enumerate($input_types.input_repeats)])\n+        #set $reads1 = \',\'.join([ \'%s\' % $x.input1 for $i,$x in enumerate($input_types.input_repeats)])\n+    #else if str($input_types.use) == "list_paired"\n+        #set $reads2 = \',\'.join([ \'%s\' % $x.reverse for $i,$x in enumerate($input_types.input_repeats)])\n+        #set $reads1 = \',\'.join([ \'%s\' % $x.forward for $i,$x in enumerate($input_types.input_repeats)])\n+    #end if\n+\n     --readFilesIn\n-    #set $reads2 = \',\'.join([ \'%s\' % $x.input2 for $i,$x in enumerate($input_repeats)])\n-    #set $reads1 = \',\'.join([ \'%s\' % $x.input1 for $i,$x in enumerate($input_repeats)])\n     $reads2 $reads1\n \n-    #if $input_repeats[0].input1.is_of_type(\'fastq.gz\', \'fastqsanger.gz\'):\n+    #if $last.is_of_type(\'fastq.gz\', \'fastqsanger.gz\'):\n         @FASTQ_GZ_OPTION@\n     #end if\n \n@@ -29,8 +68,8 @@\n \n     ## 1 - check length of barcode, 0 - do not check\n     ## Good for checking custom chemistries\n-    --soloBarcodeReadLength 1\n     --soloCBwhitelist \'$soloCBwhitelist\'\n+    --soloBarcodeReadLength \'$solo.soloBarcodeReadLength\'\n \n     #if str($solo.params.chemistry) == "CR2":\n     --soloCBstart 1\n@@ -54,10 +93,21 @@\n     --soloUMIdedup \'$solo.soloUMIdedup\'\n     ]]></command>\n     <inputs>\n-        <repeat name="input_repeats" title="Input Pairs" min="1" >\n-            <param format="fastq,fasta,fastq.gz,fastqsanger.gz" name="input1" type="data" label="RNA-Seq FASTQ/FASTA file, Barcode reads"/>\n-            <param format="fastq,fasta,fastq.gz,fastqsanger.gz" name="input2" type="data" label="RNA-Seq FASTQ/FASTA file, cDNA reads"/>\n-        </repeat>\n+        <conditional name="input_types" >\n+            <param name="use" type="select" label="Input Type" >\n+                <option value="repeat" >Single files</option>\n+                <option value="list_paired" >List of Pairs</option>\n+            </param>\n+            <when value="repeat">\n+                <repeat name="input_repeats" title="Input Pairs" min="1" >\n+                    <param format="fastq,fasta,fastq.gz,fastqsanger.gz" name="input1" type="data" label="RNA-Seq FASTQ/FASTA file, Barcode reads"/>\n+                    <param format="fastq,fasta,fastq.gz,fastqsanger.gz" name="input2" type="data" label="RNA-Seq FASTQ/FASTA fil'..b'epeats" >\n+                    <param name="input1" value="41737_R1_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                    <param name="input2" value="41737_R2_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                </repeat>\n+                <repeat name="input_repeats" >\n+                    <param name="input1" value="41737_R1_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                    <param name="input2" value="41737_R2_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                </repeat>\n+            </conditional>\n+            <param name="soloCBwhitelist" value="737K-august-2016.small.txt.gz" />\n+            <conditional name="refGenomeSource">\n+                <param name="geneSource" value="history" />\n+                <param name="genomeFastaFiles" value="SNORD83B.22.fa" />\n+                <param name="genomeSAindexNbases" value="4" />\n+                <conditional name="GTFconditional">\n+                    <param name="GTFselect" value="with-gtf" />\n+                    <param name="sjdbOverhang" value="75" />\n+                    <param name="sjdbGTFfile" value="SNORD83B.22.gtf" ftype="gtf"/>\n+                </conditional>\n+            </conditional>\n+            <section name="solo" >\n+                <conditional name="params">\n+                    <param name="chemistry" value="custom" />\n+                    <param name="soloCBstart" value="1" />\n+                    <param name="soloCBlen" value="16" />\n+                    <param name="soloUMIstart" value="17" />\n+                    <param name="soloUMIlen" value="10" />\n+                </conditional>\n+                <param name="soloStrand" value="Forward" />\n+                <param name="soloFeatures" value="GeneFull" />\n+                <param name="soloUMIdedup" value="1MM_Directional" />\n+            </section>\n+            <output name="output_barcodes" >\n+                <assert_contents>\n+                    <has_line line="TTTGTCATCTTAGAGC" />\n+                    <has_line line="TTTGTCATCTTTCCTC" />\n+                </assert_contents>\n+            </output>\n+        </test>\n+        <test expect_num_outputs="5">\n+            <!-- Same as the test before but with a collection of pairs -->\n+            <conditional name="input_types">\n+                <param name="use" value="list_paired" />\n+                <param name="input_repeats" >\n+                    <collection type="list:paired">\n+                        <element name="Pair1">\n+                            <collection type="paired">\n+                                <element name="forward" value="41737_R1_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                                <element name="reverse" value="41737_R2_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                            </collection>\n+                        </element>\n+                        <element name="Pair2">\n+                            <collection type="paired">\n+                                <element name="forward" value="41737_R1_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                                <element name="reverse" value="41737_R2_sub240k.fastq.gz" ftype="fastqsanger.gz" />\n+                            </collection>\n+                        </element>\n+                        <!-- Planemo does not support more than 2 elements in a list of pairs -->\n+                        <!-- <element name="Pair3"> -->\n+                        <!--     <element name="forward" value="41737_R1_sub240k.fastq.gz" ftype="fastqsanger.gz" /> -->\n+                        <!--     <element name="reverse" value="41737_R2_sub240k.fastq.gz" ftype="fastqsanger.gz" /> -->\n+                        <!-- </element> -->\n+                    </collection>\n+                </param>\n+            </conditional>\n             <param name="soloCBwhitelist" value="737K-august-2016.small.txt.gz" />\n             <conditional name="refGenomeSource">\n                 <param name="geneSource" value="history" />\n'