changeset 2:148389992630 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/delly commit d18d984264f54b45e94d97b5b97ed499a32a334a"
author iuc
date Fri, 22 Jan 2021 14:32:24 +0000
parents 97c7441aed0d
children 1efb2b927957
files macros.xml merge.xml
diffstat 2 files changed, 96 insertions(+), 74 deletions(-) [+]
line wrap: on
line diff
--- a/macros.xml	Thu Oct 29 20:51:37 2020 +0000
+++ b/macros.xml	Fri Jan 22 14:32:24 2021 +0000
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <macros>
-    <token name="@TOOL_VERSION@">0.8.5</token>
+    <token name="@TOOL_VERSION@">0.8.7</token>
     <token name="@VERSION_SUFFIX@">0</token>
     <xml name="requirements">
         <requirements>
@@ -17,14 +17,12 @@
         </citations>
     </xml>
 	
-    <!--
-        command 
-    -->
+    <!-- command -->
 
     <token name="@BAM@"><![CDATA[
-#for $i, $current in enumerate($samples)
-    ln -s '${current}' 'sample_${i}.bam' &&
-    ln -s '${current.metadata.bam_index}' 'sample_${i}.bam.bai' &&
+#for $i, $current in enumerate($input)
+    ln -s '${current}' 'input_${i}.bam' &&
+    ln -s '${current.metadata.bam_index}' 'input_${i}.bam.bai' &&
 #end for
     ]]></token>
     <token name="@DUMP@"><![CDATA[
@@ -43,68 +41,79 @@
 #end if
     ]]></token>
 
-    <!--
-        input 
-    -->
+    <!-- input -->
 
+    <xml name="cnoffset" token_default="">
+        <param name="cnoffset" type="float" min="0.0" max="1.0" value="@DEFAULT@" label="Set minimum CN offset" help="(--cn-offset)"/>
+    </xml>
+    <xml name="coverage" token_label="">
+        <param argument="--coverage" type="integer" value="10" label="@LABEL@"/>
+    </xml>
     <xml name="exclude">
         <param argument="--exclude" type="data" format="tabular" optional="true" label="Select file with regions to exclude"/>
     </xml>
     <xml name="genome">
-        <param argument="--genome" type="data" format="fasta" label="Select genome"/>
+        <param argument="--genome" type="data" format="fasta" label="Select genome file"/>
     </xml>
     <xml name="genoqual">
         <param name="genoqual" type="integer" value="5" label="Set minimum mapping quality for genotyping" help="(--geno-qual)"/>
     </xml>
+    <xml name="input" token_format="" token_multiple="false" token_label="">
+        <param name="input" type="data" format="@FORMAT@" multiple="@MULTIPLE@" label="@LABEL@"/>
+    </xml>
+    <xml name="maxreadsep" token_default="">
+        <param argument="--maxreadsep" type="integer" value="@DEFAULT@" label="Set maximum read separation"/>
+    </xml>
+    <xml name="maxsize" token_default="" token_label="">
+        <param argument="--maxsize" type="integer" value="@DEFAULT@" label="@LABEL@"/>
+    </xml>
     <xml name="minclip">
         <param argument="--minclip" type="integer" value="25" label="Set minimum clipping length"/>
     </xml>
-    <xml name="maxreadsep" token_default="40">
-        <param argument="--maxreadsep" type="integer" value="@DEFAULT@" label="Set maximum read separation"/>
+    <xml name="mincliquesize">
+        <param name="mincliquesize" type="integer" value="2" label="Set minimum paired-end/single-read clique size" help="(--min-clique-size)"/>
     </xml>
-    <xml name="maxsize" token_default="1000000">
-        <param argument="--maxsize" type="integer" value="@DEFAULT@" label="Set maximum SV size"/>
-    </xml>
-    <xml name="mincliquesize">
-        <param name="mincliquesize" type="integer" value="2" label="Set minimum min. PE/SR clique size" help="(--min-clique-size)"/>
-    </xml>
-    <xml name="minrefsep" token_default="25">
+    <xml name="minrefsep" token_default="">
         <param argument="--minrefsep" type="integer" value="@DEFAULT@" label="Set minimum reference separation"/>
     </xml>
