view slamdunk.xml @ 0:3fd7458bc861 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/slamdunk commit 1edb9bd1936e05d6a9ade3cde93b970fa89acb90
author iuc
date Thu, 11 Oct 2018 20:33:07 -0400
parents
children 57bf9a0d49a5
line wrap: on
line source

<tool id="slamdunk" name="Slamdunk" version="0.3.3">
    <description>- streamlining SLAM-seq analysis with ultra-high sensitivity</description>
    <requirements>
        <requirement type="package" version="0.3.3">slamdunk</requirement>
    </requirements>
    <version_command>slamdunk --version</version_command>
    <command detect_errors="exit_code"><![CDATA[
    #if $reference_source.reference_source_selector == 'history':
        ln -f -s '$reference_source.ref_file' reference.fa &&
    #else:
        ln -f -s '$reference_source.ref_file.fields.path' reference.fa &&
    #end if
        slamdunk all -r reference.fa -b '$Reference' -o ./out
           -n $multimapper.multimappers
           $multimapper.multimap
           #if $multimapper.filterbed.bedtofilter:
            -fb $multimapper.filterbed.bedtofilter
           #end if
           -5 $quantseq.trim5
           -a $quantseq.maxpolyA
           $advanced.endtoend
           -mq $advanced.minMQ
           -mi $advanced.minID
           -nm=$advanced.maxNM
           -mc $advanced.minCov
           -mv $advanced.minVar
           -mbq $advanced.minBaseQual
        -rl $readLength
        -c $covThresh
        '$Reads'
    ]]></command>
    <inputs>
        <conditional name="reference_source">
            <param name="reference_source_selector" type="select" label="Genome" help="Select a built-in FASTA file (if available) or one from the history">
                <option value="cached">Use a built-in FASTA</option>
                <option value="history">Use a FASTA from history</option>
            </param>
            <when value="cached">
                <param name="ref_file" type="select" label="Use built-in FASTA" help="Select genome from the list">
                    <options from_data_table="all_fasta">
                        <filter type="sort_by" column="2" />
                        <validator type="no_options" message="No reference genomes are available" />
                    </options>
                    <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
                </param>
            </when>
            <when value="history">
                <param name="ref_file" type="data" format="fasta" label="Use the following dataset as the FASTA" help="You can upload a FASTA sequence to the history and use it as reference" />
            </when>
        </conditional>
        <param name="Reference" type="data" format="bed" />
        <param name="Reads" type="data" format="fastqsanger,fastqsanger.gz" />
        <section name="multimapper" title="Multimapper recovery"
            expanded="false">
            <section name="filterbed"
                title="Use separate 3' UTR bed to filter multimappers." expanded="false">
                <param name="bedtofilter" type="data" format="bed" optional="true"
                    label="Bed to filter" />
            </section>
            <param name="multimappers" type="integer" min="1" value="1"
                label="Maximum number of alignments to report per read"
                help="The maximum number of alignments is used to track multimapping read alignments. The more are allowed, the more sensitive the multimapper filtering will be, but also the longer the runtime will be. 100 was used in previous publications." />
            <param name="multimap" type="boolean" truevalue="--multimap" falsevalue=""
                label="Use reference bed file to resolve multimappers."
                help="Enable multimapper recovery, requires -n to be set to a value > 1 to have impact." />
        </section>
        <section name="quantseq" title="Quantseq" expanded="false">
            <param name="trim5" type="integer" min="0" value="12"
                label="Number of bp to remove from the 5' end of all reads"
                help="For Lexogen's Quantseq kit and previous SLAM-seq papers a clipping of 12 bp from the 5' end is recommended." />
            <param name="maxpolyA" type="integer" min="0" value="4"
                label="Maximum number of As at the 3' end of a read"
                help="The maximum number of allowed As at the 3' end of a read. All A-stretches that exceed this threshold are clipped because they are likely part of the poly-A tail." />
        </section>
        <section name="advanced" title="Advanced settings." expanded="false">
            <param name="endtoend" type="boolean" truevalue="--endtoend" falsevalue=""
                label="Enable end-to-end alignments for mapping."
                help="Enable end-to-end alignments for mapping in slamdunk with --endtoend" />
            <param name="minMQ" type="integer" min="0" value="2"
                label="Minimum mapping quality"
                help="Minimum mapping quality to consider alignments (default: 2)." />
            <param name="minMQ" type="integer" label="Minimum mapping quality" min="0" value="2"
                help="Minimum mapping quality to consider alignments (default: 2)." />
            <param name="minID" type="float" min="0" value="0.95"
                label="Minimum alignment identity"
                help="Minimum alignment-identity to consider alignments (default: 0.95)." />
            <param name="maxNM" type="integer" value="-1"
                label="Maximum number of mismatches"
                help="Maximum number of mismatches to consider alignments. Negative numbers deactivate filter (default: -1)." />
            <param name="minCov" type="integer" min="0" value="10"
                label="Minimum coverage to call variant"
                help="Minimum coverage to call variant (default: 10)." />
            <param name="minVar" type="float" min="0" value="0.8"
                label="Minimum variant fraction to call variant"
                help="Minimum variant fraction to call variant (default: 0.8)." />
            <param name="minBaseQual" type="integer" min="0" value="27"
                label="Minimum base quality"
                help="Minimum base quality for T>C conversions (default: 27)." />
        </section>
        <param name="covThresh" type="integer" min="1" value="1"
            label="T>C conversion threshold"
            help="Number of T>C conversions required to count a read as a T>C read (default: 1)." />
        <param name="readLength" type="integer" min="50" value="50"
            label="Read length"
            help="Maximum read length (before trimming)." />
    </inputs>
    <outputs>
        <data name="outputBam" format="bam" from_work_dir="./out/filter/*.bam" />
        <data name="outputTsv" format="tabular" from_work_dir="./out/count/*_tcount.tsv" />
    </outputs>
    <tests>
        <test>
            <param name="reference_source_selector" value="history" />
            <param name="ref_file" value="ref.fa" />
            <param name="Reference" value="actb.bed" />
            <param name="Reads" value="reads.fq" />
            <param name="readLength" value="100" />
            <section name="quantseq">
                <param name="trim5" value="0" />
            </section>
            <section name="advanced">
                <param name="minBaseQual" value="27" />
            </section>
            <output name="outputTsv" file="reads_slamdunk_mapped_filtered_tcount.tsv"
                lines_diff="2" />
        </test>
        <test>
            <!-- test built-in fasta -->
            <param name="reference_source_selector" value="cached" />
            <param name="Reference" value="actb.bed" />
            <param name="Reads" ftype="fastqsanger" dbkey="hg38" value="reads.fq" />
            <param name="readLength" value="100" />
            <section name="quantseq">
                <param name="trim5" value="0" />
            </section>
            <section name="advanced">
                <param name="minBaseQual" value="27" />
            </section>
            <output name="outputTsv" file="reads_slamdunk_mapped_filtered_tcount.tsv"
                lines_diff="2" />
        </test>
    </tests>
    <help><![CDATA[
SLAM-seq
========

SLAM-seq is a novel sequencing protocol that directly uncovers 4-thiouridine incorporation events in RNA by high-throughput sequencing. When combined with metabolic labeling protocols, SLAM-seq allows to study the intracellular RNA dynamics, from transcription, RNA processing to RNA stability.

Original publication: `Herzog et al., Nature Methods, 2017; doi:10.1038/nmeth.4435 <https://www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.4435.html>`_

Slamdunk
========

To analyze a given SLAM-seq dataset with *slamdunk* without recovering multimappers, you only need to provide the following files and keep everything else to the default parameters.

===============  ==========================================================================================================================================================
Parameter        Description
===============  ==========================================================================================================================================================
**Genome**       The reference fasta file (Genome assembly).
**Reference**    BED-file containing coordinates for 3' UTRs.
**Reads**        Sample FASTQ(gz) files.
**Read length**  Maximum length of reads (usually 50, 100, 150).
===============  ==========================================================================================================================================================

This will run the entire *slamdunk* analysis with the most relevant output files being:

* Tab-separated *tcount* file containing the SLAM-seq statistics per UTR
* BAM-file with the final mapped reads for visualization and further processing

------------------------------------------------------

Multimapper recovery
--------------------

To utilize multimapper recovery, modify the following parameters. You must either choose a separate 3' UTR file or activate filtering
on the supplied reference file. Will only yield different results than a unique-mapping run by specifying a number > 1 as maximum number of multimapper aligments to consider.

===================================================  =========================================================
Parameter  Description
===================================================  =========================================================
**Maximum number of alignments to report per read**  The maximum number of multimapper alignments to consider.
**Use separate 3' UTR bed to filter multimappers.**  3' UTR bed file to filter.
**Use reference bed file to resolve multimappers.**  Use reference as 3' UTR bed file to filter.
===================================================  =========================================================

------------------------------------------------------

T>C conversions
---------------

Depending on the use case, more stringent or more lenient measures of T>C conversion and T>C reads are required such as 2 T>C by `Muhar et al., Science, 2018; http://doi.org/10.1126/science.aao2793 <http://science.sciencemag.org/content/early/2018/04/04/science.aao2793>`_

This can be controlled by the following parameter:

============================  ================================================================================
Parameter  Description
============================  ================================================================================
**T>C conversion threshold**  Minimum number of T>C conversions to consider a read as T>C read.
============================  ================================================================================


    ]]></help>
    <citations>
        <citation type="bibtex">
 @misc{Neumann2018,
  author = {Neumann, Tobias},
  year = {2018},
  title = Slamdunk},
  publisher = {GitHub},
  journal = {GitHub repository},
  url = {https://github.com/t-neumann/slamdunk},
}
        </citation>
    </citations>
</tool>