view eurl_vtec_wgs_pt.xml @ 0:965517909457 draft

planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
author cstrittmatter
date Wed, 22 Jan 2020 08:41:44 -0500
parents
children bf3194a789a2
line wrap: on
line source

<tool id="eurlvtecwgspt" name="EURL VTEC WGS PT" version="2.3">
    <description>performs various typing tools
    </description>
    <requirements>
        <requirement type="package" version="2.7">python</requirement>
        <requirement type="package">scipy</requirement>
        <requirement type="package">perl-bioperl</requirement>
        <requirement type="package" version="2.2.9">bowtie2</requirement>
        <requirement type="package" version="1.3.1">samtools</requirement>
        <requirement type="package" version="1.3.1">bcftools</requirement>
        <requirement type="package">bwa</requirement>
        <requirement type="package">blast</requirement>
        <requirement type="package">spades</requirement>
        <requirement type="package">fastqc</requirement>
        <requirement type="package">mentalist</requirement>
    </requirements>
    <!-- basic error handling -->
    <stdio>
        <exit_code range="1:" level="fatal" description="Tool exception" />
    </stdio>
    <command>
      python
      $__tool_directory__/EURL_VTEC_WGS_PT.py --log $logfile --output $report_out --mlstsevenloci $mlstsevenloci
      #if str( $library.type ) == "single":
	      -1 ${library.input_1} --input1_ext ${library.input_1.ext} --input1_name '${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} 
          --text1 $text_file_1 --trimmed1 $trimmed1
      #elif str( $library.type ) == "paired":
	      -1 ${library.input_1} --input1_ext ${library.input_1.ext} --input1_name '${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} 
          --text1 $text_file_1 --trimmed1 $trimmed1
          -2 ${library.input_2} --input2_ext ${library.input_2.ext} --input2_name '${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} 
          --text2 $text_file_2 --trimmed2 $trimmed2 --trimmedunpaired $trimmedunpaired
      #elif str( $library.type ) == "pairedcollection":
	      -1 ${library.input_pc.forward} --input1_ext ${library.input_pc.forward.ext} --input1_name '${library.input_pc.forward.name}' 
          --html1 $html_file_1 --html1_id $__app__.security.encode_id($html_file_1.dataset.id) --html1_path ${html_file_1.files_path} 
          --text1 $text_file_1 --trimmed1 $trimmed1
          -2 ${library.input_pc.reverse} --input2_ext ${library.input_pc.reverse.ext} --input2_name '${library.input_pc.reverse.name}' 
          --html2 $html_file_2 --html2_id $__app__.security.encode_id($html_file_2.dataset.id) --html2_path ${html_file_2.files_path} 
          --text2 $text_file_2 --trimmed2 $trimmed2 --trimmedunpaired $trimmedunpaired
      #end if
      #if $serotyping:
          --serotyping
          --spades_log $spades_log --blastn_O $blastn_O --blastn_H $blastn_H
      #end if         
      #if $virulotyping:
          --virulotyping
          --virulotyper $virulotyper --virulotyper_id $__app__.security.encode_id($virulotyper.dataset.id)
      #end if
      #if $shigatoxintyping:
          --shigatoxintyping
          --blastn_STX $blastn_STX
      #end if
    </command>

    <inputs>
        <!-- single/paired -->
        <conditional name="library">
            <param name="type" type="select" label="Is this a single-end or paired-end library">
              <option value="single">Single-end</option>
              <option value="paired">Paired-end</option>
              <option value="pairedcollection">Paired-end collection</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>
            <when value="pairedcollection">
              <param name="input_pc" type="data_collection" label="Paired-end FASTQ collection" help="Must be of datatype &quot;fastqsanger&quot;" optional="false" format="txt" collection_type="paired" />
            </when>
        </conditional>
        <param name="serotyping" type="boolean" checked="true" label="Perform Serotyping" help="" />
        <param name="virulotyping" type="boolean" checked="true" label="Perform Virulotyping" help="" />
        <param name="shigatoxintyping" type="boolean" checked="true" label="Perform Shigatoxintyping" help="" />
    </inputs>

    <!-- define outputs -->
    <outputs>
        <data format="html" name="html_file_1" label="${tool.name} on ${on_string}: Webpage" hidden="true" />
        <data format="txt" name="text_file_1"  label="${tool.name} on ${on_string}: RawData" hidden="true" />
        <data format="html" name="html_file_2" label="${tool.name} on ${on_string}: Webpage reverse" hidden="true">
            <filter>library['type'] == 'paired' or library['type'] == 'pairedcollection'</filter>
        </data>
        <data format="txt" name="text_file_2"  label="${tool.name} on ${on_string}: RawData reverse" hidden="true">
            <filter>library['type'] == 'paired' or library['type'] == 'pairedcollection'</filter>
        </data>
        <data name="trimmed1" format="fastqsanger" label="${tool.name} on ${on_string}: trimmed 
                #if str( $library.type ) == 'paired'#
                    forward
                #end if#
            FASTQ">
        </data>
        <data name="trimmed2" format="fastqsanger" label="${tool.name} on ${on_string}: trimmed reverse FASTQ">
            <filter>library['type'] == 'paired' or library['type'] == 'pairedcollection'</filter>
        </data>
        <data name="trimmedunpaired" format="fastqsanger" label="${tool.name} on ${on_string}: trimmed unpaired reads">
            <filter>library['type'] == 'paired' or library['type'] == 'pairedcollection'</filter>
        </data>
        <data name="logfile" format="txt" label="${tool.name} on ${on_string}: log" />
        <data name="virulotyper" format="tabular" label="Virulotyper on ${on_string}: Mapping reads" hidden="true">
            <filter>virulotyping</filter>
        </data>
        <data name="blastn_STX" format="tabular" label="Blastn for Shiga toxin on ${on_string}" hidden="true" >
            <filter>shigatoxintyping</filter>
        </data>
        <data name="mlstsevenloci" format="tabular" label="Multi Locus on ${on_string}: Alleles Table" hidden="true" />
        <data name="spades_log" format="txt" label="SPAdes log" hidden="true">
            <filter>serotyping</filter>
        </data>
        <data name="blastn_O" format="tabular" label="Blastn for O on ${on_string}" hidden="true">
            <filter>serotyping</filter>
        </data>
        <data name="blastn_H" format="tabular" label="Blastn for H on ${on_string}" hidden="true">
            <filter>serotyping</filter>
        </data>
        <data name="report_out" format="html" label="${tool.name} on ${on_string}: report"></data>
    </outputs>

    <tests>
        <test>
            <!-- basic test on contigs file -->
            <param name="type" value="single"/>
            <param name="input_1" value="a_reads.fastq" ftype="fastqsanger"/>
            <param name="serotyping" value="true"/>
            <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>
