view probecoverage.xml @ 5:2ec6529e555d draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/probecoverage commit c249a0b083ab1c53744839e797b4b8856f5516f9
author artbio
date Sat, 02 Jun 2018 07:10:17 -0400
parents daec4df60281
children 7c4feda2d9c7
line wrap: on
line source

<tool id="probecoverage" name="Probe Coverage" version="0.5.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.2_0">r-optparse</requirement>
        <requirement type="package" version="2.2.1=r3.3.2_0">r-ggplot2</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" />
  </stdio>
  <command detect_errors="exit_code"><![CDATA[
      #for $file in $inputs
          samtools index '$file' &&
      #end for
      #if $method == 'pysam':
          python $__tool_directory__/multicov.py
      #else:
          bedtools multicov
      #end if
          -bams
              #for $file in $inputs
                  '$file'
              #end for
          -bed '$bed' > $coverage_dataframe &&
      Rscript '$__tool_directory__'/probecoverage.r
          --method '$method'
          --input '$coverage_dataframe' 
          --title 'Probe coverage depth (cumulative distribution)'
          --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 "
              #for $file in $inputs 
                  $file.element_identifier,
              #end for
              "
              
  ]]></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" />
    <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="coverage_dataframe" label="coverage table" />
   <data format="pdf" name="distribution" label="Cumulative distribution of region coverages" />
</outputs>

    <tests>
        <test>
            <param name="inputs" value="sample1,sample2,sample3" ftype="bam"/>
            <param name="bed" value="probes.bed" ftype="bed"/>
            <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>


<help>

**What it does**

Generates counts of alignments from multiple position-sorted BAM files
that overlap intervals in a BED file.

Shows data as a cumulative plot of numbers of regions with coverage > x.	

**Inputs**

bam alignment files that must be

  - sorted
  - mapped to the same reference

**Output**

A data frame of computed counts

A pdf file generated by R

</help>

<citations>
    <citation type="doi">10.1093/bioinformatics/btq033</citation>
</citations>
</tool>