diff geneBody_coverage.xml @ 51:09846d5169fa draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rseqc commit 37fb1988971807c6a072e1afd98eeea02329ee83
author iuc
date Tue, 14 Mar 2017 10:23:21 -0400
parents f242ee103277
children 34e4c586e3c0
line wrap: on
line diff
--- a/geneBody_coverage.xml	Tue May 03 16:36:57 2016 -0400
+++ b/geneBody_coverage.xml	Tue Mar 14 10:23:21 2017 -0400
@@ -1,4 +1,4 @@
-<tool id="rseqc_geneBody_coverage" name="Gene Body Converage (BAM)" version="2.4galaxy2">
+<tool id="rseqc_geneBody_coverage" name="Gene Body Converage (BAM)" version="@WRAPPER_VERSION@">
   <description>
     Read coverage over gene body.
   </description>
@@ -7,121 +7,117 @@
     <import>rseqc_macros.xml</import>
   </macros>
 
-  <requirements>
-    <expand macro="requirement_package_r" />
-    <expand macro="requirement_package_numpy" />
-    <expand macro="requirement_package_rseqc" />
-  </requirements>
+    <expand macro="requirements" />
 
   <expand macro="stdio" />
 
   <version_command><![CDATA[geneBody_coverage.py --version]]></version_command>
 
   <command><![CDATA[
+    #import re
+    #set $input_list = []
     #for $i, $input in enumerate($inputs):
-    #set $index = $i+1
-    #set $safename = ''.join(c in '_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' and c or '_' for c in $input.display_name)
-    #set $fname = 'd' + str($index) + '_' + str($safename) + ".bam"
-    ln -s '$input' '${fname}' &&
-    ln -s '$input.metadata.bam_index' '${fname}.bai' &&
-    echo '${fname}' >> input_list.txt &&
+        #set $safename = re.sub('[^\w\-_]', '_', $input.element_identifier)
+        #if $safename in $input_list:
+            #set $safename = str($safename) + "." + str($i)
+        #end if
+        $input_list.append($safename)
+        ln -sf '${input}' '${safename}.bam' &&
+        ln -sf '${input.metadata.bam_index}' '${safename}.bam.bai' &&
+        echo '${safename}.bam' >> 'input_list.txt' &&
     #end for
-    geneBody_coverage.py -i input_list.txt -r $refgene --minimum_length $minimum_length -o output
+    geneBody_coverage.py -i 'input_list.txt' -r '${refgene}' --minimum_length ${minimum_length} -o output
     ]]>
   </command>
 
   <inputs>
-    <param name="inputs" type="data" label="Input .bam File(s)" format="bam" help="(--input-file)" multiple="true"/>
-    <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
-    <param name="minimum_length" type="integer" value="100" label="Minimum mRNA length in bp (default: 100)" help="mRNA that are shorter than this value will be skipped (--minimum_length)." />
+    <param name="inputs" type="data" label="Input .bam file(s)" format="bam" help="(--input-file)" multiple="true"/>
+    <expand macro="refgene_param" />
+    <param name="minimum_length" type="integer" value="100" label="Minimum mRNA length (default: 100)" help="Minimum mRNA length in bp, mRNA that are shorter than this value will be skipped (--minimum_length)." />
+    <expand macro="rscript_output_param" />
   </inputs>
 
   <outputs>
-    <data name="outputcurvespdf" format="pdf" from_work_dir="output.geneBodyCoverage.curves.pdf" label="${tool.name} on ${on_string} (Curves PDF)" />
-    <data name="outputheatmappdf" format="pdf" from_work_dir="output.geneBodyCoverage.heatMap.pdf" label="${tool.name} on ${on_string} (HeatMap PDF)">
+    <data name="outputcurvespdf" format="pdf" from_work_dir="output.geneBodyCoverage.curves.pdf" label="${tool.name} on ${on_string} (Curves pdf)" />
+    <data name="outputheatmappdf" format="pdf" from_work_dir="output.geneBodyCoverage.heatMap.pdf" label="${tool.name} on ${on_string} (HeatMap pdf)">
       <filter>len(inputs) >= 3</filter>
     </data>
-    <data name="outputr" format="txt" from_work_dir="output.geneBodyCoverage.r" label="${tool.name} on ${on_string} (R Script)" />
-    <data name="outputtxt" format="txt" from_work_dir="output.geneBodyCoverage.txt" label="${tool.name} on ${on_string} (Text)" />
+    <expand macro="rscript_output_data" filename="output.geneBodyCoverage.r" />
+    <data name="outputtxt" format="txt" from_work_dir="output.geneBodyCoverage.txt" label="${tool.name} on ${on_string} (text)" />
   </outputs>
 
   <!-- PDF Files contain R version, must avoid checking for diff -->
   <tests>
     <test>
-      <param name="inputs" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-      <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
-      <!-- <output name="outputcurvespdf" file="output.geneBodyCoverage.curves.pdf"/> -->
-      <output name="outputr" file="output.geneBodyCoverage.r"/>
-      <output name="outputtxt" file="output.geneBodyCoverage.txt"/>
+      <param name="inputs" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam" />
+      <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed" />
+      <param name="rscript_output" value="true" />
+      <output name="outputcurvespdf" file="output.geneBodyCoverage.curves.pdf" compare="sim_size" />
+      <output name="outputr" file="output.geneBodyCoverage.r" />
+      <output name="outputtxt" file="output.geneBodyCoverage.txt" />
     </test>
     <test>
