view probecoverage.xml @ 8:0adb846ca056 draft default tip

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/probecoverage commit 668f7e9be66ae301f840b395d72ddcc311da7aa2
author artbio
date Tue, 20 Feb 2024 08:34:16 +0000
parents bea8435e1e79
children
line wrap: on
line source

<tool id="probecoverage" name="Probe Coverage" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
  <description></description>
    <macros>
        <token name="@TOOL_VERSION@">0.22.0</token>
        <token name="@VERSION_SUFFIX@">0</token>
        <token name="@PROFILE@">23.0</token>
    </macros>
   <requirements>
        <requirement type="package" version="@TOOL_VERSION@">pysam</requirement>
        <requirement type="package" version="2.31.1">bedtools</requirement>
        <requirement type="package" version="1.7.4">r-optparse</requirement>
        <requirement type="package" version="3.4.4">r-ggplot2</requirement>
        <requirement type="package" version="1.4.4">r-reshape2</requirement>
        <requirement type="package" version="1.26.4">numpy</requirement>
    </requirements>
  <stdio>
      <exit_code range="1:" level="fatal" description="Tool exception" />
  </stdio>
  <command detect_errors="exit_code"><![CDATA[
      #for $i, $file in enumerate($inputs):
          ln -f -s '$file' ${i}.bam &&
          ln -f -s '$file.metadata.bam_index' ${i}.bam.bai &&
      #end for
      #if $method == 'pysam':
          python $__tool_directory__/multicov.py
      #else:
          bedtools multicov
      #end if
          -bams
              #for $i, $file in enumerate($inputs):
                  '${i}.bam'
              #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>