-    <xml name="minsize">
-        <param argument="--minsize" type="integer" value="0" label="Set minimum SV size"/>
+    <xml name="minsize" token_default="" token_label="">
+        <param argument="--minsize" type="integer" value="@DEFAULT@" label="@LABEL@"/>
+    </xml>
+    <xml name="pass">
+        <param argument="--pass" type="boolean" truevalue="--pass" falsevalue="" label="Filter sites for PASS?"/>
     </xml>
-    <xml name="samples" token_format="bam" token_multiple="true" token_label="Select sample file(s)">
-        <param name="samples" type="data" format="@FORMAT@" multiple="@MULTIPLE@" label="@LABEL@"/>
+    <xml name="ploidy">
+        <param argument="--ploidy" type="integer" value="2" label="Set baseline ploidy"/>
+    </xml>
+    <xml name="samples">
+        <param argument="--samples" type="data" format="tabular" label="Select sample file" help="Two-column sample file listing sample name and tumor or control."/>
     </xml>
     <xml name="svtype">
         <param argument="--svtype" type="select" label="Select type(s) of structural variants to detect">
             <option value="ALL" selected="true">All types (ALL)</option>
             <option value="DEL">Deletion (DEL)</option>
+            <option value="DUP">Duplication (DUP)</option>
             <option value="INS">Insertion (INS)</option>
-            <option value="DUP">Duplication (DUP)</option>
             <option value="INV">Inversion (INV)</option>
             <option value="BND">Translocation (BND)</option>
         </param>
     </xml>
     <xml name="vcffile">
-        <param argument="--vcffile" type="data" format="vcf,bcf" optional="true" label="Select genotyping file"/>
+        <param argument="--vcffile" type="data" format="bcf,vcf" optional="true" label="Select genotyping file"/>
     </xml>
 
-    <!--
-        output 
-    -->
+    <!-- output -->
 
+    <xml name="bcf">
+        <data name="out_bcf" format="bcf" from_work_dir="result.bcf" label="${tool.name} on ${on_string}: Result (BCF)">
+            <filter>'bcf' in oo['out']</filter>
+        </data>
+    </xml>
     <xml name="vcf">
         <data name="out_vcf" format="vcf" from_work_dir="result.vcf" label="${tool.name} on ${on_string}: Result (VCF)">
             <filter>'vcf' in oo['out']</filter>
         </data>
     </xml>
-     <xml name="bcf">
-        <data name="out_bcf" format="bcf" from_work_dir="result.bcf" label="${tool.name} on ${on_string}: Result (BCF)">
-            <filter>'bcf' in oo['out']</filter>
-        </data>
-    </xml>
     <xml name="dump">
         <data name="out_dump" format="tabular" from_work_dir="dump.tsv" label="${tool.name} on ${on_string}: SV-reads">
             <filter>'dump' in oo['out']</filter>
@@ -116,12 +125,25 @@
         </data>
     </xml>
 
