view cactus_export.xml @ 0:c18157c68134 draft

"planemo upload for repository https://github.com/usegalaxy-au/tools-au commit 8f8363625623f2ff3f04d12d227673ac134eba24"
author galaxy-australia
date Mon, 04 Apr 2022 06:26:16 +0000
parents
children 5bf688a3ee2c
line wrap: on
line source

<tool id="cactus_export" name="Cactus: export" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@" license="MIT">
    <description>whole-genome multiple sequence alignment to other formats.</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="xrefs"/>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        ln -s '$hal_file' alignment.hal 

        ## make a MAF

        #if $enable_maf.maf_selector:
            &&
            hal2maf alignment.hal
            #if str($enable_maf.ref_level):
                --refGenome $enable_maf.ref_level
            #end if
            alignment.maf
        #end if

        ## make a VG

        #if $vg_selector:
            &&
            hal2vg alignment.hal
            --hdf5InMemory
            --chop 32
            --progress 
            > alignment.pg
        #end if

    ]]></command>
    <inputs>
        <param name="hal_file" type="data" format="h5" label="HAL file" help="Multiple-genome alignment generated by Cactus" />
        <conditional name="enable_maf"> 
            <param name="maf_selector" type="boolean" checked="false" label="Generate a MAF file" />
            <when value="true">
                <param name="ref_level" type="text" optional="True" value="" label="Optional: reference genome for MAF" help="Specify one of the Input Genomes as the reference level for the Multiple Alignment Format (MAF) file. This must match the label used in 'Genome Label'. If nothing is specified, the first Input Genome will be the reference genome in the MAF file. This option doesn't affect the HAL output." />
            </when>
            <when value="false">
            </when>
        </conditional>
        <param name="vg_selector" type="boolean" checked="false" label="Generate a VG file" />
    </inputs>
    <outputs>
        <data name="out_maf" format="maf" from_work_dir="alignment.maf" label="${tool.name} on ${on_string} (MAF file)" >
            <filter>enable_maf['maf_selector']</filter>
        </data>
        <data name="out_vg" format="vg" from_work_dir="alignment.pg" label="${tool.name} on ${on_string} (VG file)" >
            <filter>vg_selector</filter>
        </data>
    </outputs>
    <tests>
        <!-- within-species mode -->
        <test expect_num_outputs="1">
            <conditional name="enable_maf"> 
                <param name="maf_selector" value="true" />
            </conditional>
            <param name="hal_file" ftype="h5" value="evolverMammals.hal" />
            <output name="out_maf" file="hal2maf.maf" />
        </test>
        <!-- set reference level -->
        <test expect_num_outputs="1">
            <conditional name="enable_maf"> 
                <param name="maf_selector" value="true" />
                <param name="ref_level" value="simMouse_chr6" />
            </conditional>
            <param name="hal_file" ftype="h5" value="within.hal" />
            <output name="out_maf" file="set_reference.maf" />
        </test>
        <!-- between-species, select reference level  -->
        <test expect_num_outputs="1">
            <conditional name="enable_maf"> 
                <param name="maf_selector" value="true" />
                <param name="ref_level" value="simMouse_chr6" />
            </conditional>
            <param name="hal_file" ftype="h5" value="evolverMammals_noroot.hal" />
            <output name="out_maf" file="evolverMammals_noroot.maf" />
        </test>
        <!-- vg format -->
        <test expect_num_outputs="1">
            <param name="vg_selector" value="true" />
            <param name="hal_file" ftype="h5" value="within.hal" />
            <output name="out_vg">
                <assert_contents>
                        <has_size value="3586577" delta="200000" />
                </assert_contents>
            </output>
        </test>
        <!-- vg and maf with reference level -->
        <test expect_num_outputs="2">
            <conditional name="enable_maf"> 
                <param name="maf_selector" value="true" />
                <param name="ref_level" value="simMouse_chr6" />
            </conditional>
            <param name="vg_selector" value="true" />
            <param name="hal_file" ftype="h5" value="evolverMammals_noroot.hal" />
            <output name="out_maf" file="evolverMammals_both.maf" />
            <output name="out_vg" >
                <assert_contents>
                        <has_size value="53055101" delta="200000" />
                </assert_contents>
            </output>
        </test>
        <!-- gfa format (gfa2): not implemented -->
    </tests>
    <help><![CDATA[
**What it does**

Converts the HAL output from `Cactus whole-genome multiple sequence
aligner <root?tool_id=cactus_cactus>`__ into other formats.

**Input**

A `HAL
file <https://github.com/ComparativeGenomicsToolkit/cactus#using-the-output>`__
from `Cactus <root?tool_id=cactus_cactus>`__.

**Output**

Currently, you can export a pangenome in VG format, for use with
`vg <https://github.com/vgteam/vg>`__, and/or Multiple Alignment Format
(MAF). Note that MAF is **reference-based**, so it will contain
alignments to a single reference from your list of inputs (i.e. not a
graph). By default, the first input genome will be used as the
reference. You can override this with the ‘reference genome’ option.
]]></help>
    <expand macro="citations"/>
</tool>