changeset 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
files README.md mob_recon.xml mob_typer.xml workflows/AMRworkflow_STARAMR.ga
diffstat 4 files changed, 223 insertions(+), 70 deletions(-) [+]
line wrap: on
line diff
--- a/README.md	Thu Jul 26 14:50:59 2018 -0400
+++ b/README.md	Fri Aug 17 11:12:08 2018 -0400
@@ -1,8 +1,7 @@
 # MOB-suite: Software tools for clustering, reconstruction and typing of plasmids from draft assemblies
 
 
-These are Galaxy wrappers for [MOB-Suite](https://github.com/phac-nml/mob-suite): a set of tools designed to be a modular set of tools for the typing and reconstruction of plasmid sequences from WGS assemblies.
+These are Galaxy wrappers for [MOB-Suite](https://github.com/phac-nml/mob-suite): a set of tools designed to be a modular set of tools for the typing and reconstruction of plasmid sequences from WGS assemblies. This wrapper allows to conveniently run all these tools on a Galaxy instance. Also coupling MOB-Suite tools with other AMR tools via workflows allows to obtain both mobilome and resistome valuable information.
 
 
 For more information please refer to https://github.com/phac-nml/mob-suite
- 
--- a/mob_recon.xml	Thu Jul 26 14:50:59 2018 -0400
+++ b/mob_recon.xml	Fri Aug 17 11:12:08 2018 -0400
@@ -1,13 +1,17 @@
-<tool id="mob_recon" name="MOB-Recon" version="1.4.5">
+<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.5">mob_suite</requirement>
+     <requirement type="package" version="1.4.8">mob_suite</requirement>
   </requirements>   
   <command detect_errors="exit_code">
   <![CDATA[  
-    ln -s "${input}" "${input.name}"; 
+    #import re
+    #import os.path
     
-    mob_recon  --num_threads \${GALAXY_SLOTS:-4} --infile "${input.name}" 
+    #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   
@@ -17,7 +21,16 @@
     #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 --outdir '.';
+    --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>
@@ -32,7 +45,7 @@
         <option value="False">No</option>
       </param>
       <conditional name="min_length_condition">
-        <param name="min_length_param" label="Minimum length of contigs to classify" type="select" value="False">
+        <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>   
@@ -41,22 +54,28 @@
         </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}: Overall contig MOB-recon report"/> 
-    <data name="outfile2" format="tabular" from_work_dir="repetitive_blast_report.txt" label="${tool.name}: Repetitive elements BLAST report"/>
-    <data name="outfile3" format="fasta" from_work_dir="chromosome.fasta" label="${tool.name}: Chromosomal sequences"/>
-    <data name="outfile4" format="tabular" from_work_dir="mobtyper_aggregate_report.txt" label="${tool.name}: Aggregate MOB-typer report for all contigs"/>
-    <data name="outfile5" format="fasta" label="${tool.name}: Plasmid sequence"  hidden="true">
-        <discover_datasets pattern="plasmid_.+\.(?P&lt;ext&gt;.+)" ext="fasta" visible="true" assign_primary_output="false"/>
-    </data>
+    <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="evalue" value="0.00001"/>
          <param name="unicycler_contigs" value="True"/>
          <param name="run_circlator"  value="True"/>
         </section>
@@ -75,6 +94,10 @@
 
 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/mob_typer.xml	Thu Jul 26 14:50:59 2018 -0400
+++ b/mob_typer.xml	Fri Aug 17 11:12:08 2018 -0400
@@ -1,70 +1,36 @@
-<tool id="mob_typer" name="MOB-Typer" version="1.4.5">
+<tool id="mob_typer" name="MOB-Typer" version="1.4.8">
   <description>Get the plasmid type and mobility given its sequence</description>
   <requirements>
-     <requirement type="package" version="1.4.5">mob_suite</requirement>
+     <requirement type="package" version="1.4.8">mob_suite</requirement>
   </requirements>   
   <command detect_errors="exit_code">
   <![CDATA[
     ln -s "${input}" "${input.name}";
     mob_typer  --num_threads \${GALAXY_SLOTS:-4} --infile "${input.name}" 
-    #if str($adv_param.min_rep_evalue_condition.min_rep_evalue_param) == "True":
-      --min_rep_evalue $adv_param.min_rep_evalue_condition.min_rep_evalue_value
-    #end if 
-    #if str($adv_param.min_mob_evalue_condition.min_mob_evalue_param) == "True":
-      --min_mob_evalue $adv_param.min_mob_evalue_condition.min_mob_evalue_value
-    #end if 
-    #if str($adv_param.min_con_evalue_condition.min_con_evalue_param) == "True":
-      --min_con_evalue $adv_param.min_con_evalue_condition.min_con_evalue_value
-    #end if 
-    #if str($adv_param.min_ori_evalue_condition.min_ori_evalue_param) == "True":
-      --min_ori_evalue $adv_param.min_ori_evalue_condition.min_ori_evalue_value
-    #end if 
+   --min_rep_evalue '$adv_param.min_rep_evalue_value'
+   --min_mob_evalue '$adv_param.min_mob_evalue_value'
+   --min_con_evalue '$adv_param.min_con_evalue_value'
+   --min_ori_evalue '$adv_param.min_ori_evalue_value'
+   --min_mpf_evalue '$adv_param.min_mpf_evalue'
+   --min_rep_ident '$adv_param.min_rep_ident'
+   --min_mob_ident '$adv_param.min_mob_ident'
+   --min_ori_ident '$adv_param.min_ori_ident'
+   --min_mpf_ident '$adv_param.min_mpf_ident'
     --outdir '.';
   ]]>
   </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">
-      <conditional name="min_rep_evalue_condition">
-        <param name="min_rep_evalue_param" label="Minimum evalue threshold for replicon blastn" type="select" value="False">
-          <option value="False">No</option>
-          <option value="True">Yes</option>
-       </param>   
-        <when value="True">
-          <param name="min_rep_evalue_value" type="float" value="0.00001" min="0" max="1" label="e-value (default: 0.00001)"/> 
-        </when>  
-        <when value="False"/>
-      </conditional>
-      <conditional name="min_mob_evalue_condition">
-        <param name="min_mob_evalue_param" label="Minimum evalue threshold for relaxase tblastn" type="select" value="False">
-          <option value="False">No</option>
-          <option value="True">Yes</option>
-       </param>   
-        <when value="True">
-          <param name="min_mob_evalue_value" type="float" value="0.00001" min="0.00001" max="1" label="e-value (default: 0.00001)"/> 
-        </when>  
-        <when value="False"/>
-      </conditional>
-      <conditional name="min_con_evalue_condition">
-        <param name="min_con_evalue_param" label="Minimum evalue threshold for contig blastn" type="select" value="False">
-          <option value="False">No</option>
-          <option value="True">Yes</option>
-       </param>   
-        <when value="True">
-          <param name="min_con_evalue_value" type="float" value="0.00001" min="0" max="1" label="e-value (default: 0.00001)"/> 
-        </when>  
-        <when value="False"/>
-      </conditional>
-      <conditional name="min_ori_evalue_condition">
-        <param name="min_ori_evalue_param" label="Minimum evalue threshold for oriT elements blastn" type="select" value="False">
-          <option value="False">No</option>
-          <option value="True">Yes</option>
-       </param>   
-        <when value="True">
-          <param name="min_ori_evalue_value" type="float" value="0.00001" min="0" max="1" label="e-value (default: 0.00001)"/> 
-        </when>  
-        <when value="False"/>
-      </conditional>
+      <param name="min_rep_evalue_value" type="float" value="0.00001" min="0.00001" max="1" label="Minimum evalue threshold for replicon blastn"/> 
+      <param name="min_mob_evalue_value" type="float" value="0.00001" min="0.00001" max="1" label="Minimum evalue threshold for relaxase tblastn"/> 
+      <param name="min_con_evalue_value" type="float" value="0.00001" min="0.00001" max="1" label="Minimum evalue threshold for contig blastn"/> 
+      <param name="min_ori_evalue_value" type="float" value="0.00001" min="0.00001" max="1" label="Minimum evalue threshold for oriT elements blastn"/>
+      <param name="min_mpf_evalue" type="float" value="0.00001" min="0.00001" max="1" label="Minimum evalue threshold for mpf elements blastn"/>
+      <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_ori_ident" label="Minimum sequence identity for oriT elements" type="integer"  min="0" max="100" value="90"/>
+      <param name="min_mpf_ident" label="Minimum sequence identity for mpf elements" type="integer"  min="0" max="100" value="80"/>
     </section>  
   </inputs>
   <outputs>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/AMRworkflow_STARAMR.ga	Fri Aug 17 11:12:08 2018 -0400
@@ -0,0 +1,165 @@
+{
+    "a_galaxy_workflow": "true",
+    "annotation": "",
+    "format-version": "0.1",
+    "name": "AMRworkflow",
+    "steps": {
+        "0": {
+            "annotation": "",
+            "content_id": "mob_recon",
+            "errors": null,
+            "id": 0,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool MOB-Recon",
+                    "name": "input"
+                }
+            ],
+            "label": null,
+            "name": "MOB-Recon",
+            "outputs": [
+                {
+                    "name": "seqhits",
+                    "type": "input"
+                },
+                {
+                    "name": "outfile1",
+                    "type": "tabular"
+                },
+                {
+                    "name": "outfile2",
+                    "type": "tabular"
+                },
+                {
+                    "name": "outfile3",
+                    "type": "tabular"
+                }
+            ],
+            "position": {
+                "left": 200,
+                "top": 200
+            },
+            "post_job_actions": {
+                "HideDatasetActionoutfile1": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "outfile1"
+                },
+                "HideDatasetActionoutfile2": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "outfile2"
+                },
+                "HideDatasetActionoutfile3": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "outfile3"
+                }
+            },
+            "tool_id": "mob_recon",
+            "tool_state": "{\"adv_param\": \"{\\\"min_length_condition\\\": {\\\"min_length_param\\\": \\\"False\\\", \\\"__current_case__\\\": 1}, \\\"min_con_ident\\\": \\\"80\\\", \\\"min_mob_ident\\\": \\\"80\\\", \\\"min_mob_evalue\\\": \\\"1e-05\\\", \\\"min_rep_evalue\\\": \\\"1e-05\\\", \\\"unicycler_contigs\\\": \\\"True\\\", \\\"min_rep_ident\\\": \\\"80\\\", \\\"min_rpp_evalue\\\": \\\"1e-05\\\", \\\"min_rpp_ident\\\": \\\"80\\\", \\\"run_circlator\\\": \\\"True\\\", \\\"min_con_evalue\\\": \\\"1e-05\\\"}\", \"input\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/galaxy/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": null}",
+            "tool_version": "1.4.8",
+            "type": "tool",
+            "uuid": "017d5861-8836-46a8-8444-0dcaca60eda1",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "seqhits",
+                    "uuid": "6304bc2b-bcc9-47c4-8e3b-9d2ee5a80433"
+                }
+            ]
+        },
+        "1": {
+            "annotation": "",
+            "content_id": "staramr_search",
+            "errors": null,
+            "id": 1,
+            "input_connections": {
+                "genomes": {
+                    "id": 0,
+                    "output_name": "seqhits"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool staramr",
+                    "name": "genomes"
+                }
+            ],
+            "label": null,
+            "name": "staramr",
+            "outputs": [
+                {
+                    "name": "blast_hits",
+                    "type": "input"
+                },
+                {
+                    "name": "summary",
+                    "type": "tabular"
+                },
+                {
+                    "name": "resfinder",
+                    "type": "tabular"
+                },
+                {
+                    "name": "pointfinder",
+                    "type": "tabular"
+                },
+                {
+                    "name": "settings",
+                    "type": "txt"
+                },
+                {
+                    "name": "excel",
+                    "type": "xlsx"
+                }
+            ],
+            "position": {
+                "left": 420,
+                "top": 200
+            },
+            "post_job_actions": {
+                "HideDatasetActionpointfinder": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "pointfinder"
+                },
+                "HideDatasetActionsettings": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "settings"
+                }
+            },
+            "tool_id": "staramr_search",
+            "tool_state": "{\"__page__\": null, \"use_pointfinder\": \"{\\\"enable\\\": \\\"false\\\", \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"genomes\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"chromInfo\": \"\\\"/galaxy/tool-data/shared/ucsc/chrom/?.len\\\"\", \"advanced\": \"{\\\"pid_threshold\\\": \\\"98.0\\\", \\\"exclude_resistance_phenotypes\\\": \\\"false\\\", \\\"exclude_negatives\\\": \\\"false\\\", \\\"plength_resfinder\\\": \\\"60.0\\\", \\\"plength_pointfinder\\\": \\\"95.0\\\", \\\"report_all_blast\\\": \\\"false\\\"}\"}",
+            "tool_version": "0.2.2",
+            "type": "tool",
+            "uuid": "41f8718f-87a0-45d2-b79d-e5afddea1532",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "blast_hits",
+                    "uuid": "9e8592ad-71c0-4528-8e8b-efcd3bb9183a"
+                },
+                {
+                    "label": null,
+                    "output_name": "resfinder",
+                    "uuid": "2f27a46b-29bf-4abf-9d26-fce4e9fc9dd5"
+                },
+                {
+                    "label": null,
+                    "output_name": "excel",
+                    "uuid": "67549d0b-0480-4c25-8bfd-1fa78cfdb066"
+                },
+                {
+                    "label": null,
+                    "output_name": "summary",
+                    "uuid": "17c9e48c-234a-4cb7-986d-f88166bfe0a7"
+                }
+            ]
+        }
+    },
+    "tags": [],
+    "uuid": "4c695847-5fc7-4020-a125-a500700ab320"
+}