-    <!--
-        Help
-    -->
+    <!-- help -->
 
     <token name="@WID@"><![CDATA[
 Delly is an integrated structural variant (SV) prediction method that can discover, genotype and visualize deletions, tandem duplications, inversions and translocations at single-nucleotide resolution in short-read massively parallel sequencing data. It uses paired-ends, split-reads and read-depth to sensitively and accurately delineate genomic rearrangements throughout the genome.
+
+Short-read SV calling
+
+- *call* to discover and genotype structural variants
+- *merge* structural variants across VCF/BCF files and within a single VCF/BCF file
+- *filter* somatic or germline structural variants
+
+Long-read SV calling
+
+- *lr* for long-read SV discovery
+
+Copy-number variant calling
+
+- *cnv* to discover and genotype copy-number variants
+- *classify* somatic or germline copy-number variants
     ]]></token>
     <token name="@REFERENCES@"><![CDATA[
 More information are available on `GitHub <https://github.com/dellytools/delly>`_.
--- a/merge.xml	Thu Oct 29 20:51:37 2020 +0000
+++ b/merge.xml	Fri Jan 22 14:32:24 2021 +0000
@@ -1,20 +1,20 @@
 <?xml version="1.0"?>
 <tool id="delly_merge" name="Delly merge" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="18.01">
-    <description>structural variants across/within VCF/BCF file(s)</description>
+    <description>structural variants across/within BCF/VCF file(s)</description>
     <macros>
         <import>macros.xml</import>
     </macros>
     <expand macro="requirements"/>
     <expand macro="version_command"/>
     <command detect_errors="exit_code"><![CDATA[
-## initialize 
-#for $i, $current in enumerate($samples)
+## initialize
+#for $i, $current in enumerate($input)
     #if $current.is_of_type('vcf')
-        bcftools view -Ob '$current' > 'sample_${i}.bcf.gz' &&
-        bcftools index 'sample_${i}.bcf.gz' &&
+        bcftools view -Ob '$current' > 'input_${i}.bcf.gz' &&
+        bcftools index 'input_${i}.bcf.gz' &&
     #else
-        ln -s '${current}' 'sample_${i}.bcf.gz' &&
-        ln -s '${current.metadata.bcf_index}' 'sample_${i}.bcf.gz.csi' &&
+        ln -s '${current}' 'input_${i}.bcf.gz' &&
+        ln -s '${current.metadata.bcf_index}' 'input_${i}.bcf.gz.csi' &&
     #end if
 #end for
 
@@ -27,14 +27,15 @@
 --coverage $generic.coverage
 --minsize $generic.minsize
 --maxsize $generic.maxsize
+$generic.cnvmode
 $generic.precise
 $generic.pass
 ## overlap options
 --bp-offset $overlap.bpoffset
 --rec-overlap $overlap.recoverlap
-## samples
-#for $i, $current in enumerate($samples)
-    'sample_${i}.bcf.gz'
+## input
+#for $i, $current in enumerate($input)
+    'input_${i}.bcf.gz'
 #end for
 
 ## postprocessing
@@ -42,37 +43,38 @@
 @VCF@
     ]]></command>
     <inputs>
-        <expand macro="samples" format="bcf,vcf"/>
+        <expand macro="input" format="bcf,vcf" multiple="true" label="Select input files"/>
         <section name="generic" title="Generic options" expanded="true">
             <param argument="--chunks" type="integer" value="500" label="Set maximum chunk size to merge groups of BCF files"/>
             <param argument="--vaf" type="float" value="0.15" min="0.0" max="1.0" label="Set minimum fractional ALT support"/>
-            <param argument="--coverage" type="integer" value="10" label="Set minimum coverage"/>
-            <expand macro="minsize"/>
-            <expand macro="maxsize"/>
+            <expand macro="coverage" label="Set minimum coverage"/>
+            <expand macro="minsize" default="0" label="Set minimum SV size"/>
+            <expand macro="maxsize" default="1000000" label="Set maximum SV size"/>
+            <param argument="--cnvmode" type="boolean" truevalue="--cnvmode" falsevalue="" label="Merge Delly CNV files?"/>
             <param argument="--precise" type="boolean" truevalue="--precise" falsevalue="" label="Filter sites for PRECISE?"/>
-            <param argument="--pass" type="boolean" truevalue="--pass" falsevalue="" label="Filter sites for PASS?"/>
+            <expand macro="pass"/>
         </section>
         <section name="overlap" title="Overlap options" expanded="true">
             <param name="bpoffset" type="integer" value="1000" label="Set maximum breakpoint offset" help="(--bp-offset)"/>
             <param name="recoverlap" type="float" value="0.8" label="Set minimum reciprocal overlap" help="(--rec-overlap)"/>
         </section>
-        <section name="oo" title="Output options">
+        <section name="oo" title="Output options" expanded="true">
             <param name="out" type="select" multiple="true" optional="false" label="Select output file(s)">
                 <option value="bcf" selected="true">BCF</option>
+                <option value="log">Log</option>
                 <option value="vcf">VCF</option>
-                <option value="log">Log</option>
             </param>
         </section>
     </inputs>
     <outputs>
-        <expand macro="vcf"/>
         <expand macro="bcf"/>
         <expand macro="log"/>
+        <expand macro="vcf"/>
     </outputs>
     <tests>
-        <!-- #1 default, bcf -->
+        <!-- #1 bcf, default -->
         <test expect_num_outputs="2">
-            <param name="samples" value="call_1.bcf.gz,call_2.bcf.gz"/>
+            <param name="input" value="call_1.bcf.gz,call_2.bcf.gz"/>
             <section name="oo">
                 <param name="out" value="vcf,bcf"/>
             </section>
@@ -89,15 +91,16 @@
                 </assert_contents>
             </output>
         </test>
-        <!-- #2 bcf-->
+        <!-- #2 bcf -->
         <test expect_num_outputs="3">
-            <param name="samples" value="call_1.bcf.gz,call_2.bcf.gz"/>
+            <param name="input" value="call_1.bcf.gz,call_2.bcf.gz"/>
             <section name="generic">
                 <param name="chunks" value="500"/>
                 <param name="vaf" value="0.16"/>
                 <param name="coverage" value="10"/>
                 <param name="minsize" value="0"/>
                 <param name="maxsize" value="1000000"/>
+                <param name="cnvmode" value="true"/>
                 <param name="precise" value="true"/>
                 <param name="pass" value="true"/>
             </section>
@@ -110,15 +113,7 @@
             </section>
             <output name="out_bcf">
                 <assert_contents>
-                    <has_size value="1851" delta="10"/>
-                </assert_contents>
-            </output>
-            <output name="out_vcf">
-                <assert_contents>
-                    <has_n_lines n="128"/>
-                    <has_line line="##fileformat=VCFv4.2"/>
-                    <has_line line="#CHROM&#009;POS&#009;ID&#009;REF&#009;ALT&#009;QUAL&#009;FILTER&#009;INFO"/>
-                    <has_text_matching expression="chr5&#009;75911568.+"/>
+                    <has_size value="1021" delta="10"/>
                 </assert_contents>
             </output>
             <output name="out_log">
@@ -126,10 +121,17 @@
                     <has_text_matching expression=".+Done\."/>
                 </assert_contents>
             </output>
+            <output name="out_vcf">
+                <assert_contents>
+                    <has_n_lines n="108"/>
+                    <has_line line="##fileformat=VCFv4.2"/>
+                    <has_line line="#CHROM&#009;POS&#009;ID&#009;REF&#009;ALT&#009;QUAL&#009;FILTER&#009;INFO"/>
+                </assert_contents>
+            </output>
         </test>
-        <!-- #3 default, vcf -->
+        <!-- #3 vcf, default -->
         <test expect_num_outputs="2">
-            <param name="samples" value="call_1.vcf.gz,call_2.vcf.gz"/>
+            <param name="input" value="call_1.vcf.gz,call_2.vcf.gz"/>
             <section name="oo">
                 <param name="out" value="vcf,bcf"/>
             </section>
@@ -154,15 +156,13 @@
 
 @WID@
 
-Delly *merge* merges SV sites into a unified site list.
-
 **Input**
 
-BCF or VCF files.
+Delly *merge* requires BCF or VCF files.
 
 **Output**
 
-A single BCF file.
+A single file in BCF/VCF format.  Additionally a log file is provided.
 
 .. class:: infomark