view cnv.xml @ 2:8ad49c4272ea draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/delly commit 57b50253f326baf18bfbf417d8c788b4f5ba66e6
author iuc
date Mon, 27 Jun 2022 18:18:05 +0000
parents 56781a718729
children
line wrap: on
line source

<?xml version="1.0"?>
<tool id="delly_cnv" name="Delly cnv" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="18.01">
    <description>discover and genotype copy-number variants</description>
    <expand macro="bio_tools"/>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="version_command"/>
    <command detect_errors="exit_code"><![CDATA[
@SINGLE_BAM@
@FASTA@
ln -s '$generic.mappability' mappability.fa &&

## run
delly cnv
## generic options
--genome genome.fa
--quality '$generic.quality'
--mappability mappability.fa
--ploidy $generic.ploidy
--outfile 'result.bcf'
--covfile 'result.gz'
## cnv calling options
--sdrd $cnv.sdrd
--cn-offset $cnv.cnoffset
--cnv-size $cnv.cnvsize
#if $cnv.svfile
    --svfile $cnv.svfile
#end if
#if $cnv.vcffile
    --vcffile '$cnv.vcffile'
#end if
$cnv.segmentation
## read-depth window options
--window-size $read.windowsize
--window-offset $read.windowoffset
#if $read.bedintervals
    --bed-intervals '$read.bedintervals'
#end if
--fraction-window $read.fractionwindow
$read.adaptivewindowing
## gc fragment normalization options
--scan-window $gc.scanwindow
--fraction-unique $gc.fractionunique
#if $gc.scanregions
    --scan-regions '$gc.scanregions'
#end if
--mad-cutoff $gc.madcutoff
--percentile $gc.percentile
$gc.nowindowselection
## input
'input.bam'

## postprocessing
@LOG@
    ]]></command>
    <inputs>
        <expand macro="input" format="bam" label="Select input file"/>
        <section name="generic" title="Generic options" expanded="true">
            <expand macro="genome"/>
            <param argument="--quality" type="integer" value="10" label="Set minimum mapping quality"/>
            <param argument="--mappability" type="data" format="fasta" label="Select mappability map file"/>
            <param argument="--ploidy" type="integer" value="2" label="Set baseline ploidy"/>
        </section>
        <section name="cnv" title="CNV calling options" expanded="true">
            <param argument="--sdrd" type="integer" value="2" label="Set minimum SD read-depth shift"/>
            <expand macro="cnoffset" default="0.1"/>
            <param name="cnvsize" type="integer" value="1000" label="Set minimum CNV size" help="(--cnv-size)"/>
            <param argument="--svfile" type="data" format="bcf" optional="true" label="Select delly SV file for breakpoint refinement"/> <!-- filetype sv.bcf not supported by galaxy -->
            <expand macro="vcffile"/>
            <param argument="--segmentation" type="boolean" truevalue="--segmentation" falsevalue="" label="Use copy-number segmentation?"/>
        </section>
        <section name="read" title="Read-depth window options" expanded="true">
            <param name="windowsize" type="integer" value="10000" label="Set window size" help="(--window-size)"/>
            <param name="windowoffset" type="integer" value="10000" label="Set window offset" help="(--window-offset)"/>
            <param name="bedintervals" type="data" format="bed" optional="true" label="Select input BED file" help="(--bed-intervals)"/>
            <param name="fractionwindow" type="float" min="0.0" max="1.0" value="0.25" label="Set minimum callable window fraction" help="(--fraction-window)"/>
            <param name="adaptivewindowing" type="boolean" truevalue="-a" falsevalue="" label="Use mappable bases for window size?" help="(--adaptive-windowing)"/>
        </section>
        <section name="gc" title="GC fragment normalization options" expanded="true">
            <param name="scanwindow" type="integer" value="10000" label="Set scan window size" help="(--scan-window)"/>
            <param name="fractionunique" type="float" min="0.0" max="1.0" value="0.8" label="Set uniqueness filter for scan windows" help="(--fraction-unique)"/>
            <param name="scanregions" type="data" format="bed" optional="true" label="Select file with scanning regions" help="(--scan-regions)"/>
            <param name="madcutoff" type="integer" value="3" label="Set count cutoff" help="(median + 3 * mad) (--mad-cutoff)"/>
            <param argument="--percentile" type="float" min="0.0" max="1.0" value="0.0005" label="Set threshold for excluding extreme GC fraction"/>
            <param name="nowindowselection" type="boolean" truevalue="-n" falsevalue="" label="Skip scan window selection?" help="(--no-window-selection)"/>
        </section>
        <section name="oo" title="Output options" expanded="true">
            <param name="out" type="select" multiple="true" optional="false" label="Select output file(s)">
                <option value="cnv" selected="true">CNV</option>
                <option value="coverage">Coverage</option>
                <option value="log">Log</option>
            </param>
        </section>
    </inputs>
    <outputs>
        <data name="out_cnv" format="bcf" from_work_dir="result.bcf" label="${tool.name} on ${on_string}: CNV">
            <filter>'cnv' in oo['out']</filter>
        </data>
        <data name="out_coverage" format="tabular.gz" from_work_dir="result.gz" label="${tool.name} on ${on_string}: Coverage">
            <filter>'coverage' in oo['out']</filter>
        </data>
        <expand macro="log"/>
    </outputs>
    <tests>
        <!-- no test implemented for vcffile, svfile, bed-intervals, scanregions -->

        <!-- #1 default; test data to small, results are empty -->
        <test expect_num_outputs="3">
            <param name="input" value="normal.bam"/>
            <section name="generic">
                <param name="genome" value="genome.fasta"/>
                <param name="mappability" value="map.fasta"/>
            </section>
            <section name="oo">
                <param name="out" value="cnv,coverage,log"/>
            </section>
            <output name="out_cnv">
                <assert_contents>
                    <has_size value="0"/>
                </assert_contents>
            </output>
            <output name="out_coverage">
                <assert_contents>
                    <has_size value="0"/>
                </assert_contents>
            </output>
            <output name="out_log">
                <assert_contents>
                    <has_text_matching expression=".+Scanning Windows"/>
                    <has_line line="***************************************************"/>
                </assert_contents>
            </output>
        </test>
        <!-- #2 -->
        <test expect_num_outputs="3">
            <param name="input" value="normal.bam"/>
            <section name="generic">
                <param name="genome" value="genome.fasta"/>
                <param name="quality" value="11"/>
                <param name="mappability" value="map.fasta"/>
                <param name="ploidy" value="3"/>
            </section>
            <section name="cnv">
                <param name="sdrd" value="3"/>
                <param name="cnoffset" value="0.2"/>
                <param name="cnvsize" value="1001"/>
                <param name="segmentation" value="true"/>
            </section>
            <section name="read">
                <param name="windowsize" value="10001"/>
                <param name="windowoffset" value="9999"/>
                <param name="fractionwindow" value="0.24"/>
                <param name="adaptivewindowing" value="true"/>
            </section>
            <section name="gc">
                <param name="scanwindow" value="10001"/>
                <param name="fractionunique" value="0.79"/>
                <param name="madcutoff" value="2"/>
                <param name="percentile" value="0.0006"/>
                <param name="nowindowselection" value="true"/>
            </section>
            <section name="oo">
                <param name="out" value="cnv,coverage,log"/>
            </section>
            <output name="out_cnv">
                <assert_contents>
                    <has_size value="645" delta="10"/>
                </assert_contents>
            </output>
            <output name="out_coverage">
                <assert_contents>
                    <has_size value="61"/>
                </assert_contents>
            </output>
            <output name="out_log">
                <assert_contents>
                    <has_text_matching expression=".+Done.+"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
.. class:: infomark

**What it does**

@WID@

**Input**

Delly *cnv* requires are a sample (BAM), a genome (FASTA) and a mappability map (FASTA), which is available `here <https://gear.embl.de/data/delly/>`_. Intervals (BED), scanning regions (BED) and a delly SV file for breakpoint refinement (BCF) can be provided optionally.

**Output**

CNV (BCF) and coverage (compressed tabular) files are created.

.. class:: infomark

**References**

@REFERENCES@
    ]]></help>
    <expand macro="citations"/>
</tool>