view seacr.xml @ 1:66b7657f0bd6 draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/seacr commit f7c7e646aa289679a205cc8ce74a77608ce8f422"
author iuc
date Thu, 23 Apr 2020 04:30:14 -0400
parents c8ff96b9fb97
children
line wrap: on
line source

<?xml version="1.0"?>
<tool id="seacr" name="SEACR" version="@TOOL_VERSION@+@WRAPPER_VERSION@">
    <description>for sparse enrichment analysis</description>
    <macros>
        <token name="@TOOL_VERSION@">1.3</token>
        <token name="@WRAPPER_VERSION@">galaxy1</token>
    </macros>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">seacr</requirement>
        <requirement type="package" version="2.29.2">bedtools</requirement>
    </requirements>
    <stdio></stdio>
    <command detect_errors="exit_code"><![CDATA[
        SEACR_@TOOL_VERSION@.sh
            '$bedgraph'
            #if $control_cond.control_sel == 'f'
                '$control_cond.f'
            #else if $control_cond.control_sel == 't'
                '$control_cond.t'
            #end if
            '$normalize'
            '$mode'
            'results'
        ]]></command>
    <inputs>
        <param argument="bedgraph" type="data" format="bedgraph" label="Select target bedgraph file" help="Target data bedgraph file in UCSC bedgraph format that omits regions containing 0 signal."/>
        <conditional name="control_cond">
            <param name="control_sel" type="select" label="Select control type">
                <option value="f">Control bedgraph</option>
                <option value="t">Threshold</option>
            </param>
            <when value="f">
                <param argument="f" type="data" format="bedgraph" label="Select control bedgraph file" help="Control (IgG) data bedgraph file to generate an empirical threshold for peak calling."/>
            </when>
            <when value="t">
                <param argument="t" type="float" value="" min="0.0" max="1.0" label="Set threshold" help="A numeric threshold n between 0 and 1 returns the top n fraction of peaks based on total signal within peaks."/>
            </when>
        </conditional>
        <param name="normalize" type="boolean" truevalue="norm" falsevalue="non" checked="true" label="Normalize control to target data" help="'norm' denotes normalization of control to target data, 'non' skips this behavior. 'norm' is recommended unless experimental and control data are already rigorously normalized to each other (e.g. via spike-in)."/>
        <param name="mode" type="select" label="Select mode" help="'relaxed' uses a total signal threshold between the knee and peak of the total signal curve, and corresponds to the 'relaxed' mode described in the text, whereas 'stringent' uses the peak of the curve, and corresponds to 'stringent' mode.">
            <option value="relaxed">relaxed</option>
            <option value="stringent">stringent</option>
        </param>
    </inputs>
    <outputs>
        <data name="out_s" format="tabular" from_work_dir="results.stringent.bed" label="${tool.name} on ${on_string}: stringent">
            <filter>mode == 'stringent'</filter>
        </data>
        <data name="out_r" format="tabular" from_work_dir="results.relaxed.bed" label="${tool.name} on ${on_string}: relaxed">
            <filter>mode == 'relaxed'</filter>
        </data>
    </outputs>
    <tests>
        <!-- #1 -->
        <test expect_num_outputs="1">
            <param name="bedgraph" value="test.bedgraph"/>
            <conditional name="control_cond">
                <param name="control_sel" value="t"/>
                <param name="t" value="0.2"/>
            </conditional>
            <param name="normalize" value="norm"/>
            <param name="mode" value="stringent"/>
            <output name="out_s">
                <assert_contents>
                    <has_n_lines n="46"/>
                    <has_line line="chr1&#009;10013&#009;10468&#009;549.991&#009;1.7156&#009;chr1:10346-10357"/>
                    <has_line line="chr1&#009;365935&#009;366920&#009;84.9934&#009;0.142966&#009;chr1:366191-366801"/>
                </assert_contents>
            </output>
        </test>
        <!-- #2 -->
        <test expect_num_outputs="1">
            <param name="bedgraph" value="test.bedgraph"/>
            <conditional name="control_cond">
                <param name="control_sel" value="t"/>
                <param name="t" value="0.1"/>
            </conditional>
            <param name="normalize" value="non"/>
            <param name="mode" value="relaxed"/>
            <output name="out_r">
                <assert_contents>
                    <has_n_lines n="200"/>
                    <has_line line="chr1&#009;10013&#009;10468&#009;549.991&#009;1.7156&#009;chr1:10346-10357"/>
                    <has_line line="chr1&#009;367832&#009;368025&#009;13.7963&#009;0.0714832&#009;chr1:367832-368025"/>
                </assert_contents>
            </output>
        </test>
        <!-- #3 -->
        <test expect_num_outputs="1">
            <param name="bedgraph" value="test.bedgraph"/>
            <conditional name="control_cond">
                <param name="control_sel" value="f"/>
                <param name="f" value="control.bedgraph"/>
            </conditional>
            <param name="normalize" value="norm"/>
            <param name="mode" value="relaxed"/>
            <output name="out_r">
                <assert_contents>
                    <has_n_lines n="7"/>
                    <has_line line="chr1&#009;10596&#009;11929&#009;430.615&#009;0.714832&#009;chr1:11036-11191"/>
                    <has_line line="chr1&#009;251258&#009;252108&#009;384.65&#009;1.00076&#009;chr1:251347-251526"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
.. class:: infomark

**What it does**

SEACR (Sparse Enrichment Analysis for CUT&RUN) is intended to call peaks and enriched regions from sparse CUT&RUN or chromatin profiling data in which background is dominated by "zeroes" (i.e. regions with no read coverage).

CUT&RUN is an efficient epigenome profiling method that identifies sites of DNA binding protein enrichment genome-wide with high signal to noise and low sequencing requirements. Currently, the analysis of CUT&RUN data is complicated by its exceptionally low background, which renders programs designed for analysis of ChIP-seq data vulnerable to oversensitivity in identifying sites of protein binding.

SEACR is a highly selective peak caller that definitively validates the accuracy of CUT&RUN for datasets with known true negatives. SEACR uses the global distribution of background signal to calibrate a simple threshold for peak calling. SEACR discriminates between true and false-positive peaks with near-perfect specificity from gold standard CUT&RUN datasets and efficiently identifies enriched regions for several different protein targets.

**Input**

SEACR requires files in UCSC bedgraph format from paired-end sequencing as input, which can be generated from read pair BED files.

**Output**

Results are stored in BED files with the folowing format.

::

    <chr>   <start> <end>   <total signal>  <max signal>    <max signal region>

with

- <chr> Chromosome
- <start> Start coordinate
- <end> End coordinate
- <total signal> Total signal contained within denoted coordinates
- <max signal> Maximum bedgraph signal attained at any base pair within denoted coordinates
- <max signal region> Region representing the farthest upstream and farthest downstream bases within the denoted coordinates that are represented by the maximum bedgraph signal

.. class:: infomark

**References**

More information are available on `github <https://github.com/FredHutch/SEACR>`_. A web interface can be found `here <https://seacr.fredhutch.org>`_.
    ]]></help>
    <citations>
        <citation type="doi">10.1186/s13072-019-0287-4</citation>
    </citations>
</tool>