diff probecoverage.xml @ 2:35d2db3753d9 draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/probecoverage commit 301fc26e062ac02a28676a05aa9c82e4407e3d29
author artbio
date Sun, 24 Sep 2017 13:34:16 -0400
parents ebe5ec2e244d
children 4f744d3aaf0b
line wrap: on
line diff
--- a/probecoverage.xml	Sat Sep 23 12:56:17 2017 -0400
+++ b/probecoverage.xml	Sun Sep 24 13:34:16 2017 -0400
@@ -1,11 +1,12 @@
-<tool id="probecoverage" name="Probe Coverage" version="0.2.0">
+<tool id="probecoverage" name="Probe Coverage" version="0.3.0">
   <description></description>
   <requirements>
         <requirement type="package" version="1.4.1">samtools</requirement>
         <requirement type="package" version="2.26.0">bedtools</requirement>
         <requirement type="package" version="1.3.2=r3.3.1_0">r-optparse</requirement>
         <requirement type="package" version="2.2.1=r3.3.1_0">r-ggplot2</requirement>
-        <requirement type="package" version="1.4.2=r3.3.1_0">r-reshape2</requirement>
+        <requirement type="package" version="1.11.2=py27_0">numpy</requirement>
+        <requirement type="package" version="0.11.2.1=py27_0">pysam</requirement>
   </requirements>
   <stdio>
       <exit_code range="1:" level="fatal" description="Tool exception" />
@@ -14,16 +15,25 @@
       #for $file in $inputs
           samtools index '$file' &&
       #end for
-      bedtools multicov
+      #if $method == 'pysam':
+          python $__tool_directory__/multicov.py
+      #else:
+          bedtools multicov
+      #end if
           -bams
               #for $file in $inputs
                   '$file'
               #end for
-          -bed '$bed' > $bedtools_table &&
+          -bed '$bed' > $coverage_dataframe &&
       Rscript '$__tool_directory__'/probecoverage.r
-          --input '$bedtools_table' 
+          --input '$coverage_dataframe' 
           --title 'Probe coverage depth (cumulative distribution)'
-          --xlab 'Depth'
+          --xlab
+          #if $method == 'pysam':
+              'Depth (pysam method)'
+          #else:
+              'Depth (bedtools muticov method)'
+          #end if
           --ylab 'Fraction of covered regions with coverage >= Depth'
           --output '$distribution'
           --sample "
@@ -33,13 +43,16 @@
               "
               
   ]]></command>
- <inputs>
-   <param name="inputs" type="data" format="bam" label="Select multiple Bam alignments to parse" multiple="True"/>
-   <param name="bed" type="data" format="bed" label="Select a bed file describing the genomic regions to analyze" />
- </inputs>
+<inputs>
+    <param name="inputs" type="data" format="bam" label="Select multiple Bam alignments to parse" multiple="True"/>
+    <param name="bed" type="data" format="bed" label="Select a bed file describing the genomic regions to analyze" />
+    <param name="method" type="boolean" falsevalue="bedtools" checked="false" truevalue="pysam"
+           help="coverage is computed using bedtools multicov (default) or pysam module"
+           label="Compute coverage with pysam (bedtools by default)" />
+</inputs>
 
  <outputs>
-   <data format="tabular" name="bedtools_table" label="bedtools multicov output" />
+   <data format="tabular" name="coverage_dataframe" label="coverage table" />
    <data format="pdf" name="distribution" label="Cumulative distribution of region coverages" />
 </outputs>
 
@@ -47,9 +60,17 @@
         <test>
             <param name="inputs" value="sample1,sample2,sample3" ftype="bam"/>
             <param name="bed" value="probes.bed" ftype="bed"/>
-            <output file="coverage.tab" name="bedtools_table" />
+            <param name="method" value="bedtools" />
+            <output file="coverage.tab" name="coverage_dataframe" />
             <output file="graph.pdf" name="distribution" />
         </test>
+        <test>
+            <param name="inputs" value="sample1,sample2,sample3" ftype="bam"/>
+            <param name="bed" value="probes.bed" ftype="bed"/>
+            <param name="method" value="pysam" />
+            <output file="coverage_pysam.tab" name="coverage_dataframe" />
+            <output file="graph_pysam.pdf" name="distribution" />
+        </test>
     </tests>