view junction_saturation.xml @ 50:f242ee103277 draft

planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/rseqc commit 91ad241aa3f34b70649d13a5f18611da7577a5ee
author lparsons
date Tue, 03 May 2016 16:36:57 -0400
parents 6b33e31bda10
children 09846d5169fa
line wrap: on
line source

<tool id="rseqc_junction_saturation" name="Junction Saturation" version="2.4galaxy1">
    <description>detects splice junctions from each subset and compares them to reference gene model</description>

    <macros>
        <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="stdio" />

    <version_command><![CDATA[junction_saturation.py --version]]></version_command>

    <command><![CDATA[
        junction_saturation.py
            --input-file $input
            --refgene $refgene
            --out-prefix output
            --min-intron $min_intron
            --min-coverage $min_coverage
            --mapq $mapq
        #if $percentiles.specifyPercentiles
            --percentile-floor $percentiles.lowBound
            --percentile-ceiling $percentiles.upBound
            --percentile-step $percentiles.percentileStep
        #end if
        ]]>
    </command>

    <inputs>
        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
        <param name="min_intron" type="integer" value="50" label="Minimum intron length (bp, default=50)" help="(--min-intron)" />
        <param name="min_coverage" type="integer" label="Minimum number of supporting reads to call a junction (default=1)" value="1" help="(--min-coverage)" />
        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
        <conditional name="percentiles">
            <param name="specifyPercentiles" type="boolean" label="Specify sampling bounds and frequency" value="false"/>
            <when value="true">
                <param name="lowBound" type="integer" value="5" label="Lower Bound Sampling Frequency (bp, default=5)" help="(--percentile-floor)">
                    <validator type="in_range" min="0" max="100" />
                </param>
                <param name="upBound" type="integer" value="100" label="Upper Bound Sampling Frequency (bp, default=100)" help="(--percentile-ceiling)">
                    <validator type="in_range" min="0" max="100" />
                </param>
                <param name="percentileStep" type="integer" value="5" label="Sampling increment (default=5)" help="(--percentile-step)">
                    <validator type="in_range" min="0" max="100" />
                </param>
            </when>
            <when value="false"/>
        </conditional>
    </inputs>

    <outputs>
        <data format="txt" name="outputr" from_work_dir="output.junctionSaturation_plot.r" label="${tool.name} on ${on_string} (R Script)"/>
        <data format="pdf" name="outputpdf" from_work_dir="output.junctionSaturation_plot.pdf" label="${tool.name} on ${on_string} (PDF)"/>
    </outputs>

    <tests>
        <test>
            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
            <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
            <output name="outputr" file="output.junctionSaturation_plot.r"/>
        </test>
    </tests>

    <help><![CDATA[
junction_saturation.py
++++++++++++++++++++++

It's very important to check if current sequencing depth is deep enough to perform
alternative splicing analyses. For a well annotated organism, the number of expressed genes
in particular tissue is almost fixed so the number of splice junctions is also fixed. The fixed
splice junctions can be predetermined from reference gene model. All (annotated) splice
junctions should be rediscovered from a saturated RNA-seq data, otherwise, downstream
alternative splicing analysis is problematic because low abundance splice junctions are
missing. This module checks for saturation by resampling 5%, 10%, 15%, ..., 95% of total
alignments from BAM or SAM file, and then detects splice junctions from each subset and
compares them to reference gene model.

Inputs
++++++++++++++

Input BAM/SAM file
    Alignment file in BAM/SAM format.

Reference gene model
    Gene model in BED format.

Sampling Percentiles - Upper Bound, Lower Bound, Sampling Increment (defaults= 100, 5, and 5)
    Sampling starts from the Lower Bound and increments to the Upper Bound at the rate of the Sampling Increment.

Minimum intron length (default=50)
    Minimum intron length (bp).

Minimum coverage (default=1)
    Minimum number of supportting reads to call a junction.

Output
++++++++++++++

1. output.junctionSaturation_plot.r: R script to generate plot
2. output.junctionSaturation_plot.pdf

.. image:: http://rseqc.sourceforge.net/_images/junction_saturation.png
   :height: 600 px
   :width: 600 px
   :scale: 80 %

In this example, current sequencing depth is almost saturated for "known junction" (red line) detection because the number of "known junction" reaches a plateau. In other words, nearly all "known junctions" (expressed in this particular tissue) have already been detected, and continue sequencing will not detect additional "known junction" and will only increase junction coverage (i.e. junction covered by more reads). While current sequencing depth is not saturated for novel junctions (green).


-----

About RSeQC
+++++++++++

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.

.. image:: http://rseqc.sourceforge.net/_static/logo.png

.. _RSeQC: http://rseqc.sourceforge.net/
]]>
    </help>

    <expand macro="citations" />

</tool>