view mob_recon.xml @ 2:2c7f721a4905 draft

planemo upload for repository https://github.com/phac-nml/mob-suite commit eecf57ea6130c483487087554c53918fe2b556dd
author nml
date Fri, 17 Aug 2018 11:12:08 -0400
parents 2c419df5cdaa
children 066b2a1c6a55
line wrap: on
line source

<tool id="mob_recon" name="MOB-Recon" version="1.4.8">
  <description>Type contigs and extract plasmid sequences</description>
  <requirements>
     <requirement type="package" version="1.4.8">mob_suite</requirement>
  </requirements>   
  <command detect_errors="exit_code">
  <![CDATA[  
    #import re
    #import os.path
    
    #set $named_input = re.sub(r'(\s|\(|\)|:|!)', '_', str($input.element_identifier)+".fasta")
    ln -s "$input" $named_input && 
    
    mob_recon  --num_threads \${GALAXY_SLOTS:-4}  --infile "${named_input}" 
    #if str($adv_param.unicycler_contigs) == "True":
      --unicycler_contigs 
    #end if   
    #if str($adv_param.run_circlator) == "True":
      --run_circlator 
    #end if 
    #if str($adv_param.min_length_condition.min_length_param) == "True":
      --min_length ${adv_param.min_length_condition.min_length_value}
    #end if 
    --run_typer --min_rep_evalue '${adv_param.min_rep_evalue}'
    --min_rep_evalue '${adv_param.min_rep_evalue}'
    --min_mob_evalue '${adv_param.min_mob_evalue}'
    --min_con_evalue '${adv_param.min_con_evalue}'
    --min_rep_ident '${adv_param.min_rep_ident}'
    --min_mob_ident '${adv_param.min_mob_ident}'
    --min_con_ident  '${adv_param.min_con_ident}'
    --min_rpp_ident   '${adv_param.min_rpp_ident}'
    --outdir '.' && 
    mkdir ./sequences && (cp plasmid*.fasta chromosome.fasta ./sequences 2> /dev/null || true)
  ]]>  
  </command>
  <inputs>
    <param name="input" type="data" format="fasta" label="Input" help="FASTA file with contig(s)"/>
    <section name="adv_param" title="Advanced parameters" expanded="False">
      <param name="unicycler_contigs" label="Check for circularity flag generated by unicycler in contigs fasta headers" type="select" value="True">
        <option value="True">Yes</option>
        <option value="False">No</option>
      </param>
      <param name="run_circlator" label="Run circlator minums2 pipeline to check for circular contigs" type="select" value="True">
        <option value="True">Yes</option>
        <option value="False">No</option>
      </param>
      <conditional name="min_length_condition">
        <param name="min_length_param" label="Minimum length of contigs to process" type="select" value="False">
          <option value="False">No</option>
          <option value="True">Yes</option>
       </param>   
        <when value="True">
          <param name="min_length_value" type="integer" value="500" min="50"/> 
        </when>  
        <when value="False"/>
      </conditional> 
      <param name="min_rep_evalue" label="Minimum evalue threshold for replicon blastn" type="float"  min="0.00001" max="1" value="0.00001"/>
      <param name="min_mob_evalue" label="Minimum evalue threshold for relaxase tblastn" type="float"  min="0.00001" max="1" value="0.00001"/>
      <param name="min_con_evalue" label="Minimum evalue threshold for contig blastn" type="float"  min="0.00001" max="1" value="0.00001"/>
      <param name="min_rpp_evalue" label="Minimum evalue threshold for repetitve elements blastn" type="float"  min="0.00001" max="1" value="0.00001"/>
      <param name="min_rep_ident" label="Minimum sequence identity for replicons" type="integer"  min="0" max="100" value="80"/>
      <param name="min_mob_ident" label="Minimum sequence identity for relaxases" type="integer"  min="0" max="100" value="80"/>
      <param name="min_con_ident" label="Minimum sequence identity for contigs" type="integer"  min="0" max="100" value="80"/>
      <param name="min_rpp_ident" label="Minimum sequence identity for repetitive elements" type="integer"  min="0" max="100" value="80"/>
    </section>  
  </inputs>
  <outputs>
    <data name="outfile1" format="tabular" from_work_dir="contig_report.txt" label="${tool.name} on ${on_string}: Overall contig MOB-recon report"/> 
    <data name="outfile2" format="tabular" from_work_dir="repetitive_blast_report.txt" label="${tool.name} on ${on_string}: Repetitive elements BLAST report"/>
    <data name="outfile3" format="tabular" from_work_dir="mobtyper_aggregate_report.txt" label="${tool.name} on ${on_string}: Aggregate MOB-typer report for all contigs"/>
    <collection name="seqhits" type="list" label="${tool.name} on ${on_string}: Extracted sequences (plasmids,chromosome(s))">
            <discover_datasets pattern="__name_and_ext__" directory="sequences" />
    </collection>
  </outputs>
  <tests>
    <test>
        <param name="input" value="plasmid_476.fasta" ftype="fasta"/>
        <section name="adv_param">
         <param name="unicycler_contigs" value="True"/>
         <param name="run_circlator"  value="True"/>
        </section>
        <output name="outfile1">
          <assert_contents>
            <has_text text="NC_019097"/>
          </assert_contents>  
        </output> 
    </test>
  </tests>
  <help>

**Syntax**

This tool reconstructs individual plasmid sequences from draft genome assemblies using the plasmid reference databases.

For more information please visit https://github.com/phac-nml/mob-suite/. 

**Workflow**

 There is a preliminary  Mobilome and Resistome Analysis Workflow linking mob_recon with staramr providing reports on mobilome and resistome https://github.com/phac-nml/mob-suite/. 

-----

**Input:**

A FASTA file with a single or multiple contigs (e.g. a draft genome assembly):


**Output:**

Tab-delimited report listing information for each input contig on its cluster number, possible replicon, relaxase, and repetitive elements types, etc. Refer to https://github.com/phac-nml/mob-suite#mob-recon-contig-report-format for the description of each column.

Note: Plasmid sequences will not be output if none are found. Some plasmid could be intergrated into a chromosome.


  </help>
  <citations>
    <citation type="bibtex">
  @misc{githubmob-suite,
  author = {Robertson J, Nash J},
  title = {MOB-Suite: Software tools for clustering, reconstruction and typing of plasmids from draft assemblies.},
  publisher = {GitHub},
  journal = {GitHub repository},
  doi = {10.1099/mgen.0.000206},
  url = {https://github.com/phac-nml/mob-suite}
    }</citation>
  </citations>
</tool>