-      <param name="inputs" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam,pairend_strandspecific_51mer_hg19_chr1_1-100000.bam,pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-      <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
-      <!-- <output name="outputcurvespdf" file="output2.geneBodyCoverage.curves.pdf"/> -->
-      <!-- <output name="outputheatmappdf" file="output2.geneBodyCoverage.heatMap.pdf"/> -->
-      <output name="outputr" file="output2.geneBodycoverage.r"/>
-      <output name="outputtxt" file="output2.geneBodyCoverage.txt"/>
+      <param name="inputs" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam,pairend_strandspecific_51mer_hg19_chr1_1-100000.bam,pairend_strandspecific_51mer_hg19_chr1_1-100000.bam" />
+      <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed" />
+      <param name="rscript_output" value="true" />
+      <output name="outputcurvespdf" file="output2.geneBodyCoverage.curves.pdf" compare="sim_size" />
+      <output name="outputheatmappdf" file="output2.geneBodyCoverage.heatMap.pdf" compare="sim_size" />
+      <output name="outputr" file="output2.geneBodyCoverage.r" />
+      <output name="outputtxt" file="output2.geneBodyCoverage.txt" />
     </test>
 
   </tests>
 
   <help><![CDATA[
-    ## geneBody_coverage.py
+## geneBody_coverage.py
 
-    Read coverage over gene body. This module is used to check if read coverage is uniform and if there is any 5\'/3\' bias. This module scales all transcripts to 100 nt and calculates the number of reads covering each nucleotide position. Finally, it generates plots illustrating the coverage profile along the gene body.
+Read coverage over gene body. This module is used to check if read coverage is uniform and if there is any 5\'/3\' bias. This module scales all transcripts to 100 nt and calculates the number of reads covering each nucleotide position. Finally, it generates plots illustrating the coverage profile along the gene body.
 
-    If 3 or more BAM files were provided. This program generates a lineGraph and a heatmap. If fewer than 3 BAM files were provided, only lineGraph is generated. See below for examples.
+If 3 or more BAM files were provided. This program generates a lineGraph and a heatmap. If fewer than 3 BAM files were provided, only lineGraph is generated. See below for examples.
 
-    When heatmap is generated, samples are ranked by the "skewness" of the coverage: Sample with best (worst) coverage will be displayed at the top (bottom) of the heatmap.
-    Coverage skewness was measured by `Pearson’s skewness coefficients <http://en.wikipedia.org/wiki/Skewness#Pearson.27s_skewness_coefficients>`_
+When heatmap is generated, samples are ranked by the "skewness" of the coverage: Sample with best (worst) coverage will be displayed at the top (bottom) of the heatmap.
+Coverage skewness was measured by `Pearson’s skewness coefficients <http://en.wikipedia.org/wiki/Skewness#Pearson.27s_skewness_coefficients>`_
 
-    .. image:: http://rseqc.sourceforge.net/_images/geneBody_workflow.png
-    :width: 800 px
-    :scale: 80 %
+.. image:: $PATH_TO_IMAGES/geneBody_workflow.png
+:width: 800 px
+:scale: 80 %
 
 
-    ## Inputs
+## Inputs
 
-    Input BAM/SAM file
+Input BAM/SAM file
     Alignment file in BAM/SAM format.
 
-    Reference gene model
+Reference gene model
     Gene Model in BED format.
 
-    Minimum mRNA length
+Minimum mRNA length
     Minimum mRNA length (bp). mRNA that are shorter than this value will be skipped (default is 100).
 
     ## Outputs
 
-    Text
+Text
     Table that includes the data used to generate the plots
 
-    R Script
+R Script
     R script file that reads the data and generates the plot
 
-    PDF
+PDF
     The final plot, in PDF format
 
-    Example plots:
-    .. image:: http://rseqc.sourceforge.net/_images/Aug_26.geneBodyCoverage.curves.png
-    :height: 600 px
-    :width: 600 px
-    :scale: 80 %
+Example plots:
+.. image:: $PATH_TO_IMAGES/Aug_26.geneBodyCoverage.curves.png
+:height: 600 px
+:width: 600 px
+:scale: 80 %
 
-    .. image:: http://rseqc.sourceforge.net/_images/Aug_26.geneBodyCoverage.heatMap.png
-    :height: 600 px
-    :width: 600 px
-    :scale: 80 %
-
-    ## About RSeQC
+.. image:: $PATH_TO_IMAGES/Aug_26.geneBodyCoverage.heatMap.png
+:height: 600 px
+:width: 600 px
+:scale: 80 %
 
-    The RSeQC_ package provides a number of useful modules that can comprehensively evaluate high throughput sequence data especially RNA-seq data. "Basic modules" quickly inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, while "RNA-seq specific modules" investigate sequencing saturation status of both splicing junction detection and expression estimation, mapped reads clipping profile, mapped reads distribution, coverage uniformity over gene body, reproducibility, strand specificity and splice junction annotation.
-
-    The RSeQC package is licensed under the GNU GPL v3 license.
+@ABOUT@
 
-    .. image:: http://rseqc.sourceforge.net/_static/logo.png
-
-    .. _RSeQC: http://rseqc.sourceforge.net/
     ]]>
   </help>