view megahit_wrapper.xml @ 3:98242353faa4 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/megahit commit aaac63680661511b90969309434043ce946d6501
author iuc
date Mon, 14 May 2018 06:11:34 -0400
parents edc663aadfa8
children de387b2b2803
line wrap: on
line source

<?xml version='1.0' encoding='utf-8'?>
<tool id="megahit" name="MEGAHIT" version="@VERSION@.3">
    <description>for metagenomics assembly</description>
    <macros>
        <token name="@VERSION@">1.1.2</token>
    </macros>
    <requirements>
        <requirement type="package" version="@VERSION@">megahit</requirement>
    </requirements>
    <version_command>megahit --version</version_command>
    <command detect_errors="exit_code"><![CDATA[
megahit
    #if $input_option.choice == 'paired'
        -1 '${input_option.fastq_input1}'
        -2 '${input_option.fastq_input2}'
    #else if $input_option.choice == 'paired_collection'

        #if $input_option.batchmode.processmode == 'merge':
            -1 ${ ','.join(['"%s"' % x.forward for x in $input_option.batchmode.pair_input_list]) }
            -2 ${ ','.join(['"%s"' % x.reverse for x in $input_option.batchmode.pair_input_list]) }
        #else:
            -1 '${input_option.batchmode.pair_input.forward}'
            -2 '${input_option.batchmode.pair_input.reverse}'
        #end if
    #else
        -r '${input_option.single_files}'
    #end if
    ##basic assembly
    --min-count '${basic_section.min_count}'
    --k-min '${basic_section.k_min}'
    --k-max '${basic_section.k_max}'
    --k-step '${basic_section.k_step}'
    --min-contig-len '${basic_section.min_contig_len}'
    ##advanced assembly
    ${advanced_section.nomercy}
    --bubble-level '${advanced_section.bubble_level}'
    --merge-level '${advanced_section.merge_level}'
    --prune-level '${advanced_section.prune_level}'
    --prune-depth '${advanced_section.prune_depth}'
    --low-local-ratio '${advanced_section.low_local_ratio}'
    ${advanced_section.nolocal}
    ${advanced_section.kmin1pass}
&& cat megahit_out/log
    ]]></command>
    <inputs>
        <conditional name="input_option">
            <param name="choice" type="select" label="Select your input option">
                <option value="single" selected="true">Single</option>
                <option value="paired">Paired-end</option>
                <option value="paired_collection">Paired-end collection</option>
            </param>
            <when value="single">
                <param name="single_files" argument="-r" type="data" format="fastq,fastqsanger,fasta,fastq.gz,fastqsanger.gz" multiple="true" label="Single-end file(s)" help="FASTQ/FASTA/FASTQ.GZ files accepted" />
            </when>
            <when value="paired">
                <param name="fastq_input1" argument="-1" type="data" format="fastq,fastqsanger,fasta,fastq.gz,fastqsanger.gz" multiple="true" label="Mate 1 input reads"/>
                <param name="fastq_input2" argument="-2" type="data" format="fastq,fastqsanger,fasta,fastq.gz,fastqsanger.gz" multiple="true" label="Mate 2 input reads"/>
            </when>
            <when value="paired_collection">
              <conditional name="batchmode">
                <param name="processmode" type="select" label="Run in batch mode?" help="Selecting individual mode will generate one assembly dataset for each fastq pair-end dataset. Selecting the merge option will produce one assembly dataset for all input fastq pair-end datasets" display="radio">
                  <option value="individual" selected="true">Run individually</option>
                  <option value="merge">Merge all fastq pair-end</option>
                </param>
                <when value="individual">
                  <param name="pair_input" type="data_collection" format="fastq,fastqsanger,fasta,fastq.gz,fastqsanger.gz" collection_type="paired" label="Select a paired collection"/>
                </when>
                <when value="merge">
                  <param name="pair_input_list" type="data_collection" format="fastq,fastqsanger,fasta,fastq.gz,fastqsanger.gz" collection_type="list:paired" label="Select a paired collection"/>
                </when>
              </conditional>
            </when>
        </conditional>
        <section name="basic_section" title="Basic assembly options" expanded="True">
            <param name="min_contig_len" argument="--min-contig-len" type="integer" value="200" label="minimum length of contigs to output" />
            <param name="min_count" argument="--min-count" type="integer" value="2" label="minimum multiplicity for filtering (k_min+1)-mers"/>
            <param name="k_min" argument="--k-min" type="integer" value="21" label="minimum kmer size" max="255" help="must be odd number"/>
            <param name="k_max" argument="--k-max" type="integer" value="141" label="maximum kmer size" max="255" help="must be odd number"/>
            <param name="k_step" argument="--k-step" type="integer" value="12" label="increment of kmer size of each iteration" max="28" help="must be even number"/>
        </section>
        <section name="advanced_section" title="Advanced assembly options" expanded="False">
            <param name="nomercy" type="boolean" checked="false" truevalue="--no-mercy" falsevalue=""  label="do not add mercy kmers" />
            <param name="bubble_level" argument="--bubble-level" type="integer" value="2" min="0" max="2" label="intensity of bubble merging (0-2), 0 to disable" />
            <param name="merge_level" argument="--merge-level" type="text" label="merge complex bubbles of length " value="20,0.95" />
            <param name="prune_level" argument="--prune-level" type="integer" value="2" min="0" max="3" label="strength of low depth pruning" />
            <param name="prune_depth" argument="--prune-depth" type="integer" value="2" min="0" label="remove unitigs with avg kmer depth less than this value" />
            <param name="low_local_ratio" argument="--low-local-ratio" type="float" value="0.2" label="ratio threshold to define low local coverage contigs" />
            <param name="nolocal" type="boolean" checked="false" truevalue="--no-local" falsevalue="" label="disable local assembly" />
            <param name="kmin1pass" type="boolean" checked="false" truevalue="--kmin-1pass" falsevalue="" label="use 1pass mode to build SdBG of k_min" />
        </section>
    </inputs>
    <outputs>
        <data format="fasta" name="output" from_work_dir="megahit_out/final.contigs.fa" label="Assembly with ${tool.name} on ${on_string}" />
    </outputs>
    <tests>
        <test>
            <conditional name="input_option">
                <param name="choice" value="single"/>
                <param name="single_files" value="refExample.fa" ftype="fasta"/>
            </conditional>
            <output name="output">
            <assert_contents>
              <has_line_matching expression=">k21_1 flag=3 multi=1.0486 len=576" />
            </assert_contents>
            </output>
        </test>
        <test>
            <conditional name="input_option">
                <param name="choice" value="paired"/>
                <param name="fastq_input1" value="paired-fq1.fa"/>
                <param name="fastq_input2" value="paired-fq2.fa"/>
            </conditional>
            <output name="output" file="paired_result.fa"/>
        </test>
        <test>
          <conditional name="input_option">
            <param name="choice" value="paired_collection"/>
            <conditional name="batchmode">
              <param name="processmode" value="merge"/>
              <param name="pair_input_list">
                <collection type="list:paired">
                <element name="Pair1">
                  <collection type="paired">
                    <element name="forward" value="paired-fq1.fa" ftype="fasta"/>
                    <element name="reverse" value="paired-fq2.fa" ftype="fasta"/>
                  </collection>
                </element>
                </collection>
              </param>
            </conditional>
          </conditional>
          <output name="output" file="paired_result.fa"/>
        </test>
    </tests>
    <help><![CDATA[

**What it does**

MEGAHIT is a single node assembler for large and complex metagenomics NGS reads, such as soil. It makes use of succinct de Bruijn graph (SdBG) to achieve low memory assembly. MEGAHIT can optionally utilize a CUDA-enabled GPU to accelerate its SdBG contstruction. The GPU-accelerated version of MEGAHIT has been tested on NVIDIA GTX680 (4G memory) and Tesla K40c (12G memory) with CUDA 5.5, 6.0 and 6.5.

--------

**Project links:**

https://github.com/voutcn/megahit


    ]]></help>
    <citations>
        <citation type="doi">10.1093/bioinformatics/btv033</citation>
    </citations>
</tool>