diff chira_merge.xml @ 4:0170de5072d4 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/chira commit aafb8e5de9023eeddd7f4683909f418ef5aae086"
author iuc
date Fri, 20 Mar 2020 05:11:17 -0400
parents ce26b5a859ba
children 35f433d0bd7f
line wrap: on
line diff
--- a/chira_merge.xml	Thu Mar 12 17:05:50 2020 -0400
+++ b/chira_merge.xml	Fri Mar 20 05:11:17 2020 -0400
@@ -9,9 +9,17 @@
         -b '$alignments'
         #if str($annotation.choice) == "yes":
             -g '$annotation.gtf'
-        #end if            
-        -ao '$alignment_overlap'
+        #end if
         -so '$segment_overlap'
+        #if str($merge.mode) == "blockbuster":
+            -bb
+            -d '$merge.distance'
+            -mc '$merge.min_cluster_height'
+            -mb '$merge.min_block_height'
+            -sc '$merge.scale'
+        #else:
+            -ao '$merge.alignment_overlap'
+        #end if
         -o ./
     ]]></command>
 
@@ -27,12 +35,30 @@
             </when>
             <when value="no">
                 <!-- Do nothing -->
-            </when>        
+            </when>
         </conditional>
-        <param name="alignment_overlap" type="float" value="0.7" label="Overlap fraction for merging alignments" min="0" max="1"
-            help="Minimum fraction of BED entries that must overlap inorder to merge"/>
         <param name="segment_overlap" type="float" value="0.7" label="Overlap fraction for merging mapped read positions to segments" min="0" max="1"
             help="Matching read positions with greater than this fraction overlap are merged into a segment"/>
+        <conditional name="merge">
+            <param name="mode" type="select" label="Select the mode of merging">
+                <option value="overlap">Overlap based</option>
+                <option value="blockbuster">Gaussian based (blockbuster)</option>
+            </param>
+            <when value="overlap">
+                <param name="alignment_overlap" type="float" value="0.7" label="Overlap fraction for merging alignments" min="0" max="1"
+                    help="Minimum fraction of BED entries that must overlap inorder to merge"/>
+            </when>
+            <when value="blockbuster">
+                <param name="distance" type="integer" value="30" label="Blockbuster parameter distance"
+                    help="Minimum distance between two clusters"/>
+                <param name="min_cluster_height" type="float" value="10" label="Blockbuster parameter minClusterHeight"
+                    help="minimum height (readno) of a cluster"/>
+                <param name="min_block_height" type="float" value="1" label="Blockbuster parameter minBlockHeight"
+                    help="minimum height (readno) of a block"/>
+                <param name="scale" type="float" value="0.4" label="Blockbuster parameter scale" min="0" max="1"
+                    help="scale stddev for a single read"/>
+            </when>
+        </conditional>
     </inputs>
     <outputs>
         <data format="bed" name="segments_bed" from_work_dir="segments.bed" label="ChiRA aligned read segments on ${on_string}"/>
@@ -40,34 +66,54 @@
     </outputs>
 
     <tests>
-        <!-- Test: Map without annotation -->
+        <!-- Test: Merge without annotation -->
         <test expect_num_outputs="2">
             <param name="alignments" value="alignments.bed"/>
             <param name="choice" value="no" />
             <output name="segments_bed" >
                 <assert_contents>
-                    <has_text_matching expression="ENSMUST00000160533\t69\t82\t6|1|4,ENSMUST00000160533,69,82,+,42S13M\t0\t+" />
+                    <has_text_matching expression="ENSMUST00000160533\t69\t82\t34\|1\|2,ENSMUST00000160533,69,82,\+,42S13M\t1\t\+" />
                 </assert_contents>
             </output>
             <output name="merged_bed" >
                 <assert_contents>
-                    <has_text_matching expression="ENSMUST00000182010\t19\t74\t+\t6|1|1,ENSMUST00000182010,19,68,+,5S49M1S;7|9|1,ENSMUST00000182010,24,74,+,5S50M" />
+                    <has_text_matching expression="ENSMUST00000182010\t408\t477\t\+" />
+                    <has_text_matching expression="mmu-miR-106a-3p\t4\t15\t\+" />
                 </assert_contents>
             </output>
         </test>
-        <!-- Test: Map with annotation -->
+        <!-- Test: Merge with annotation -->
         <test expect_num_outputs="2">
             <param name="alignments" value="alignments.bed" />
             <param name="choice" value="yes" />
             <param name="gtf" value="annotation.gtf" />
             <output name="segments_bed" >
                 <assert_contents>
-                    <has_text_matching expression="5\t137142331\t137142344\t6|1|4,ENSMUST00000160533,69,82,+,42S13M\t0\t-" />
+                    <has_text_matching expression="5\t137142331\t137142344\t34\|1\|2,ENSMUST00000160533,69,82,\+,42S13M\t1\t-" />
                 </assert_contents>
             </output>
             <output name="merged_bed" >
                 <assert_contents>
-                    <has_text_matching expression="17\t39846976\t39847031\t+\t6|1|1,ENSMUST00000182010,19,68,+,5S49M1S;7|9|1,ENSMUST00000182010,24,74,+,5S50M" />
+                    <has_text_matching expression="17\t39846957\t39847016\t\+" />
+                    <has_text_matching expression="5\t137142331\t137142344\t-" />
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test: Merge using blockbuster -->
+        <test expect_num_outputs="2">
+            <param name="alignments" value="alignments.bed" />
+            <param name="choice" value="yes" />
+            <param name="gtf" value="annotation.gtf" />
+            <param name="mode" value="blockbuster" />
+            <param name="min_cluster_height" value="5" />
+            <output name="segments_bed" >
+                <assert_contents>
+                    <has_text_matching expression="5\t137142331\t137142344\t34\|1\|2,ENSMUST00000160533,69,82,\+,42S13M\t1\t-" />
+                </assert_contents>
+            </output>
+            <output name="merged_bed" >
+                <assert_contents>
+                    <has_text_matching expression="17\t39846957\t39847016\t\+" />
                 </assert_contents>
             </output>
         </test>