view bam2wig.xml @ 11:d7f6b3653d84 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rseqc commit e0d4688a59e6eeba33adcfe803ac43d0bc2863e7"
author iuc
date Wed, 01 Sep 2021 08:21:45 +0000
parents 09a89ed6f8fd
children 57fad5deeb8e
line wrap: on
line source

<tool id="rseqc_bam2wig" name="BAM to Wiggle" version="@WRAPPER_VERSION@">
    <description>
        converts all types of RNA-seq data from .bam to .wig
    </description>
    <expand macro="bio_tools"/>
    <macros>
        <import>rseqc_macros.xml</import>
    </macros>

    <expand macro="requirements" />

    <expand macro="stdio" />

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

    <command><![CDATA[
        ln -sf '${input}' 'input.bam' &&
        ln -sf '${input.metadata.bam_index}' 'input.bam.bai' &&
        bam2wig.py -i 'input.bam' -s '${chromsize}' -o outfile

        #if str($strand_type.strand_specific) == "pair"
            -d
            #if str($strand_type.pair_type) == "sd"
                '1++,1--,2+-,2-+'
            #else
                '1+-,1-+,2++,2--'
            #end if
        #end if

        #if str($strand_type.strand_specific) == "single"
            -d
            #if str($strand_type.single_type) == "s"
                '++,--'
            #else
                '+-,-+'
            #end if
        #end if

        #if str($wigsum_type.wigsum_type_selector) == "normalize":
            -t ${wigsum_type.totalwig}
        #end if

        @MULTIHITS@
        ]]>
    </command>
    <inputs>
        <expand macro="bam_param" />
        <param name="chromsize" type="data" label="Chromosome size file (tab or space separated)" format="txt,tabular" help="(--chromSize)"/>
        <expand macro="multihits_param" />
        <conditional name="wigsum_type">
            <param name="wigsum_type_selector" type="select" label="Normalization">
                <option value="normalize">Normalize to specified sum</option>
                <option value="raw" selected="true">Do not normalize</option>
            </param>
            <when value="normalize">
                <param name="totalwig" value="" type="integer" label="specified wigsum" help="(--wigsum)"/>
            </when>
            <when value="raw"/>
        </conditional>
        <expand macro="strand_type_param" />
    </inputs>

    <outputs>
        <data format="wig" name="output" from_work_dir="outfile.wig">
            <filter>strand_type['strand_specific'] == 'none'</filter>
        </data>
        <data format="wig" name="outputfwd" from_work_dir="outfile.Forward.wig" label="${tool.name} on ${on_string} (Forward Reads)">
            <filter>strand_type['strand_specific'] != 'none'</filter>
        </data>
        <data format="wig" name="outputrv" from_work_dir="outfile.Reverse.wig" label="${tool.name} on ${on_string} (Reverse Reads)">
            <filter>strand_type['strand_specific'] != 'none'</filter>
        </data>
    </outputs>

    <tests>
        <test>
            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
            <param name="chromsize" value="hg19.chrom.sizes"/>
            <output name="output" file="testwig.wig"/>
        </test>
        <test>
            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
            <param name="chromsize" value="hg19.chrom.sizes"/>
            <param name="multihits_type_selector" value="skip_multihits"/>
            <param name="mapq" value="20"/>
            <output name="output" file="testwig.wig"/>
        </test>
        <test>
            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
            <param name="chromsize" value="hg19.chrom.sizes"/>
            <param name="strand_specific" value="pair"/>
            <param name="pair_type" value="sd"/>
            <output name="outputfwd" file="testwig.Forward.wig"/>
            <output name="outputrv" file="testwig.Reverse.wig"/>
        </test>
        <test>
            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
            <param name="chromsize" value="hg19.chrom.sizes"/>
            <param name="wigsum_type_selector" value="normalize"/>
            <param name="totalwig" value="100"/>
            <output name="output" file="testwig_wigsum100.wig"/>
        </test>
    </tests>

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

Visualization is the most straightforward and effective way to QC your RNA-seq
data. For example, change of expression or new splicing can be easily checked
by visually comparing two RNA-seq tracks using genome browser such as UCSC_,
IGB_ and IGV_.  `bam2wig.py` converts all types of RNA-seq data from BAM_
format into wiggle_ format in one-stop.  wiggle_ files can then be easily
converted into bigwig_.  Bigwig is indexed, binary format of wiggle file, and
it's particular useful to display large, continuous dataset on genome
browser.

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

Input BAM file
    Alignment file in BAM format (SAM is not supported). BAM file will be sorted and indexed using samTools.

Chromosome size file
    Tab or space separated text file with 2 columns: first column is chromosome name, second column is size of the chromosome. Chromosome names (such as "chr1") should be consistent between this file and BAM file.

Specified wigsum (default=none)
    Specified wigsum. Wigsum of 100000000 equals to coverage achieved by 1 million 100nt reads. Ignore this option to disable normalization.

Skip multiple Hit reads
    skips multiple hit reads or only use uniquely mapped reads

Strand-specific (default=none)
    How read(s) were stranded during sequencing. If you are not sure about the strand rule, run infer_experiment.py

Outputs
++++++++++++++

If RNA-seq is not strand specific, one wig file will be generated, if RNA-seq
is strand specific, two wig files corresponding to Forward and Reverse will be generated.

@ABOUT@

.. _UCSC: http://genome.ucsc.edu/index.html
.. _IGB: http://bioviz.org/igb/
.. _IGV: http://software.broadinstitute.org/software/igv/
.. _BAM: http://genome.ucsc.edu/goldenPath/help/bam.html
.. _wiggle: http://genome.ucsc.edu/goldenPath/help/wiggle.html
.. _bigwig: http://genome.ucsc.edu/FAQ/FAQformat.html#format6.1
]]>
    </help>

    <expand macro="citations" />

</tool>