view inner_distance.xml @ 34:8fbd165f8835

Patch from Bjorn Gruning
author lparsons
date Mon, 04 Nov 2013 16:19:36 -0500
parents 580ee0c4bc4e
children
line wrap: on
line source

<tool id="rseqc_inner_distance" name="Inner Distance" version="1.1">
    <description>calculate the inner distance (or insert size) between two paired RNA reads</description>
    <requirements>
        <requirement type="package" version="3.0.1">R</requirement>
        <requirement type="package" version="1.7.1">numpy</requirement>
        <requirement type="package" version="2.3.7">rseqc</requirement>
    </requirements>
    <command>
        inner_distance.py -i $input -o output -r $refgene

            #if $bounds.hasLowerBound
                -l $bounds.lowerBound
            #end if

            #if $bounds2.hasUpperBound
                -u $bounds2.upperBound
            #end if

            #if $steps.step
                -s $steps.stepSize
            #end if
    </command>
    <stdio>
        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
    </stdio>
    <inputs>
        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
        <param name="refgene" type="data" format="bed" label="reference gene model" />
        <conditional name="bounds">
            <param name="hasLowerBound" type="boolean" label="Specify lower bound" value="false"/>
            <when value="true">
                <param name="lowerBound" type="integer" value="-250" label="Estimated Lower Bound (bp, default=-250)" />
            </when>
        </conditional>
        <conditional name="bounds2">
            <param name="hasUpperBound" type="boolean" label="Specify upper bound" value="false" />
            <when value="true">
                <param name="upperBound" type="integer" value="250" label="Estimated Upper Bound (bp, default=250)" />
            </when>
        </conditional>
        <conditional name="steps">
            <param name="step" type="boolean" label="Specify step size" value="false" />
            <when value="true">
                <param name="stepSize" type="integer" value="5" label="Step size (bp, default=5)" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format="txt" name="outputtxt" from_work_dir="output.inner_distance.txt" label="${tool.name} on ${on_string} (Text)"/>
        <data format="txt" name="outputfreqtxt" from_work_dir="output.inner_distance_freq.txt" label="${tool.name} on ${on_string} (Freq Text)" />
        <data format="pdf" name="outputpdf" from_work_dir="output.inner_distance_plot.pdf" label="${tool.name} on ${on_string} (PDF)" />
        <data format="txt" name="outputr" from_work_dir="output.inner_distance_plot.r" label="${tool.name} on ${on_string} (R Script)" />
    </outputs>
    <help>
inner_distance.py
+++++++++++++++++

This module is used to calculate the inner distance (or insert size) between two paired RNA
reads. The distance is the mRNA length between two paired fragments. We first determine the
genomic (DNA) size between two paired reads: D_size = read2_start - read1_end, then

* if two paired reads map to the same exon: inner distance = D_size
* if two paired reads map to different exons:inner distance = D_size - intron_size
* if two paired reads map non-exonic region (such as intron and intergenic region): inner distance = D_size
* The inner_distance might be a negative value if two fragments were overlapped. 

NOTE: Not all read pairs were used to estimate the inner distance distribution. Those low
quality, PCR duplication, multiple mapped reads were skipped. 

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

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

Reference gene model
    Gene model in BED format.

Estimated Upper/Lower Bounds (defaults=250 and -250)
    Estimated upper/lower bounds of inner distance (bp).

Step size (default=5)
    Step size of histogram


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

1. output.inner_distance.txt:
    - first column is read ID
    -second column is inner distance. Could be negative value if PE reads were overlapped or mapping error (e.g. Read1_start &lt; Read2_start, while Read1_end >> Read2_end due to spliced mapping of read1)
    - third column indicates how paired reads were mapped: PE_within_same_exon, PE_within_diff_exon,PE_reads_overlap
2. output..inner_distance_freq.txt:
    - inner distance starts
    - inner distance ends
    - number of read pairs
    - note the first 2 columns are left side half open interval
3. output.inner_distance_plot.r: R script to generate histogram
4. output.inner_distance_plot.pdf: histogram plot

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


-----

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>
</tool>