view ecoliserotyper.xml @ 0:c8c0131be526 draft

planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
author cstrittmatter
date Mon, 20 Jan 2020 10:50:35 -0500
parents
children 30ab1e671e43
line wrap: on
line source

<tool id="ecoliserotyper" name="E coli Serotyper" version="1.2">
    <description>performs serotyping of Escherichia coli
    </description>
    <requirements>
        <requirement type="package" version="3.7">python</requirement>
        <requirement type="package" version="1.4">scipy</requirement>
        <requirement type="package" version="5.26">perl</requirement>
        <requirement type="package" version="1.7.2">perl-bioperl</requirement>
        <requirement type="package" version="2.3.4">bowtie2</requirement>
        <requirement type="package" version="1.3.1">samtools</requirement>
        <requirement type="package" version="1.3.1">bcftools</requirement>
        <requirement type="package" version="0.7.8">bwa</requirement>
        <requirement type="package" version="2.7.1">blast</requirement>
        <requirement type="package" version="3.12.0">spades</requirement>
        <requirement type="package" version="0.11.8">fastqc</requirement>
    </requirements>
    <!-- basic error handling -->
    <stdio>
        <exit_code range="1:" level="fatal" description="Tool exception" />
    </stdio>
    <command>
      python
      $__tool_directory__/Ecoli_Serotyper.py --input_type ${origin.input_type} --log $logfile --output $report_out --blastn_O $blastn_O --blastn_H $blastn_H
      #if str( $origin.input_type ) == "contigs":
          -1 $origin.input_1 --input1_name '$origin.input_1.name' 
      #else:
          -1 $origin.library.input_1 --input1_ext ${origin.library.input_1.ext} --input1_name '${origin.library.input_1.name}' 
          --html1 $html_file_1 --html1_id $__app__.security.encode_id($html_file_1.dataset.id) --html1_path ${html_file_1.files_path} 
          --spades_log $spades_log
          #if str( $origin.library.type ) == "paired":
              -2 $origin.library.input_2 --input2_ext ${origin.library.input_2.ext} --input2_name '${origin.library.input_2.name}' 
              --html2 $html_file_2 --html2_id $__app__.security.encode_id($html_file_2.dataset.id) --html2_path ${html_file_2.files_path} 
          #end if
      #end if
    </command>

    <inputs>
        <!-- fastq/contigs -->
        <conditional name="origin">
                <param name="input_type" type="select" label="Are the input files FASTQ or Contigs">
                  <option value="fastq">FASTQ</option>
                  <option value="contigs">Contigs</option>
                </param>

                <when value="fastq">
                    <!-- single/paired -->
                    <conditional name="library">
                        <param name="type" type="select" label="Is this single or paired library">
                          <option value="single">Single-end</option>
                          <option value="paired">Paired-end</option>
                        </param>
            
                        <when value="single">
                            <param name="input_1" format="fastqsanger" type="data" label="FASTQ file" help="Must be of datatype &quot;fastqsanger&quot;" />
                        </when>
                        <when value="paired">
                            <param name="input_1" format="fastqsanger" type="data" label="FASTQ file #1" help="Must be of datatype &quot;fastqsanger&quot;" />
                            <param name="input_2" format="fastqsanger" type="data" label="FASTQ file #2" help="Must be of datatype &quot;fastqsanger&quot;" />
                        </when>
                    </conditional>
                </when>
                <when value="contigs">
                    <param name="input_1" format="fasta" type="data" label="FASTA Contigs file" help="Must be of datatype &quot;fasta&quot;" />
               </when>
        </conditional>
    </inputs>

    <!-- define outputs -->
    <outputs>
        <data format="html" name="html_file_1" label="${tool.name} on ${on_string}: Webpage" hidden="true">
            <filter>origin['input_type'] == 'fastq'</filter>
        </data>
        <data format="html" name="html_file_2" label="${tool.name} on ${on_string}: Webpage reverse" hidden="true">
            <filter>origin['input_type'] == 'fastq' and origin['library']['type'] == 'paired'</filter>
        </data>
        <data name="logfile" format="txt" label="${tool.name} on ${on_string}: log" />
        <data name="spades_log" format="txt" label="SPAdes log" hidden="true">
            <filter>origin['input_type'] == 'fastq'</filter>
        </data>
        <data name="blastn_O" format="tabular" label="Blastn for O" hidden="true" />
        <data name="blastn_H" format="tabular" label="Blastn for H" hidden="true" />
        <data name="report_out" format="html" label="${tool.name} on ${on_string}: report"></data>
    </outputs>

    <tests>
        <test>
            <!-- basic test on contigs file -->
            <param name="input_type" value="contigs"/>
            <param name="input_1" value="a_contigs.fasta" ftype="fasta"/>
            <param name="input1_name" value="a_contigs.fasta"/>
            <output name="report_out">
                <assert_contents>
                    <has_text text="wzx_208_AF529080_O26" />
                    <has_text text="wzy_192_AF529080_O26" />
                    <has_text text="fliC_269_AY337465_H11" />
                    <has_text text="fliC_276_AY337472_H11" />
                </assert_contents>
            </output>
            <output name="blastn_O" file="blastn_O" ftype="tabular" />
            <output name="blastn_H" file="blastn_H" ftype="tabular" />
        </test>
    </tests>

    <help>
**E coli Serotyper Overview**

This tool performs various operations:

- Optionally: Quality assessment (FastQC)

- Optionally: Trimming (FASTQ positional and quality trimming)

- Optionally: Filtering (DUK)

- Optionally: Assembly (SPAdes)

- Serotyping (Blast+ against serotype databases from the Center for Genomic Epidemiology CGE)

Istituto Superiore di Sanita'

European Union Reference Laboratory (EU-RL) for Escherichia coli, including Verotoxigenic E. coli (VTEC)

Developer: Arnold Knijn arnold.knijn@iss.it

    </help>
    <citations>
      <citation type="bibtex">@ARTICLE{andrews_s,
            author = {Andrews, S},
            keywords = {bioinformatics, ngs, qc},
            priority = {2},
            title = {{FastQC A Quality Control tool for High Throughput Sequence Data}},
            url = {http://www.bioinformatics.babraham.ac.uk/projects/fastqc/}
        }</citation>
      <citation type="bibtex">@ARTICLE{andrews_s,
            author = {Li, M, Copeland, A, and Han, J},
            keywords = {bioinformatics, ngs},
            title = {{DUK – A Fast and Efficient Kmer Based Sequence Matching Tool}},
            url = {https://www.osti.gov/servlets/purl/1016000/}
        }</citation>
      <citation type="bibtex">@ARTICLE{andrews_s,
            author = {Edwards, RA},
            keywords = {bioinformatics, ngs},
            title = {{fastq-pair}},
            url = {https://github.com/linsalrob/EdwardsLab/}
        }</citation>
      <citation type="doi">10.1089/cmb.2012.0021</citation>
      <citation type="doi">10.1186/1471-2105-10-421</citation>
      <citation type="doi">10.1186/s13742-015-0080-7</citation>
      <citation type="doi">10.1128/JCM.00008-15</citation>
    </citations>
</tool>