view art_illumina.xml @ 0:b98d6fffd00b draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/art commit 2b8fe4bffea74c80e20d2d4d0c426cc1631fc05f
author iuc
date Thu, 11 Jun 2015 11:51:06 -0400
parents
children a12ce5668966
line wrap: on
line source

<tool id="art_illumina" name="ART Illumina" version="2014.11.03.0">
  <description>simulates sequencing data</description>
  <macros>
      <import>macros.xml</import>
  </macros>
  <expand macro="stdio" />
  <command><![CDATA[
art_illumina

#if str($sam) == "-s":
    --samout
#end if

#if not str($aln) == "-a":
    --noALN
#end if

#if str($generate.choice) == "paired_end":
    --paired
    --mflen $generate.fragment_size
    --sdev $generate.fragment_sd
#else if str($generate.choice) == "mate_pair":
    --matepair
    --mflen $generate.fragment_size
    --sdev $generate.fragment_sd
#end if

--in $input_seq_file
--len $read_length
--fcov $fold_coverage

$amplicon

--insRate $insRate
--insRate2 $insRate2
--delRate $delRate
--delRate2 $delRate2

#if $rndSeed and $rndSeed > -1:
    --rndSeed $rndSeed
#end if

--out output;
]]></command>
  <inputs>
    <param label="DNA/RNA reference sequence" format="fasta" name="input_seq_file" type="data"/>
    <param label="the fold of read coverage over the reference sequences" name="fold_coverage" type="integer" value="20"/>
    <param label="length of reads to be simulated" name="read_length" type="integer" value="100"/>
    <param label="amplicon sequencing simulation" name="amplicon" type="boolean" truevalue="--amplicon" falsevalue="" />

    <conditional name="generate">
        <param name="choice" type="select" label="Type of data to generate">
            <option value="single_end">Single-End</option>
            <option value="paired_end">Paired-End</option>
            <option value="mate_pair">Mate-Pair</option>
        </param>
        <when value="single_end">
        </when>
        <when value="paired_end">
            <expand macro="frag_len_sd" />
        </when>
        <when value="mate_pair">
            <expand macro="frag_len_sd" />
        </when>
    </conditional>

    <expand macro="aln" />
    <expand macro="sam" />

    <param label="the first-read insertion rate" help="(--insRate)" name="insRate" type="float" value="0.00009" />
    <param label="the second-read insertion rate" help="(--insRate2)" name="insRate2" type="float" value="0.00015" />
    <param label="the first-read deletion rate" help="(--delRate)" name="delRate" type="float" value="0.00011" />
    <param label="the second-read deletion rate" help="(--delRate2)" name="delRate2" type="float" value="0.00023" />

    <expand macro="rndSeed" />
    <!-- todo: id, errfree, masN, qShift(2), sepProf -->
  </inputs>
  <outputs>
        <!-- Single End -->
        <data format="fastq" name="output_fq1_single" from_work_dir="output.fq" label="Simulated of Illumina sequencing of $input_seq_file.name">
            <filter>generate['choice'] == "single_end"</filter>
        </data>

        <!-- Paired End -->
        <data format="fastq" name="output_fq1_paired" from_work_dir="output1.fq" label="Simulated of Illumina sequencing of $input_seq_file.name (Forward)">
            <filter>generate['choice'] != "single_end"</filter>
        </data>
        <data format="fastq" name="output_fq2_paired" from_work_dir="output2.fq" label="Simulated of Illumina sequencing of $input_seq_file.name (Reverse)">
            <filter>generate['choice'] != "single_end"</filter>
        </data>
        <data format="sam" name="output_sam" from_work_dir="output.sam" label="Mapping of Simulated Illumina data to $input_seq_file.name">
            <filter>sam</filter>
        </data>

        <!-- Single End -->
        <data format="aln" name="output_aln1_single" from_work_dir="output.aln" label="Alignment of Simulated Illumina data to $input_seq_file.name">
            <filter>aln and generate['choice'] == "single_end"</filter>
        </data>

        <!-- paired end -->
        <data format="aln" name="output_aln1_paired" from_work_dir="output1.aln" label="Alignment of Simulated Illumina data to $input_seq_file.name">
            <filter>aln and generate['choice'] != "single_end"</filter>
        </data>
        <data format="aln" name="output_aln2_paired" from_work_dir="output2.aln" label="Alignment of Simulated Illumina data to $input_seq_file.name">
            <filter>aln and generate['choice'] != "single_end"</filter>
        </data>
  </outputs>
  <tests>
      <test>
          <param name="rndSeed" value="42" />
          <param name="input_seq_file" value="input.fa" />
          <param name="fold_coverage" value="20" />
          <param name="read_length" value="200" />
          <param name="choice" value="single_end" />
          <param name="aln" value="True" />
          <param name="sam" value="True" />

          <output name="output_fq1_single" file="art.illumina.01.fq" />
          <output name="output_aln1_single" file="art.illumina.01.aln" lines_diff="2"/>
          <output name="output_sam" file="art.illumina.01.sam" lines_diff="2"/>
      </test>
      <test>
          <param name="rndSeed" value="42" />
          <param name="input_seq_file" value="input.fa" />
          <param name="fold_coverage" value="20" />
          <param name="read_length" value="200" />
          <param name="choice" value="paired_end" />
          <param name="fragment_size" value="300" />
          <param name="fragment_sd" value="10" />
          <param name="aln" value="True" />
          <param name="sam" value="True" />

          <output name="output_fq1_paired" file="art.illumina.021.fq" />
          <output name="output_fq2_paired" file="art.illumina.022.fq" />
          <output name="output_aln1_paired" file="art.illumina.021.aln" lines_diff="2"/>
          <output name="output_aln2_paired" file="art.illumina.022.aln" lines_diff="2"/>
          <output name="output_sam" file="art.illumina.02.sam" lines_diff="2"/>
      </test>
  </tests>
  <help><![CDATA[
Art Illumina Simulator
======================

ART (art_Illumina Q version) is a simulation program to generate sequence read
data of Illumina sequencers. ART generates reads according to the empirical
read quality profile summarized from large real read data. ART has been using
for testing or benchmarking a variety of methods or tools for next-generation
sequencing data analysis, including read alignment, de novo assembly, detection
of SNP, CNV, or other structure variation.

art_Illumina can generate single-end, paired-end,  mate-pair reads, and
amplicon sequencing simulation of Illumina sequencing platform. Its outputs
include FASTQ read, ALN and/or SAM alignment files.

      ]]></help>
  <expand macro="citation" />
</tool>