**EURL VTEC WGS PT Overview**
This tool performs various typing tools:

- Raw data quality check (FASTQC)

- Trimming (FASTQ positional and quality trimming)

- Virulotyping (patho_typing tool from the INNUENDO Project)

- Multi Locus Sequence Typing (MentaLiST 7 loci)

- Filtering (DUK)

- Assembly (SPAdes)

- Serotyping (blastn)

- Shigatoxintyping (blastn against the shiga toxin subtype database from the Statens Serum Institut (SSI) and Technical University of Denmark DTU)

Istituto Superiore di Sanità

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

Developer: Arnold Knijn arnold.knijn@iss.it

The development of the Virulotyping tool has been supported by INNUENDO project (https://www.innuendoweb.org) co-funded by the European Food Safety Authority (EFSA), grant agreement GP/EFSA/AFSCO/2015/01/CT2
("New approaches in identifying and characterizing microbial and chemical hazards") and by the ONEIDA project (LISBOA-01-0145-FEDER-016417) co-funded by FEEI - “Fundos Europeus Estruturais e de Investimento” 
from “Programa Operacional Regional Lisboa 2020” and by national funds from FCT - “Fundação para a Ciência e a Tecnologia” and BacGenTrack (TUBITAK/0004/2014) 
[FCT/ Scientific and Technological Research Council of Turkey (Türkiye Bilimsel ve Teknolojik Araşrrma Kurumu, TÜBITAK)].
    </help>
    <citations>
      <citation type="bibtex">@ARTICLE{andrews_s,
            author = {Andrews, S},
            keywords = {bioinformatics, ngs, qc},
            title = {{FastQC A Quality Control tool for High Throughput Sequence Data}},
            url = {http://www.bioinformatics.babraham.ac.uk/projects/fastqc/}
        }</citation>
      <citation type="doi">10.1093/bioinformatics/btu135</citation>
      <citation type="doi">10.1186/gb-2009-10-3-r25</citation>
      <citation type="doi">10.1038/nmeth.1923</citation>
      <citation type="doi">10.1099/mgen.0.000146</citation>
      <citation type="bibtex">@ARTICLE{li-copeland,
            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{edwards_ra,
            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>