view crossmap_bed.xml @ 1:1e881a00d8ff draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/crossmap commit d578fad97ce545d68dde40155d36426a121e4447-dirty
author iuc
date Tue, 26 Sep 2017 06:05:09 -0400
parents bc72094f7ce9
children 79f9e32b380b
line wrap: on
line source

<tool id="crossmap_bed" name="CrossMap BED" version="@WRAPPER_VERSION@-0">
    <description>Convert genome coordinates or annotation files between genome assemblies</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>

    <command><![CDATA[
        #set $input_file = str($seq_source.input)

        CrossMap.py bed
            '${chain_source.input_chain}'

            '${input_file}'

            #if str($include_fails) == "True"
            >
            #end if

            '${output}'
    ]]></command>


    <inputs>
       <conditional name="seq_source">
            <expand macro="source" />

            <when value="cached">
                <param format="bed" name="input" type="data" label="BED file"
                       help="BED format file must have at least 3 columns (chrom, start, end) and no more than 12 columns.">
                    <validator type="unspecified_build"/>
                    <!-- Gives error in tests
                    <validator type="dataset_metadata_in_file" filename="liftOver.loc" metadata_name="dbkey" metadata_column="0" message="LiftOver mapping (chain file) is not available for the specified build."/>
                    -->
                </param>
            </when>
            <when value="history">
                <param type="data" format="bed" name="input" label="BED file"
                       help="BED format file must have at least 3 columns (chrom, start, end) and no more than 12 columns."/>
            </when>
        </conditional>
        <expand macro="chain" />

        <param name="include_fails" type="boolean" truevalue="True" checked="false" falsevalue="False" label="Include failed liftovers"
               help="If a coordinate can not be lift over, do you want to include it in the output (it is still being marked 'fail')"/>
    </inputs>

    <outputs>
        <data format="bed" name="output" label="${tool.name} on ${on_string}" />
        <data format="text" name="output2" label="${tool.name} (bedgraph) on ${on_string}" />
    </outputs>

    <tests>
    <!-- BED -->
        <test>
            <param name="index_source" value="history"/>
            <param name="input" value="test_bed_01_input_a.bed" ftype="bed"/>
            <param name="input_chain" value="aToB.over.chain" ftype="csv"/>
            <param name="include_fails" value="False"/>

            <output name="output" file="test_bed_01_output_a__only-matches.bed"/>
        </test>
        <test>
            <param name="index_source" value="history"/>
            <param name="input" value="test_bed_01_input_a.bed" ftype="bed"/>
            <param name="input_chain" value="aToB.over.chain" ftype="txt"/>
            <param name="include_fails" value="True"/>

            <output name="output" file="test_bed_01_output_a__all.bed"/>
        </test>
        <test>
            <param name="index_source" value="history"/>
            <param name="input" value="test_bed_02_input_a.bed" ftype="bed"/>
            <param name="input_chain" value="aToB.over.chain" ftype="txt"/>
            <param name="include_fails" value="False"/>

            <output name="output" file="test_bed_02_output_a__only-matches.bed"/>
        </test>
        <test>
            <param name="index_source" value="history"/>
            <param name="input" value="test_bed_02_input_a.bed" ftype="bed"/>
            <param name="input_chain" value="aToB.over.chain" ftype="txt"/>
            <param name="include_fails" value="True"/>

            <output name="output" file="test_bed_02_output_a__all.bed"/>
        </test>
    </tests>
    <help><![CDATA[
@HELP_GENERAL@

BED
---

BED format file must have at least 3 columns (chrom, start, end) and no more than 12 columns.
BED format: http://genome.ucsc.edu/FAQ/FAQformat.html#format1

    A BED (Browser Extensible Data) file is a tab-delimited text file
    describing genome regions or gene annotations. It is the standard file
    format used by UCSC. It consists of one line per feature, each containing
    3-12 columns. CrossMap converts BED files with less than 12 columns to a
    different assembly by updating the chromosome and genome coordinates only;
    all other columns remain unchanged. Regions from old assembly mapping to
    multiple locations to the new assembly will be split. For 12-columns BED
    files, all columns will be updated accordingly except the 4th column (name
    of bed line), 5th column (score value) and 9th column (RGB value describing
    the display color). 12-column BED files usually define multiple blocks (eg.
    exon); if any of the exons fails to map to a new assembly, the whole BED
    line is skipped.

    NOTE:

    1. For BED-like formats mentioned above, CrossMap only updates “chrom (1st
       column)”, “start (2nd column) ”, “end (3rd column) ” and “strand” (if
       any). All other columns will keep AS-IS.
    2. Lines starting with ‘#’, ‘browser’, ‘track’ will be skipped.
    3. Lines will less than 3 columns will be skipped.
    4. 2nd-column and 3-column must be integer, otherwise skipped.
    5. “+” strand is assumed if no strand information was found.
    6. For standard BED format (12 columns). If any of the defined exon blocks
       cannot be uniquely mapped to target assembly, the whole entry will be
       skipped.
    7. If input region cannot be consecutively mapped target assembly, it will be split.
    8. *.unmap file contains regions that cannot be unambiguously converted.

Please see `the manual <http://crossmap.sourceforge.net/#convert-bed-format-files>`__ for more details.
]]></help>

    <citations>
        <citation type="doi">10.1093/bioinformatics/btt730</citation>
    </citations>
</tool>