view velvet.xml @ 0:d81360ea69d8 draft

Initial upload
author simon-gladman
date Tue, 28 Jun 2016 17:30:32 -0400
parents
children
line wrap: on
line source

<tool id="velvet" name="velvet" version="0.1.0">
    <requirements>
      <requirement type="package" version="1.2.10">velvet</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" />
    </stdio>

    <command><![CDATA[
        velveth
          out
          $kmer
          #for $i in $files:
            -${i.filetype}

            #if str($i.paired_type.paired_type_selector) == "paired":

              #if $i.__index__ > 1:
                -shortPaired$i.__index__
              #else
              -shortPaired
              #end if

              -separate $i.paired_type.input1 $i.paired_type.input2
            #end if

            #if str($i.paired_type.paired_type_selector) == "single"

              #if $i.__index__ > 1
                -short$i.__index__
              #else
                -short
              #end if

              $i.paired_type.input1
            #end if

            #if str($i.paired_type.paired_type_selector) == "paired_collection"
              #if $i.__index__ > 1
                -shortPaired$i.__index__
              #else
                -shortPaired
              #end if
              -separate $i.paired_type.input1.forward $i.paired_type.input1.reverse
            #end if
            #if str($i.paired_type.paired_type_selector) == "paired_iv"
              #if $i.__index__ > 1
                -shortPaired$i.__index__
              #else
                -shortPaired
              #end if
              $i.paired_type.input1
            #end if
          #end for
          
          && 
          
          velvetg out > $log
    ]]></command>
    <inputs>
      <param name="kmer" type="integer" value="29" label="K-mer" help="The kmer value to use for velvet - must be an odd integer between 19 and 191" />
      <repeat name="files" title="Input files" min="1">
        <param name="filetype" label="Input file type" type="select" help="Input file type">
          <option value="fastq">Fastq</option>
          <option value="fasta">Fasta</option>
          <option value="bam">Bam</option>
        </param>
        <conditional name="paired_type">
          <param name="paired_type_selector" type="select" label="Single or paired end reads" help="Select between paired and single end data">
            <option value="paired">Paired</option>
            <option value="single">Single</option>
            <option value="paired_collection">Paired Collection</option>
            <option value="paired_iv">Paired Interleaved</option>
          </param>
          <when value="paired">
            <param name="input1" type="data" format="fastqsanger,fasta,bam" label="Select first set of reads" help="Specify dataset with forward reads"/>
            <param name="input2" type="data" format="fastqsanger,fasta,bam" label="Select second set of reads" help="Specify dataset with reverse reads"/>
          </when>
          <when value="single">
            <param name="input1" type="data" format="fastqsanger,fasta,bam" label="Select the reads" help="Specify dataset with the reads"/>
          </when>
          <when value="paired_collection">
            <param name="input1" format="fastqsanger,fasta" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/>
          </when>
          <when value="paired_iv">
            <param name="input1" type="data" format="fastqsanger,fasta,bam" label="Select set of interleaved reads" help="Specify dataset with interleaved paired reads"/>
          </when>
        </conditional>
      </repeat>
      
    </inputs>
    <outputs>
      <data format="fasta" name="contigs" label="${tool.name} on ${on_string}: Contigs" from_work_dir="out/contigs.fa"/>
      <data format="tabular" name="stats" label="${tool.name} on ${on_string}: Contig Stats" from_work_dir="out/stats.txt"/>
      <data format="tabular" name="graph" label="${tool.name} on ${on_string}: Last Graph" from_work_dir="out/LastGraph"/>
      <data format="tabular" name="log" label="${tool.name} on ${on_string}: log" />
    </outputs>
    <tests>
      <test>
        <param name="kmer" value="29" />
        <param name="files_0|filetype" value="fasta" />
        <param name="files_0|paired_type|paired_type_selector" value="single" />
        <param name="files_0|paired_type|input1" value="test_reads.fa" ftype="fasta" />
        <output name="contigs" ftype="fasta" file="contigs.fa" />
      </test>
    </tests>
    <help><![CDATA[
        The Velvet wrapper, wraps both velveth and velvetg for single kmer value with no parameters supplied to velvetg. It is mainly for teaching how kmer size affects the assembly. 
        
        It returns the contigs.fa file, the contig_stats.txt file, the LastGraph file and captures the screen output to the log.
        
        This tool is mainly wrapped for assembly teaching purposes. It should not be used for actual assemblies. Please use the Velvet Optimiser for this purpose.
        
        The kmer value supplied needs to be an odd integer.
    ]]></help>
    <citations>
        <citation type="doi">10.1101/gr.074492.107</citation>
        <citation type="doi">10.1371/journal.pone.0008407</citation>
    </citations>
</tool>