view probecoverage.xml @ 7:bea8435e1e79 draft

"planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/probecoverage commit 6dc66b89f0792e4da40719ec83494a1fcee5e105"
author artbio
date Thu, 03 Jun 2021 23:59:31 +0000
parents 7c4feda2d9c7
children 0adb846ca056
line wrap: on
line source

<tool id="probecoverage" name="Probe Coverage" version="0.7.0">
  <description></description>
  <requirements>
        <requirement type="package" version="1.10=h9402c20_2">samtools</requirement>
        <requirement type="package" version="2.29.2=hc088bd4_0">bedtools</requirement>
        <requirement type="package" version="1.6.4=r36h6115d3f_0">r-optparse</requirement>
        <requirement type="package" version="3.2.1=r36h6115d3f_0">r-ggplot2</requirement>
        <requirement type="package" version="1.17.3=py37h95a1406_0">numpy</requirement>
        <requirement type="package" version="0.16.0.1">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>