From 97189df5c3ceaa7f55433d1757e155aec32320a6 Mon Sep 17 00:00:00 2001 From: Nabil-Fareed Alikhan Date: Fri, 13 Sep 2019 16:27:57 +0100 Subject: [PATCH] init --- CHANGELOG.md | 3 + LICENSE | 201 ++++++++ README.md | 373 ++++++++++++++ doc/images/example-plugin-metadata.png | Bin 0 -> 45967 bytes doc/images/example-plugin-pipeline.png | Bin 0 -> 5203 bytes doc/images/example-plugin-results.png | Bin 0 -> 71379 bytes doc/images/example-plugin-save-results.png | Bin 0 -> 23000 bytes doc/images/pipeline-parameters.png | Bin 0 -> 21087 bytes index-1.html | 269 ++++++++++ pom.xml | 85 ++++ .../irida/plugins/QIPhyloPlugin.java | 110 +++++ .../workflows/0.1/irida_workflow.xml | 263 ++++++++++ .../workflows/0.1/irida_workflow_structure.ga | 460 ++++++++++++++++++ .../workflows/0.1/messages_en.properties | 88 ++++ .../workflows/0.10/irida_workflow.xml | 266 ++++++++++ .../0.10/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.10/messages_en.properties | 89 ++++ .../workflows/0.11/irida_workflow.xml | 266 ++++++++++ .../0.11/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.11/messages_en.properties | 89 ++++ .../workflows/0.12/irida_workflow.xml | 266 ++++++++++ .../0.12/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.12/messages_en.properties | 89 ++++ .../workflows/0.13/irida_workflow.xml | 266 ++++++++++ .../0.13/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.13/messages_en.properties | 89 ++++ .../workflows/0.14/irida_workflow.xml | 266 ++++++++++ .../0.14/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.14/messages_en.properties | 89 ++++ .../workflows/0.15/irida_workflow.xml | 266 ++++++++++ .../0.15/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.15/messages_en.properties | 89 ++++ .../workflows/0.16/irida_workflow.xml | 266 ++++++++++ .../0.16/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.16/messages_en.properties | 89 ++++ .../workflows/0.17/irida_workflow.xml | 266 ++++++++++ .../0.17/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.17/messages_en.properties | 89 ++++ .../workflows/0.18/irida_workflow.xml | 266 ++++++++++ .../0.18/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.18/messages_en.properties | 89 ++++ .../workflows/0.19/irida_workflow.xml | 266 ++++++++++ .../0.19/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.19/messages_en.properties | 89 ++++ .../workflows/0.2/irida_workflow.xml | 263 ++++++++++ .../workflows/0.2/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.2/messages_en.properties | 88 ++++ .../workflows/0.3/irida_workflow.xml | 263 ++++++++++ .../workflows/0.3/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.3/messages_en.properties | 88 ++++ .../workflows/0.4/irida_workflow.xml | 263 ++++++++++ .../workflows/0.4/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.4/messages_en.properties | 88 ++++ .../workflows/0.5/irida_workflow.xml | 263 ++++++++++ .../workflows/0.5/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.5/messages_en.properties | 88 ++++ .../workflows/0.6/irida_workflow.xml | 263 ++++++++++ .../workflows/0.6/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.6/messages_en.properties | 88 ++++ .../workflows/0.7/irida_workflow.xml | 263 ++++++++++ .../workflows/0.7/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.7/messages_en.properties | 88 ++++ .../workflows/0.8/irida_workflow.xml | 263 ++++++++++ .../workflows/0.8/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.8/messages_en.properties | 88 ++++ .../workflows/0.9/irida_workflow.xml | 263 ++++++++++ .../workflows/0.9/irida_workflow_structure.ga | 374 ++++++++++++++ .../workflows/0.9/messages_en.properties | 88 ++++ 68 files changed, 14942 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 doc/images/example-plugin-metadata.png create mode 100644 doc/images/example-plugin-pipeline.png create mode 100644 doc/images/example-plugin-results.png create mode 100644 doc/images/example-plugin-save-results.png create mode 100644 doc/images/pipeline-parameters.png create mode 100644 index-1.html create mode 100644 pom.xml create mode 100644 src/main/java/ca/corefacility/bioinformatics/irida/plugins/QIPhyloPlugin.java create mode 100644 src/main/resources/workflows/0.1/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.1/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.1/messages_en.properties create mode 100644 src/main/resources/workflows/0.10/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.10/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.10/messages_en.properties create mode 100644 src/main/resources/workflows/0.11/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.11/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.11/messages_en.properties create mode 100644 src/main/resources/workflows/0.12/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.12/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.12/messages_en.properties create mode 100644 src/main/resources/workflows/0.13/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.13/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.13/messages_en.properties create mode 100644 src/main/resources/workflows/0.14/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.14/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.14/messages_en.properties create mode 100644 src/main/resources/workflows/0.15/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.15/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.15/messages_en.properties create mode 100644 src/main/resources/workflows/0.16/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.16/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.16/messages_en.properties create mode 100644 src/main/resources/workflows/0.17/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.17/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.17/messages_en.properties create mode 100644 src/main/resources/workflows/0.18/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.18/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.18/messages_en.properties create mode 100644 src/main/resources/workflows/0.19/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.19/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.19/messages_en.properties create mode 100644 src/main/resources/workflows/0.2/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.2/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.2/messages_en.properties create mode 100644 src/main/resources/workflows/0.3/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.3/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.3/messages_en.properties create mode 100644 src/main/resources/workflows/0.4/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.4/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.4/messages_en.properties create mode 100644 src/main/resources/workflows/0.5/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.5/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.5/messages_en.properties create mode 100644 src/main/resources/workflows/0.6/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.6/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.6/messages_en.properties create mode 100644 src/main/resources/workflows/0.7/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.7/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.7/messages_en.properties create mode 100644 src/main/resources/workflows/0.8/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.8/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.8/messages_en.properties create mode 100644 src/main/resources/workflows/0.9/irida_workflow.xml create mode 100644 src/main/resources/workflows/0.9/irida_workflow_structure.ga create mode 100644 src/main/resources/workflows/0.9/messages_en.properties diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f9b791f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +# 0.1.0 + +* Initial release of example plugin. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..531cfe4 --- /dev/null +++ b/README.md @@ -0,0 +1,373 @@ +# IRIDA Example Pipeline Plugin + +This project contains an example pipeline implemented as a plugin for the [IRIDA][] bioinformatics analysis system. This can be used as a template for implementing your own pipelines within IRIDA. Please see the pipeline documentation at for more details. + +# Table of Contents + + * [IRIDA Example Pipeline Plugin](#irida-example-pipeline-plugin) + * [Building/Packaging](#buildingpackaging) + * [Installing IRIDA to local Maven repository](#installing-irida-to-local-maven-repository) + * [Building the plugin](#building-the-plugin) + * [Dependencies](#dependencies) + * [Using as a template for developing a plugin](#using-as-a-template-for-developing-a-plugin) + * [1. Place necessary pipeline files in src/main/resources/workflows](#1-place-necessary-pipeline-files-in-srcmainresourcesworkflows) + * [1.1. Creating pipeline files](#11-creating-pipeline-files) + * [1.2. Updating pipeline files](#12-updating-pipeline-files) + * [1.2.1. Modifying irida_workflow.xml](#121-modifying-irida_workflowxml) + * [1.2.2. Modifying messages_en.properties](#122-modifying-messages_enproperties) + * [2. Update src/main/java/ca/corefacility/bioinformatics/irida/plugins/ExamplePlugin.java](#2-update-srcmainjavacacorefacilitybioinformaticsiridapluginsexamplepluginjava) + * [3. (Optional) Implement an Updater class](#3-optional-implement-an-updater-class) + * [4. Update the pom.xml file](#4-update-the-pomxml-file) + * [4.1. Update the Maven version/info](#41-update-the-maven-versioninfo) + * [4.2. Update the properties section/plugin info](#42-update-the-properties-sectionplugin-info) + * [5. Build and Test](#5-build-and-test) + * [6. Distribute](#6-distribute) + +# Building/Packaging + +Building and packaging this code is accomplished using [Apache Maven][maven]. However, you will first need to install [IRIDA][] to your local Maven repository. The version of IRIDA you install will have to correspond to the version found in the `irida.version.compiletime` property in the [pom.xml][] file of this project. Right now, this is IRIDA version `19.01.3`. + +## Installing IRIDA to local Maven repository + +To install IRIDA to your local Maven repository please do the following: + +1. Clone the IRIDA project + +```bash +git clone https://github.com/phac-nml/irida.git +cd irida +``` + +2. Checkout appropriate version of IRIDA + +```bash +git checkout 19.01.3 +``` + +3. Install IRIDA to local repository + +```bash +mvn clean install -DskipTests +``` + +## Building the plugin + +Once you've installed IRIDA as a dependency, you can proceed to building this plugin. Please run the following commands: + +```bash +cd irida-plugin-example + +mvn clean package +``` + +Once complete, you should end up with a file `target/example-plugin-1.0-SNAPSHOT.jar` which can be installed as a plugin to IRIDA. + +If you have previously [setup IRIDA][irida-setup] before you may copy this JAR file to `/etc/irida/plugins` and restart IRIDA. The plugin should now show up in the **Analyses > Pipelines** section of IRIDA. + +![example-plugin-pipeline.png][] + +You should be able to run a pipeline with this plugin and get analysis results. + +![example-plugin-results.png][] + +And, you should be able to save and view these results in the IRIDA metadata table. + +![example-plugin-metadata.png][] + +# Dependencies + +The following dependencies are required in order to make use of this plugin. + +* [IRIDA][] >= 0.23.0 +* [Java][] >= 1.8 and [Maven][maven] (for building) + +# Using as a template for developing a plugin + +In order to use this project as a template for developing your own pluginable pipeline there are a few places you will need to change. + +## 1. Place necessary pipeline files in [src/main/resources/workflows][workflows-dir] + +The first set of files you will need to change are those under `src/main/resources/workflows`. The structure of this directory looks like: + +``` +workflows/ +└── 0.1.0 + ├── irida_workflow_structure.ga + ├── irida_workflow.xml + └── messages_en.properties +``` + +* The directory `0.1.0` corresponds to all files for a particular version of a pipeline (in this case `0.1.0`). Previous versions of the pipeline should each be kept in their own numbered directory (e.g., `0.1.0`, `0.2.0`) so that IRIDA can load up information about these pipelines. +* The file `irida_workflow_structure.ga` is a [Galaxy][] workflow file which is uploaded to a Galaxy instance by IRIDA before execution. +* The file `irida_workflow.xml` contains information about this particular pipeline used by IRIDA. +* The file `messages_en.properties` contains messages which will be displayed in the IRIDA UI. + +Please replace any existing files in this directory using the following instructions. + +### 1.1. Creating pipeline files + +The necessary files that go under the `workflows/` directory can be constructed manually (see the [IRIDA Pipeline development][irida-pipeline] documentation). However, an easier approach is to construct the files automatically using the [irida-wf-ga2xml][] software and then customize the generated files. + +No matter which method you use (manually constructing the pipeline files, or automatically constructing them) you will need to start out by building your Galaxy workflow. Please follow the instructions in the [IRIDA Pipelines][irida-pipeline-galaxy] documentation for how to do this. At the end, you should end up with a `workflow.ga` file exported from Galaxy, which is a JSON representation of your Galaxy workflow. Once you have this file (an example would be [src/main/resources/workflows/0.1.0/irida_workflow_structure.ga][workflow-structure]), you can run the following to automatically generate the other necessary files: + +```bash +java -jar irida-wf-ga2xml-1.0.0-SNAPSHOT-standalone.jar -n ReadInfo -t READ_INFO -W 0.1.0 -o output -i src/main/resources/workflows/0.1.0/irida_workflow_structure.ga +``` + +The meaning of the command-line options are as follows: + +* `-n ReadInfo`: The **name** of the pipeline, stored in the **irida_workflow.xml** file under `ReadInfo`. +* `-t READ_INFO`: The **type** of the pipeline, stored in the **irida_workflow.xml** file under `READ_INFO`. Corresponds to the `AnalysisType` object in the Java file listed above ([ExamplePlugin.java][example-plugin-java]). +* `-W 0.1.0`: The **version** of the pipeline, stored in the **irida_workflow.xml** file under `0.1.0`. +* `-o output`: The directory to store all the output files. +* `-i src/main/resources/workflows/0.1.0/irida_workflow_structure.ga`: The input Galaxy workflow file. + +Once complete, the output files will be located under **output/** and will look like: + +``` +output/ +└── ReadInfo + └── 0.1.0 + ├── irida_workflow_structure.ga + ├── irida_workflow.xml + └── messages_en.properties +``` + +You can directly move the `0.1.0` directory to `src/main/resources/workflows`. + +### 1.2. Updating pipeline files + +Once you've generated and moved your pipeline files to `src/main/resources/workflows`, you can make small adjustments to them as you see fit. + +#### 1.2.1. Modifying `irida_workflow.xml` + +In particular, you may want to make adjustments to `irida_workflow.xml` to add/remove/change the parameters. These are stored in the XML file like: + +```xml + + + + + + + + + + + +``` + +When loaded up in IRIDA, these will show up like: + +![pipeline-parameters.png][] + +You may also wish to modify the particular output files that get saved by IRIDA. These are recorded in: + +```xml + + + + +``` + +The `fileName` attribute should correspond to a particular name of an output file in the __*.ga__ workflow file (see [irida_workflow_stucture.ga][workflow-structure] or the [IRIDA Pipeline][irida-pipeline] documentation for more details). + +#### 1.2.2. Modifying `messages_en.properties` + +The file [src/main/resources/workflows/0.1.0/messages_en.properties][messages] contains the text that gets displayed by IRIDA for the pipeline. The file is in the form of `key = value` entries (the Java [.properties][properties] format). An example of this file would be: + +```properties +pipeline.parameters.modal-title.readinfo=ReadInfo Pipeline Parameters +workflow.READ_INFO.title=ReadInfo Pipeline +pipeline.h1.ReadInfo=ReadInfo Pipeline +pipeline.title.ReadInfo=Pipelines - ReadInfo +workflow.READ_INFO.description= + +pipeline.parameters.readinfo.Grep1-4-invert=Grep1-4-invert +pipeline.parameters.readinfo.Grep1-4-pattern=Grep1-4-pattern + +pipeline.parameters.readinfo.wc_gnu-5-include_header=wc_gnu-5-include_header +``` + +The entries like `workflow.READ_INFO.title=ReadInfo Pipeline` contain the text used to display the pipeline entry on the "Pipelines" page in the UI: + +![example-plugin-pipeline.png][] + +The entries like `pipeline.parameters.readinfo.Grep1-4-pattern=Grep1-4-pattern` contain information used to display the text when adjusting pipeline parameters: + +![pipeline-parameters.png][] + +The `Grep1-4-pattern` part corresponds to the **name** attribute under a `` entry in the **irida_workflow.xml** file: + +```xml + + + +``` + +## 2. Update [src/main/java/ca/corefacility/bioinformatics/irida/plugins/ExamplePlugin.java][example-plugin-java] + +This is the main class you will need to modify for your pipeline. The class can be located in any package you wish, and can have any name you wish. You will want to implement the two methods which are indicated as **required** in this file. You can also override the methods indicated as **optional** in the file for additional configuration. You should have a class looking like: + +```java +public class ExamplePlugin extends Plugin { + + public static final AnalysisType MY_ANALYSIS_TYPE = new AnalysisType("MY_ANALYSIS_TYPE"); + + public ExamplePlugin(PluginWrapper wrapper) { + super(wrapper); + } + + @Extension + public static class PluginInfo implements IridaPlugin { + + /*** Required ***/ + + @Override + public AnalysisType getAnalysisType() { + return new AnalysisType("READ_INFO"); + } + + @Override + public UUID getDefaultWorkflowUUID() { + return UUID.fromString("79d90ca8-00ae-441b-b5c7-193c9e85a968"); + } + + /*** Optional ***/ + + @Override + public Optional getBackgroundColor() { + return Optional.of(Color.decode("#dd1c77")); + } + + @Override + public Optional getTextColor() { + return Optional.of(Color.BLACK); + } + + @Override + public Optional getUpdater(MetadataTemplateService metadataTemplateService, + SampleService sampleService, IridaWorkflowsService iridaWorkflowsService) throws IridaPluginException { + return Optional.of(new ExamplePluginUpdater(metadataTemplateService, sampleService, iridaWorkflowsService)); + } + } +} +``` + +The purpose of each method is as follows: + +* `getAnalysisType()`: This returns an `AnalysisType` object which stores the type of analysis as a `String` (matches the `READ_INFO` entry in the **irida_workflow.xml** file). + +* `getDefaultWorkflowUUID()`: This returns the id of the workflow (matching the `79d90ca8-00ae-441b-b5c7-193c9e85a968` entry in the **irida_workflow.xml** file). Returning the appropriate value here is especially important if there are multiple versions of the same pipeline in this plugin (this will define the default or "latest" version). + +* `getBackgroundColor()` and `getTextColor()`: The background and text color to display in the UI (defaults to grey for background and black for text). This is **optional**. See example below: + + ![example-plugin-pipeline.png][] + +* `getUpdater()`: Gets an instance of a class used for post-processing on pipeline results (e.g., updating the IRIDA metadata). This is **optional**. Additional documentation about this class is described below. + +## 3. (Optional) Implement an [Updater][irida-updater] class + +An [Updater][irida-updater] class is used to perform post-processing on the resulting files, primarily intended to write back pipeline results into the IRIDA metadata system. Please see the [ExamplePluginUpdater.java][irida-updater] for an example implementation, or the built-in implementations in . Implementing this class is optional for your pipeline. + +If you do implement this class, you will also want to make sure to update the `messages_en.properties` file with an entry like: + +```properties +workflow.label.share-analysis-samples.READ_INFO=Save sequence read information to Project Line List Metadata +``` + +This contains the message to display asking the user if they wish to **Save Results to Samples** for their pipeline before launching the pipeline. + +![example-plugin-save-results.png][] + +## 4. Update the [pom.xml][] file + +You will have to update the `pom.xml` file in order to set version information and other metadata about your pipeline. + +### 4.1. Update the Maven version/info + +You will want to update the Maven version/information section for this particular plugin. That is: + +```xml +ca.corefacility.bioinformatics.irida.plugins +example-plugin +0.1.0-SNAPSHOT +``` + +Please see the [Maven Documentation][maven-min-pom] for more details. + +### 4.2. Update the `properties` section/plugin info + +The `properties` section contains additional information you will have to update. In particular: + +```xml +example-plugin +ca.corefacility.bioinformatics.irida.plugins.QIPhyloPlugin +0.1.0 +Aaron Petkau + +1.0.0 + +0.23.0-SNAPSHOT +``` + +The `` entries contain information about your particular plugin as defined by [PF4J][pf4j-start]. + +* `plugin.id`: An identifier for your plugin. +* `plugin.class`: The fully-qualified name of the class implementing this plugin (in this case, the [ExamplePlugin.java][example-plugin-java] class). +* `plugin.version`: A version number for your plugin. +* `plugin.provider`: The provider of this plugin. +* `plugin.dependencies`: Other IRIDA plugins this plugin depends on. +* `plugin.requires.runtime`: The **exact** version of the IRIDA plugin API this plugin requires at runtime (stored in the [IridaPlugin.java][irida-plugin-java] interface). You normally don't need to update this unless the version is also updated in IRIDA. + +The `` contains the exact IRIDA version this plugin will need to be compiled against (compile-time version). + +## 5. Build and Test + +Once you've made all the updates, you can try building and testing your plugin. To build your plugin, you can run: + +```bash +mvn clean package +``` + +You should find your packaged plugin JAR file in `target/` (e.g., `target/example-plugin-0.1.0-SNAPSHOT.jar`). + +To test out this plugin, please copy to `/etc/irida/plugins` on a machine with IRIDA installed and restart IRIDA. Your plugin should show up in the **Analyses > Pipelines** page in IRIDA. + +![example-plugin-pipeline.png][] + +You should also be able to see messages like below in the IRIDA log file when starting up: + +``` +INFO org.pf4j.AbstractPluginManager:801 - Plugin 'example-plugin@0.1.0' resolved +INFO org.pf4j.AbstractPluginManager:320 - Start plugin 'example-plugin@0.1.0' +DEBUG ca.corefacility.bioinformatics.irida.config.services.IridaPluginConfig:45 - Loaded 1 valid pipeline plugins. +``` + +## 6. Distribute + +Once you've successfully built your plugin, you can distribute the JAR file to other IRIDA users to install in their instances. + +[maven]: https://maven.apache.org/ +[IRIDA]: http://irida.ca/ +[Galaxy]: https://galaxyproject.org/ +[Java]: https://www.java.com/ +[irida-pipeline]: https://irida.corefacility.ca/documentation/developer/tools/pipelines/ +[irida-pipeline-galaxy]: https://irida.corefacility.ca/documentation/developer/tools/pipelines/#galaxy-workflow-development +[irida-wf-ga2xml]: https://github.com/phac-nml/irida-wf-ga2xml +[pom.xml]: pom.xml +[workflows-dir]: src/main/resources/workflows +[workflow-structure]: src/main/resources/workflows/0.1.0/irida_workflow_structure.ga +[example-plugin-java]: src/main/java/ca/corefacility/bioinformatics/irida/plugins/ExamplePlugin.java +[irida-plugin-java]: https://github.com/phac-nml/irida/tree/development/src/main/java/ca/corefacility/bioinformatics/irida/plugins/IridaPlugin.java +[irida-updater]: src/main/java/ca/corefacility/bioinformatics/irida/plugins/ExamplePluginUpdater.java +[irida-setup]: https://irida.corefacility.ca/documentation/administrator/index.html +[properties]: https://en.wikipedia.org/wiki/.properties +[messages]: src/main/resources/workflows/0.1.0/messages_en.properties +[maven-min-pom]: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Minimal_POM +[pf4j-start]: https://pf4j.org/doc/getting-started.html +[example-plugin-results.png]: doc/images/example-plugin-results.png +[example-plugin-pipeline.png]: doc/images/example-plugin-pipeline.png +[example-plugin-metadata.png]: doc/images/example-plugin-metadata.png +[pipeline-parameters.png]: doc/images/pipeline-parameters.png +[example-plugin-save-results.png]: doc/images/example-plugin-save-results.png diff --git a/doc/images/example-plugin-metadata.png b/doc/images/example-plugin-metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..e34129bfc72d6797791252b7746803625f138bc1 GIT binary patch literal 45967 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 literal 0 HcmV?d00001 diff --git a/doc/images/example-plugin-results.png b/doc/images/example-plugin-results.png new file mode 100644 index 0000000000000000000000000000000000000000..a1c9e5ac61563b7de3e1a2ccdc576fd105e00082 GIT binary patch literal 71379 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%0AvUCwNlm{4 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 literal 0 HcmV?d00001 diff --git a/doc/images/example-plugin-save-results.png b/doc/images/example-plugin-save-results.png new file mode 100644 index 0000000000000000000000000000000000000000..20aa244141d3b38e85436bdb64a76fccb41df651 GIT binary patch literal 23000 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 literal 0 HcmV?d00001 diff --git a/doc/images/pipeline-parameters.png b/doc/images/pipeline-parameters.png new file mode 100644 index 0000000000000000000000000000000000000000..38f04c395c35717fe48c712a5d1b5a24ebdf39b8 GIT binary patch literal 21087 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 +

IRIDA Example Pipeline Plugin

+

This project contains an example pipeline implemented as a plugin for the IRIDA bioinformatics analysis system. This can be used as a template for implementing your own pipelines within IRIDA. Please see the pipeline documentation at https://irida.corefacility.ca/documentation/developer/tools/pipelines/ for more details.

+

Table of Contents

+ +

Building/Packaging

+

Building and packaging this code is accomplished using Apache Maven. However, you will first need to install IRIDA to your local Maven repository. The version of IRIDA you install will have to correspond to the version found in the irida.version.compiletime property in the pom.xml file of this project. Right now, this is IRIDA version 19.01.3.

+

Installing IRIDA to local Maven repository

+

To install IRIDA to your local Maven repository please do the following:

+
    +
  1. Clone the IRIDA project
  2. +
+

bash +git clone https://github.com/phac-nml/irida.git +cd irida

+
    +
  1. Checkout appropriate version of IRIDA
  2. +
+

bash +git checkout 19.01.3

+
    +
  1. Install IRIDA to local repository
  2. +
+

bash +mvn clean install -DskipTests

+

Building the plugin

+

Once you've installed IRIDA as a dependency, you can proceed to building this plugin. Please run the following commands:

+

```bash +cd irida-plugin-example

+

mvn clean package +```

+

Once complete, you should end up with a file target/example-plugin-1.0-SNAPSHOT.jar which can be installed as a plugin to IRIDA.

+

If you have previously setup IRIDA before you may copy this JAR file to /etc/irida/plugins and restart IRIDA. The plugin should now show up in the Analyses > Pipelines section of IRIDA.

+

example-plugin-pipeline.png

+

You should be able to run a pipeline with this plugin and get analysis results.

+

example-plugin-results.png

+

And, you should be able to save and view these results in the IRIDA metadata table.

+

example-plugin-metadata.png

+

Dependencies

+

The following dependencies are required in order to make use of this plugin.

+ +

Using as a template for developing a plugin

+

In order to use this project as a template for developing your own pluginable pipeline there are a few places you will need to change.

+

1. Place necessary pipeline files in src/main/resources/workflows

+

The first set of files you will need to change are those under src/main/resources/workflows. The structure of this directory looks like:

+

workflows/ +��������� 0.1.0 + ��������� irida_workflow_structure.ga + ��������� irida_workflow.xml + ��������� messages_en.properties

+
    +
  • The directory 0.1.0 corresponds to all files for a particular version of a pipeline (in this case 0.1.0). Previous versions of the pipeline should each be kept in their own numbered directory (e.g., 0.1.0, 0.2.0) so that IRIDA can load up information about these pipelines.
  • +
  • The file irida_workflow_structure.ga is a Galaxy workflow file which is uploaded to a Galaxy instance by IRIDA before execution.
  • +
  • The file irida_workflow.xml contains information about this particular pipeline used by IRIDA.
  • +
  • The file messages_en.properties contains messages which will be displayed in the IRIDA UI.
  • +
+

Please replace any existing files in this directory using the following instructions.

+

1.1. Creating pipeline files

+

The necessary files that go under the workflows/ directory can be constructed manually (see the IRIDA Pipeline development documentation). However, an easier approach is to construct the files automatically using the irida-wf-ga2xml software and then customize the generated files.

+

No matter which method you use (manually constructing the pipeline files, or automatically constructing them) you will need to start out by building your Galaxy workflow. Please follow the instructions in the IRIDA Pipelines documentation for how to do this. At the end, you should end up with a workflow.ga file exported from Galaxy, which is a JSON representation of your Galaxy workflow. Once you have this file (an example would be src/main/resources/workflows/0.1.0/irida_workflow_structure.ga), you can run the following to automatically generate the other necessary files:

+

bash +java -jar irida-wf-ga2xml-1.0.0-SNAPSHOT-standalone.jar -n ReadInfo -t READ_INFO -W 0.1.0 -o output -i src/main/resources/workflows/0.1.0/irida_workflow_structure.ga

+

The meaning of the command-line options are as follows:

+
    +
  • -n ReadInfo: The name of the pipeline, stored in the irida_workflow.xml file under <name>ReadInfo</name>.
  • +
  • -t READ_INFO: The type of the pipeline, stored in the irida_workflow.xml file under <analysisType>READ_INFO</analysisType>. Corresponds to the AnalysisType object in the Java file listed above (ExamplePlugin.java).
  • +
  • -W 0.1.0: The version of the pipeline, stored in the irida_workflow.xml file under <version>0.1.0</version>.
  • +
  • -o output: The directory to store all the output files.
  • +
  • -i src/main/resources/workflows/0.1.0/irida_workflow_structure.ga: The input Galaxy workflow file.
  • +
+

Once complete, the output files will be located under output/ and will look like:

+

output/ +��������� ReadInfo + ��������� 0.1.0 + ��������� irida_workflow_structure.ga + ��������� irida_workflow.xml + ��������� messages_en.properties

+

You can directly move the 0.1.0 directory to src/main/resources/workflows.

+

1.2. Updating pipeline files

+

Once you've generated and moved your pipeline files to src/main/resources/workflows, you can make small adjustments to them as you see fit.

+

1.2.1. Modifying irida_workflow.xml

+

In particular, you may want to make adjustments to irida_workflow.xml to add/remove/change the parameters. These are stored in the XML file like:

+

xml +<parameters> + <parameter name="Grep1-4-invert" defaultValue="false"> + <toolParameter toolId="Grep1" parameterName="invert"/> + </parameter> + <parameter name="Grep1-4-pattern" defaultValue="^@"> + <toolParameter toolId="Grep1" parameterName="pattern"/> + </parameter> + <parameter name="wc_gnu-5-include_header" defaultValue="false"> + <toolParameter toolId="wc_gnu" parameterName="include_header"/> + </parameter> +</parameters>

+

When loaded up in IRIDA, these will show up like:

+

pipeline-parameters.png

+

You may also wish to modify the particular output files that get saved by IRIDA. These are recorded in:

+

xml +<outputs> + <output name="hash.txt" fileName="hash.txt"/> + <output name="read-count.txt" fileName="read-count.txt"/> +</outputs>

+

The fileName attribute should correspond to a particular name of an output file in the *.ga workflow file (see irida_workflow_stucture.ga or the IRIDA Pipeline documentation for more details).

+

1.2.2. Modifying messages_en.properties

+

The file src/main/resources/workflows/0.1.0/messages_en.properties contains the text that gets displayed by IRIDA for the pipeline. The file is in the form of key = value entries (the Java .properties format). An example of this file would be:

+

```properties +pipeline.parameters.modal-title.readinfo=ReadInfo Pipeline Parameters +workflow.READ_INFO.title=ReadInfo Pipeline +pipeline.h1.ReadInfo=ReadInfo Pipeline +pipeline.title.ReadInfo=Pipelines - ReadInfo +workflow.READ_INFO.description=

+

pipeline.parameters.readinfo.Grep1-4-invert=Grep1-4-invert +pipeline.parameters.readinfo.Grep1-4-pattern=Grep1-4-pattern

+

pipeline.parameters.readinfo.wc_gnu-5-include_header=wc_gnu-5-include_header +```

+

The entries like workflow.READ_INFO.title=ReadInfo Pipeline contain the text used to display the pipeline entry on the "Pipelines" page in the UI:

+

example-plugin-pipeline.png

+

The entries like pipeline.parameters.readinfo.Grep1-4-pattern=Grep1-4-pattern contain information used to display the text when adjusting pipeline parameters:

+

pipeline-parameters.png

+

The Grep1-4-pattern part corresponds to the name attribute under a <parameter> entry in the irida_workflow.xml file:

+

xml +<parameter name="Grep1-4-pattern" defaultValue="^@"> + <toolParameter toolId="Grep1" parameterName="pattern"/> +</parameter>

+

2. Update src/main/java/ca/corefacility/bioinformatics/irida/plugins/ExamplePlugin.java

+

This is the main class you will need to modify for your pipeline. The class can be located in any package you wish, and can have any name you wish. You will want to implement the two methods which are indicated as required in this file. You can also override the methods indicated as optional in the file for additional configuration. You should have a class looking like:

+

```java +public class ExamplePlugin extends Plugin {

+
public static final AnalysisType MY_ANALYSIS_TYPE = new AnalysisType("MY_ANALYSIS_TYPE");
+
+public ExamplePlugin(PluginWrapper wrapper) {
+    super(wrapper);
+}
+
+@Extension
+public static class PluginInfo implements IridaPlugin {
+
+    /*** Required ***/
+
+    @Override
+    public AnalysisType getAnalysisType() {
+        return new AnalysisType("READ_INFO");
+    }
+
+    @Override
+    public UUID getDefaultWorkflowUUID() {
+        return UUID.fromString("79d90ca8-00ae-441b-b5c7-193c9e85a968");
+    }
+
+    /*** Optional ***/
+
+    @Override
+    public Optional<Color> getBackgroundColor() {
+        return Optional.of(Color.decode("#dd1c77"));
+    }
+
+    @Override
+    public Optional<Color> getTextColor() {
+        return Optional.of(Color.BLACK);
+    }
+
+    @Override
+    public Optional<AnalysisSampleUpdater> getUpdater(MetadataTemplateService metadataTemplateService,
+            SampleService sampleService, IridaWorkflowsService iridaWorkflowsService) throws IridaPluginException {
+        return Optional.of(new ExamplePluginUpdater(metadataTemplateService, sampleService, iridaWorkflowsService));
+    }
+}
+
+

} +```

+

The purpose of each method is as follows:

+
    +
  • +

    getAnalysisType(): This returns an AnalysisType object which stores the type of analysis as a String (matches the <analysisType>READ_INFO</analysisType> entry in the irida_workflow.xml file).

    +
  • +
  • +

    getDefaultWorkflowUUID(): This returns the id of the workflow (matching the <id>79d90ca8-00ae-441b-b5c7-193c9e85a968</id> entry in the irida_workflow.xml file). Returning the appropriate value here is especially important if there are multiple versions of the same pipeline in this plugin (this will define the default or "latest" version).

    +
  • +
  • +

    getBackgroundColor() and getTextColor(): The background and text color to display in the UI (defaults to grey for background and black for text). This is optional. See example below:

    +
  • +
+

example-plugin-pipeline.png

+
    +
  • getUpdater(): Gets an instance of a class used for post-processing on pipeline results (e.g., updating the IRIDA metadata). This is optional. Additional documentation about this class is described below.
  • +
+

3. (Optional) Implement an Updater class

+

An Updater class is used to perform post-processing on the resulting files, primarily intended to write back pipeline results into the IRIDA metadata system. Please see the ExamplePluginUpdater.java for an example implementation, or the built-in implementations in https://github.com/phac-nml/irida/tree/development/src/main/java/ca/corefacility/bioinformatics/irida/pipeline/results/impl. Implementing this class is optional for your pipeline.

+

If you do implement this class, you will also want to make sure to update the messages_en.properties file with an entry like:

+

properties +workflow.label.share-analysis-samples.READ_INFO=Save sequence read information to Project Line List Metadata

+

This contains the message to display asking the user if they wish to Save Results to Samples for their pipeline before launching the pipeline.

+

example-plugin-save-results.png

+

4. Update the pom.xml file

+

You will have to update the pom.xml file in order to set version information and other metadata about your pipeline.

+

4.1. Update the Maven version/info

+

You will want to update the Maven version/information section for this particular plugin. That is:

+

xml +<groupId>ca.corefacility.bioinformatics.irida.plugins</groupId> +<artifactId>example-plugin</artifactId> +<version>0.1.0-SNAPSHOT</version>

+

Please see the Maven Documentation for more details.

+

4.2. Update the properties section/plugin info

+

The properties section contains additional information you will have to update. In particular:

+

```xml +example-plugin +ca.corefacility.bioinformatics.irida.plugins.QIPhyloPlugin +0.1.0 +Aaron Petkau + +1.0.0

+

0.23.0-SNAPSHOT +```

+

The <plugin.*> entries contain information about your particular plugin as defined by PF4J.

+
    +
  • plugin.id: An identifier for your plugin.
  • +
  • plugin.class: The fully-qualified name of the class implementing this plugin (in this case, the ExamplePlugin.java class).
  • +
  • plugin.version: A version number for your plugin.
  • +
  • plugin.provider: The provider of this plugin.
  • +
  • plugin.dependencies: Other IRIDA plugins this plugin depends on.
  • +
  • plugin.requires.runtime: The exact version of the IRIDA plugin API this plugin requires at runtime (stored in the IridaPlugin.java interface). You normally don't need to update this unless the version is also updated in IRIDA.
  • +
+

The <irida.version.compiletime> contains the exact IRIDA version this plugin will need to be compiled against (compile-time version).

+

5. Build and Test

+

Once you've made all the updates, you can try building and testing your plugin. To build your plugin, you can run:

+

bash +mvn clean package

+

You should find your packaged plugin JAR file in target/ (e.g., target/example-plugin-0.1.0-SNAPSHOT.jar).

+

To test out this plugin, please copy to /etc/irida/plugins on a machine with IRIDA installed and restart IRIDA. Your plugin should show up in the Analyses > Pipelines page in IRIDA.

+

example-plugin-pipeline.png

+

You should also be able to see messages like below in the IRIDA log file when starting up:

+

INFO org.pf4j.AbstractPluginManager:801 - Plugin 'example-plugin@0.1.0' resolved +INFO org.pf4j.AbstractPluginManager:320 - Start plugin 'example-plugin@0.1.0' +DEBUG ca.corefacility.bioinformatics.irida.config.services.IridaPluginConfig:45 - Loaded 1 valid pipeline plugins.

+

6. Distribute

+

Once you've successfully built your plugin, you can distribute the JAR file to other IRIDA users to install in their instances.

+ \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..b4cce9a --- /dev/null +++ b/pom.xml @@ -0,0 +1,85 @@ + + + 4.0.0 + + ca.corefacility.bioinformatics.irida.plugins + qi-phylo + 0.1.0-SNAPSHOT + + + + + qi-phylo + ca.corefacility.bioinformatics.irida.plugins.QIPhyloPlugin + 0.2.0 + Nabil-Fareed Alikhan + + 1.0.0 + + + 19.09-SNAPSHOT + + + 2.4.0 + + + 1.8 + + UTF-8 + + + + + + ca.corefacility.bioinformatics + irida + ${irida.version.compiletime} + classes + provided + + + + org.pf4j + pf4j + ${pf4j.version} + provided + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + ${java.version} + ${java.version} + true + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.1.1 + + + + + ${plugin.class} + ${plugin.dependencies} + ${plugin.id} + ${plugin.provider} + ${plugin.version} + ${plugin.requires.runtime} + + + + + + + diff --git a/src/main/java/ca/corefacility/bioinformatics/irida/plugins/QIPhyloPlugin.java b/src/main/java/ca/corefacility/bioinformatics/irida/plugins/QIPhyloPlugin.java new file mode 100644 index 0000000..b858a74 --- /dev/null +++ b/src/main/java/ca/corefacility/bioinformatics/irida/plugins/QIPhyloPlugin.java @@ -0,0 +1,110 @@ +package ca.corefacility.bioinformatics.irida.plugins; + +import java.awt.Color; +import java.util.Optional; +import java.util.UUID; + +import org.pf4j.Extension; +import org.pf4j.Plugin; +import org.pf4j.PluginWrapper; + +import ca.corefacility.bioinformatics.irida.model.workflow.analysis.type.AnalysisType; +import ca.corefacility.bioinformatics.irida.pipeline.results.updater.AnalysisSampleUpdater; +import ca.corefacility.bioinformatics.irida.service.sample.MetadataTemplateService; +import ca.corefacility.bioinformatics.irida.service.sample.SampleService; +import ca.corefacility.bioinformatics.irida.service.workflow.IridaWorkflowsService; + +/** + * An example {@link IridaPlugin} implementation which will extract some + * information from the sequencing reads. + */ +public class QIPhyloPlugin extends Plugin { + + /** + * The {@link AnalysisType} used by this plugin. This wraps around a string and + * is used to store the type of the analysis pipeline (which should be unique + * for each pipeline). + */ + public static final AnalysisType QI_PHYLO = new AnalysisType("QI_PHYLO"); + + public QIPhyloPlugin(PluginWrapper wrapper) { + super(wrapper); + } + + /** + * This class defines information about this particular plugin. On start-up, + * IRIDA will make use of the information provided by this class to integrate + * the plugin pipeline. + */ + @Extension + public static class PluginInfo implements IridaPlugin { + + /******************************************************************************* + * Required methods + * + * These methods are required to be overridden when implementing a pipeline as a + * plugin. + *******************************************************************************/ + + /** + * Gets the particular {@link AnalysisType} object for this workflow. This + * should correspond to the analysisType entry in the + * irida_workflow.xml file. + * + *
+		 * {@code READ_INFO}
+		 * 
+ * + * @return The particular {@link AnalysisType} for this pipeline. + */ + @Override + public AnalysisType getAnalysisType() { + return QI_PHYLO; + } + + /** + * Gets the particular workflow id. This should correspond to the + * id entry in the irida_workflow.xml file. + * + *
+		 * {@code 79d90ca8-00ae-441b-b5c7-193c9e85a968}
+		 * 
+ * + * @return A {@link UUID} defining the id of this pipeline. + */ + @Override + public UUID getDefaultWorkflowUUID() { + return UUID.fromString("83476350-794b-40b3-96b9-54c4ee94af59"); + } + + /******************************************************************************* + * Optional methods + * + * These methods are not required to be overridden but can be used to adjust the + * appearance/behavior of the pipeline. + *******************************************************************************/ + + /** + * Defines the background color in the IRIDA UI corresponding to this pipeline. + * + * @return An {@link Optional} color for the background of the IRIDA UI for this + * pipeline. + */ + @Override + public Optional getBackgroundColor() { + return Optional.of(Color.decode("#b7a7b2")); + } + + /** + * Defines the text color in the IRIDA UI corresponding to this pipeline. + * + * @return An {@link Optional} color for the text of the IRIDA UI for this + * pipeline. + */ + @Override + public Optional getTextColor() { + return Optional.of(Color.BLACK); + } + + } +} diff --git a/src/main/resources/workflows/0.1/irida_workflow.xml b/src/main/resources/workflows/0.1/irida_workflow.xml new file mode 100644 index 0000000..92067f8 --- /dev/null +++ b/src/main/resources/workflows/0.1/irida_workflow.xml @@ -0,0 +1,263 @@ + + 8ede0691-cc85-4ac2-a423-f33a91dea7e4 + QIPhylo + 0.1 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.1/irida_workflow_structure.ga b/src/main/resources/workflows/0.1/irida_workflow_structure.ga new file mode 100644 index 0000000..9d34c57 --- /dev/null +++ b/src/main/resources/workflows/0.1/irida_workflow_structure.ga @@ -0,0 +1,460 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "dff0da45-bc59-423b-b7d9-6e58da529feb" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "252941f3-c784-437a-8642-58f5aa1deed6" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool snippy", + "name": "ref" + }, + { + "description": "runtime parameter for tool snippy", + "name": "fastq_input" + } + ], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snpgff", + "type": "gff3" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "snpsum", + "type": "tabular" + }, + { + "name": "snplog", + "type": "txt" + }, + { + "name": "snpalign", + "type": "fasta" + }, + { + "name": "snpconsensus", + "type": "fasta" + }, + { + "name": "snpsdepth", + "type": "tabular" + }, + { + "name": "snpsbam", + "type": "bam" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnpalign": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpalign" + }, + "HideDatasetActionsnpconsensus": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpconsensus" + }, + "HideDatasetActionsnpgff": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpgff" + }, + "HideDatasetActionsnplog": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snplog" + }, + "HideDatasetActionsnpsbam": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpsbam" + }, + "HideDatasetActionsnpsdepth": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpsdepth" + }, + "HideDatasetActionsnpsum": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpsum" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", + "tool_version": null, + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool snippy-core", + "name": "indirs" + } + ], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "full_alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "HideDatasetActionfull_alignment_fasta": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "full_alignment_fasta" + }, + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": null, + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 1, \\\"m\\\": \\\"\\\", \\\"opt_custommodel\\\": \\\"false\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": null, + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "79de3809-f91a-41ad-941b-fdac758a4ccc", + "version": 3 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.1/messages_en.properties b/src/main/resources/workflows/0.1/messages_en.properties new file mode 100644 index 0000000..8e2ef1b --- /dev/null +++ b/src/main/resources/workflows/0.1/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Jul 04 14:23:10 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Jul 04 14:23:10 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Jul 04 14:23:10 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Jul 04 14:23:10 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.10/irida_workflow.xml b/src/main/resources/workflows/0.10/irida_workflow.xml new file mode 100644 index 0000000..a0a7443 --- /dev/null +++ b/src/main/resources/workflows/0.10/irida_workflow.xml @@ -0,0 +1,266 @@ + + 54bb0ebf-ed18-44f6-89b1-1969f1fc4187 + QIPhylo + 0.10 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.10/irida_workflow_structure.ga b/src/main/resources/workflows/0.10/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.10/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.10/messages_en.properties b/src/main/resources/workflows/0.10/messages_en.properties new file mode 100644 index 0000000..ba2cce0 --- /dev/null +++ b/src/main/resources/workflows/0.10/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 11:19:52 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.10 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 11:19:52 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 11:19:52 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 11:19:52 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.11/irida_workflow.xml b/src/main/resources/workflows/0.11/irida_workflow.xml new file mode 100644 index 0000000..a047923 --- /dev/null +++ b/src/main/resources/workflows/0.11/irida_workflow.xml @@ -0,0 +1,266 @@ + + 83476350-794b-40b3-96b9-54c4ee94af59 + QIPhylo + 0.11 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.11/irida_workflow_structure.ga b/src/main/resources/workflows/0.11/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.11/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.11/messages_en.properties b/src/main/resources/workflows/0.11/messages_en.properties new file mode 100644 index 0000000..0a7d10a --- /dev/null +++ b/src/main/resources/workflows/0.11/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 11:22:20 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.11 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 11:22:20 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 11:22:20 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 11:22:20 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.12/irida_workflow.xml b/src/main/resources/workflows/0.12/irida_workflow.xml new file mode 100644 index 0000000..90cf8b9 --- /dev/null +++ b/src/main/resources/workflows/0.12/irida_workflow.xml @@ -0,0 +1,266 @@ + + f94e7dc2-9ffd-418c-a349-c529aab5739f + QIPhylo + 0.12 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.12/irida_workflow_structure.ga b/src/main/resources/workflows/0.12/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.12/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.12/messages_en.properties b/src/main/resources/workflows/0.12/messages_en.properties new file mode 100644 index 0000000..8a85f3d --- /dev/null +++ b/src/main/resources/workflows/0.12/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 14:08:23 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 14:08:23 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 14:08:23 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 14:08:23 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.13/irida_workflow.xml b/src/main/resources/workflows/0.13/irida_workflow.xml new file mode 100644 index 0000000..7b4bca4 --- /dev/null +++ b/src/main/resources/workflows/0.13/irida_workflow.xml @@ -0,0 +1,266 @@ + + 6ff310d4-2368-4e5b-b6d7-9c0d75874ce3 + QIPhylo + 0.13 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.13/irida_workflow_structure.ga b/src/main/resources/workflows/0.13/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.13/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.13/messages_en.properties b/src/main/resources/workflows/0.13/messages_en.properties new file mode 100644 index 0000000..a74d141 --- /dev/null +++ b/src/main/resources/workflows/0.13/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 14:13:59 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 14:13:59 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 14:13:59 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 14:13:59 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.14/irida_workflow.xml b/src/main/resources/workflows/0.14/irida_workflow.xml new file mode 100644 index 0000000..586ad4d --- /dev/null +++ b/src/main/resources/workflows/0.14/irida_workflow.xml @@ -0,0 +1,266 @@ + + c802eeb9-ba1f-441c-b679-2eb5d52646d0 + QIPhylo + 0.14 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.14/irida_workflow_structure.ga b/src/main/resources/workflows/0.14/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.14/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.14/messages_en.properties b/src/main/resources/workflows/0.14/messages_en.properties new file mode 100644 index 0000000..f9af264 --- /dev/null +++ b/src/main/resources/workflows/0.14/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 14:37:36 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 14:37:36 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 14:37:36 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 14:37:36 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.15/irida_workflow.xml b/src/main/resources/workflows/0.15/irida_workflow.xml new file mode 100644 index 0000000..a1cffab --- /dev/null +++ b/src/main/resources/workflows/0.15/irida_workflow.xml @@ -0,0 +1,266 @@ + + 34b8964a-6750-49a3-b1a3-562ade7bcbab + QIPhylo + 0.15 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.15/irida_workflow_structure.ga b/src/main/resources/workflows/0.15/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.15/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.15/messages_en.properties b/src/main/resources/workflows/0.15/messages_en.properties new file mode 100644 index 0000000..1835162 --- /dev/null +++ b/src/main/resources/workflows/0.15/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 14:54:56 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 14:54:56 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 14:54:56 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 14:54:56 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.16/irida_workflow.xml b/src/main/resources/workflows/0.16/irida_workflow.xml new file mode 100644 index 0000000..2f226fe --- /dev/null +++ b/src/main/resources/workflows/0.16/irida_workflow.xml @@ -0,0 +1,266 @@ + + 8e01d923-2c4c-4529-923e-aaec4b604d1e + QIPhylo + 0.16 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.16/irida_workflow_structure.ga b/src/main/resources/workflows/0.16/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.16/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.16/messages_en.properties b/src/main/resources/workflows/0.16/messages_en.properties new file mode 100644 index 0000000..9599a54 --- /dev/null +++ b/src/main/resources/workflows/0.16/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Mon Sep 09 16:02:02 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 16:02:02 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 16:02:02 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 16:02:02 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.17/irida_workflow.xml b/src/main/resources/workflows/0.17/irida_workflow.xml new file mode 100644 index 0000000..4107ae9 --- /dev/null +++ b/src/main/resources/workflows/0.17/irida_workflow.xml @@ -0,0 +1,266 @@ + + e40c462d-6d11-4aad-a87a-f1e5756e0b5e + QIPhylo + 0.17 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.17/irida_workflow_structure.ga b/src/main/resources/workflows/0.17/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.17/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.17/messages_en.properties b/src/main/resources/workflows/0.17/messages_en.properties new file mode 100644 index 0000000..c077a00 --- /dev/null +++ b/src/main/resources/workflows/0.17/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Fri Sep 13 13:37:40 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Fri Sep 13 13:37:40 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Fri Sep 13 13:37:40 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Fri Sep 13 13:37:40 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.18/irida_workflow.xml b/src/main/resources/workflows/0.18/irida_workflow.xml new file mode 100644 index 0000000..bc0143c --- /dev/null +++ b/src/main/resources/workflows/0.18/irida_workflow.xml @@ -0,0 +1,266 @@ + + 5a6c986b-bea2-477d-9d64-cba56eca2ba1 + QIPhylo + 0.18 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.18/irida_workflow_structure.ga b/src/main/resources/workflows/0.18/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.18/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.18/messages_en.properties b/src/main/resources/workflows/0.18/messages_en.properties new file mode 100644 index 0000000..6f001da --- /dev/null +++ b/src/main/resources/workflows/0.18/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Fri Sep 13 14:13:59 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Fri Sep 13 14:13:59 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Fri Sep 13 14:13:59 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Fri Sep 13 14:13:59 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.19/irida_workflow.xml b/src/main/resources/workflows/0.19/irida_workflow.xml new file mode 100644 index 0000000..95c5124 --- /dev/null +++ b/src/main/resources/workflows/0.19/irida_workflow.xml @@ -0,0 +1,266 @@ + + 9769036f-19a3-4ad5-9b13-0d3311dc51ad + QIPhylo + 0.19 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 87daf702e477 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.19/irida_workflow_structure.ga b/src/main/resources/workflows/0.19/irida_workflow_structure.ga new file mode 100644 index 0000000..816ea6c --- /dev/null +++ b/src/main/resources/workflows/0.19/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "bb6527ee-c776-450b-b26d-2f921145cc28" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "99ee65bf-a25a-4de9-91ba-466588140ab4" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1409, + "top": 145 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "consensus.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "iqtree.mldist" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "bootstrap.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "mltree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.12", + "tool_shed_repository": { + "changeset_revision": "87daf702e477", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"fast\\\": \\\"true\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.12", + "type": "tool", + "uuid": "220797f8-a79b-4c2f-8279-4a51b3f0645a", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "ce01f9aa-f72e-4646-b371-c872e9615f16" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "81b003f2-c8b7-4a89-80cd-547b28fcc3c2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "f5bbacb0-d0f4-4992-bd34-b8a6dc4935ae" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "2dd7934e-2f1b-4eed-a390-7bc5d3fd82a5" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "3376b142-b48a-4f76-ad41-19c54980ec28" + }, + { + "label": null, + "output_name": "contree", + "uuid": "dbba944f-75a4-4685-ad8f-1ada2306f53f" + } + ] + } + }, + "tags": [], + "uuid": "a62d7618-f6b6-4a95-b264-fb17e2ca9b43", + "version": 7 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.19/messages_en.properties b/src/main/resources/workflows/0.19/messages_en.properties new file mode 100644 index 0000000..5ff43d4 --- /dev/null +++ b/src/main/resources/workflows/0.19/messages_en.properties @@ -0,0 +1,89 @@ +#Pipeline Info Properties +#Fri Sep 13 15:54:00 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Fri Sep 13 15:54:00 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Fri Sep 13 15:54:00 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Fri Sep 13 15:54:00 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.fast=iqtree-4-tree_parameters.tree_search.fast +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.2/irida_workflow.xml b/src/main/resources/workflows/0.2/irida_workflow.xml new file mode 100644 index 0000000..e4429d0 --- /dev/null +++ b/src/main/resources/workflows/0.2/irida_workflow.xml @@ -0,0 +1,263 @@ + + 79400b89-b186-4bf1-aaab-c8746ab8ed22 + QIPhylo + 0.2 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.2/irida_workflow_structure.ga b/src/main/resources/workflows/0.2/irida_workflow_structure.ga new file mode 100644 index 0000000..56edc76 --- /dev/null +++ b/src/main/resources/workflows/0.2/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "32912714-9403-4be8-8fdb-5da63c3e08f7" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "ce729d06-a453-4570-81f8-71ce8e08ae58" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "2212b1f0-3937-442e-b4a8-b08bd6e592c5", + "version": 4 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.2/messages_en.properties b/src/main/resources/workflows/0.2/messages_en.properties new file mode 100644 index 0000000..55784f1 --- /dev/null +++ b/src/main/resources/workflows/0.2/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Sep 05 15:03:35 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Sep 05 15:03:35 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Sep 05 15:03:35 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Sep 05 15:03:35 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.3/irida_workflow.xml b/src/main/resources/workflows/0.3/irida_workflow.xml new file mode 100644 index 0000000..ea57354 --- /dev/null +++ b/src/main/resources/workflows/0.3/irida_workflow.xml @@ -0,0 +1,263 @@ + + dae2c6a6-b2bb-47a7-802a-57f2394e2ea4 + QIPhylo + 0.3 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.3/irida_workflow_structure.ga b/src/main/resources/workflows/0.3/irida_workflow_structure.ga new file mode 100644 index 0000000..56edc76 --- /dev/null +++ b/src/main/resources/workflows/0.3/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "32912714-9403-4be8-8fdb-5da63c3e08f7" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "ce729d06-a453-4570-81f8-71ce8e08ae58" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "2212b1f0-3937-442e-b4a8-b08bd6e592c5", + "version": 4 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.3/messages_en.properties b/src/main/resources/workflows/0.3/messages_en.properties new file mode 100644 index 0000000..1faf573 --- /dev/null +++ b/src/main/resources/workflows/0.3/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Sep 05 15:06:43 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description= +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Sep 05 15:06:43 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Sep 05 15:06:43 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Sep 05 15:06:43 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.4/irida_workflow.xml b/src/main/resources/workflows/0.4/irida_workflow.xml new file mode 100644 index 0000000..699e5ae --- /dev/null +++ b/src/main/resources/workflows/0.4/irida_workflow.xml @@ -0,0 +1,263 @@ + + 553042e8-f42d-4a13-85cf-939df7623e6b + QIPhylo + 0.4 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.4/irida_workflow_structure.ga b/src/main/resources/workflows/0.4/irida_workflow_structure.ga new file mode 100644 index 0000000..56edc76 --- /dev/null +++ b/src/main/resources/workflows/0.4/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "32912714-9403-4be8-8fdb-5da63c3e08f7" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "ce729d06-a453-4570-81f8-71ce8e08ae58" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "2212b1f0-3937-442e-b4a8-b08bd6e592c5", + "version": 4 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.4/messages_en.properties b/src/main/resources/workflows/0.4/messages_en.properties new file mode 100644 index 0000000..2e0fb60 --- /dev/null +++ b/src/main/resources/workflows/0.4/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Sep 05 15:11:25 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.4 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Sep 05 15:11:25 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Sep 05 15:11:25 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Sep 05 15:11:25 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.5/irida_workflow.xml b/src/main/resources/workflows/0.5/irida_workflow.xml new file mode 100644 index 0000000..0f43603 --- /dev/null +++ b/src/main/resources/workflows/0.5/irida_workflow.xml @@ -0,0 +1,263 @@ + + fb0aada1-9ad5-4a07-abf1-621ed71ab19c + QIPhylo + 0.5 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.5/irida_workflow_structure.ga b/src/main/resources/workflows/0.5/irida_workflow_structure.ga new file mode 100644 index 0000000..56edc76 --- /dev/null +++ b/src/main/resources/workflows/0.5/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "32912714-9403-4be8-8fdb-5da63c3e08f7" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "ce729d06-a453-4570-81f8-71ce8e08ae58" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "2212b1f0-3937-442e-b4a8-b08bd6e592c5", + "version": 4 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.5/messages_en.properties b/src/main/resources/workflows/0.5/messages_en.properties new file mode 100644 index 0000000..6f68c80 --- /dev/null +++ b/src/main/resources/workflows/0.5/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Sep 05 15:14:40 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.5 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Sep 05 15:14:40 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Sep 05 15:14:40 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Sep 05 15:14:40 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.6/irida_workflow.xml b/src/main/resources/workflows/0.6/irida_workflow.xml new file mode 100644 index 0000000..f1b7f70 --- /dev/null +++ b/src/main/resources/workflows/0.6/irida_workflow.xml @@ -0,0 +1,263 @@ + + 91e87ef9-b8cd-4a4b-b635-c3979eba754b + QIPhylo + 0.6 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.6/irida_workflow_structure.ga b/src/main/resources/workflows/0.6/irida_workflow_structure.ga new file mode 100644 index 0000000..56edc76 --- /dev/null +++ b/src/main/resources/workflows/0.6/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "32912714-9403-4be8-8fdb-5da63c3e08f7" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "ce729d06-a453-4570-81f8-71ce8e08ae58" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"100\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"6\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "2212b1f0-3937-442e-b4a8-b08bd6e592c5", + "version": 4 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.6/messages_en.properties b/src/main/resources/workflows/0.6/messages_en.properties new file mode 100644 index 0000000..f9a8fdd --- /dev/null +++ b/src/main/resources/workflows/0.6/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Sep 05 15:24:46 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.6 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Sep 05 15:24:46 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Sep 05 15:24:46 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Sep 05 15:24:46 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.7/irida_workflow.xml b/src/main/resources/workflows/0.7/irida_workflow.xml new file mode 100644 index 0000000..a833f2c --- /dev/null +++ b/src/main/resources/workflows/0.7/irida_workflow.xml @@ -0,0 +1,263 @@ + + a32947c7-3697-4b63-a6ea-6da8cef5bf13 + QIPhylo + 0.7 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.7/irida_workflow_structure.ga b/src/main/resources/workflows/0.7/irida_workflow_structure.ga new file mode 100644 index 0000000..7e371b0 --- /dev/null +++ b/src/main/resources/workflows/0.7/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "dd26e811-1bfa-471e-ac38-34356f683c10" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "93a4d067-661d-49c5-8b6e-7109566a8ddc" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"10\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"0\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "0e2458dc-256e-486e-891d-972271db1a33", + "version": 5 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.7/messages_en.properties b/src/main/resources/workflows/0.7/messages_en.properties new file mode 100644 index 0000000..d0d627b --- /dev/null +++ b/src/main/resources/workflows/0.7/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Thu Sep 05 15:53:18 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.7 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Thu Sep 05 15:53:18 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Thu Sep 05 15:53:18 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Thu Sep 05 15:53:18 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.8/irida_workflow.xml b/src/main/resources/workflows/0.8/irida_workflow.xml new file mode 100644 index 0000000..98a7a56 --- /dev/null +++ b/src/main/resources/workflows/0.8/irida_workflow.xml @@ -0,0 +1,263 @@ + + b5c89708-9e5c-4337-8b4a-538e5d8a85b7 + QIPhylo + 0.8 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.8/irida_workflow_structure.ga b/src/main/resources/workflows/0.8/irida_workflow_structure.ga new file mode 100644 index 0000000..7e371b0 --- /dev/null +++ b/src/main/resources/workflows/0.8/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "dd26e811-1bfa-471e-ac38-34356f683c10" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "93a4d067-661d-49c5-8b6e-7109566a8ddc" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"10\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"0\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "0e2458dc-256e-486e-891d-972271db1a33", + "version": 5 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.8/messages_en.properties b/src/main/resources/workflows/0.8/messages_en.properties new file mode 100644 index 0000000..66fca6b --- /dev/null +++ b/src/main/resources/workflows/0.8/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Mon Sep 09 11:01:36 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.8 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 11:01:36 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 11:01:36 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 11:01:36 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b diff --git a/src/main/resources/workflows/0.9/irida_workflow.xml b/src/main/resources/workflows/0.9/irida_workflow.xml new file mode 100644 index 0000000..7b4441e --- /dev/null +++ b/src/main/resources/workflows/0.9/irida_workflow.xml @@ -0,0 +1,263 @@ + + 0bf9356d-6545-4773-9789-d996b48d138b + QIPhylo + 0.9 + QI_PHYLO + + sequence_reads_paired + reference + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippy + iuc + https://toolshed.g2.bx.psu.edu + 82f2b6f20fa2 + + + iqtree + leomrtns + https://testtoolshed.g2.bx.psu.edu + 37e42abdce08 + + + \ No newline at end of file diff --git a/src/main/resources/workflows/0.9/irida_workflow_structure.ga b/src/main/resources/workflows/0.9/irida_workflow_structure.ga new file mode 100644 index 0000000..7e371b0 --- /dev/null +++ b/src/main/resources/workflows/0.9/irida_workflow_structure.ga @@ -0,0 +1,374 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "qi-phylo", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "reference" + } + ], + "label": "reference", + "name": "Input dataset", + "outputs": [], + "position": { + "left": 243, + "top": 483 + }, + "tool_id": null, + "tool_state": "{\"name\": \"reference\"}", + "tool_version": null, + "type": "data_input", + "uuid": "fe8d4677-4c85-42e9-af65-a0da55443aef", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "dd26e811-1bfa-471e-ac38-34356f683c10" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "sequence_reads_paired" + } + ], + "label": "sequence_reads_paired", + "name": "Input dataset collection", + "outputs": [], + "position": { + "left": 243, + "top": 570 + }, + "tool_id": null, + "tool_state": "{\"collection_type\": \"list:paired\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "36e8971c-79b9-48cd-94d2-11ceb3e707f3", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "93a4d067-661d-49c5-8b6e-7109566a8ddc" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input": { + "id": 1, + "output_name": "output" + }, + "ref": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "snippy", + "outputs": [ + { + "name": "snpvcf", + "type": "vcf" + }, + { + "name": "snptab", + "type": "tabular" + }, + { + "name": "outdir", + "type": "zip" + } + ], + "position": { + "left": 523.5, + "top": 434 + }, + "post_job_actions": { + "HideDatasetActionoutdir": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "outdir" + }, + "HideDatasetActionsnptab": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snptab" + }, + "HideDatasetActionsnpvcf": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "snpvcf" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy/3.2+galaxy1", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": \"{\\\"bwaopt\\\": \\\"\\\", \\\"mapqual\\\": \\\"60\\\", \\\"mincov\\\": \\\"10\\\", \\\"minfrac\\\": \\\"0.9\\\", \\\"rgid\\\": \\\"\\\"}\", \"__page__\": null, \"outputs\": \"[\\\"outvcf\\\", \\\"outtab\\\", \\\"outzip\\\"]\", \"__rerun_remap_job_id__\": null, \"fastq_input\": \"{\\\"__current_case__\\\": 2, \\\"fastq_input\\\": {\\\"__class__\\\": \\\"ConnectedValue\\\"}, \\\"fastq_input_selector\\\": \\\"paired_collection\\\"}\", \"ref\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", + "tool_version": "3.2+galaxy1", + "type": "tool", + "uuid": "8be43971-d993-4d33-8912-91355f714e50", + "workflow_outputs": [] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "errors": null, + "id": 3, + "input_connections": { + "indirs": { + "id": 2, + "output_name": "outdir" + } + }, + "inputs": [], + "label": null, + "name": "snippy-core", + "outputs": [ + { + "name": "alignment_fasta", + "type": "fasta" + }, + { + "name": "alignment_table", + "type": "tabular" + }, + { + "name": "alignment_summary", + "type": "txt" + } + ], + "position": { + "left": 919.5, + "top": 422 + }, + "post_job_actions": { + "RenameDatasetActionalignment_fasta": { + "action_arguments": { + "newname": "core.fasta" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_fasta" + }, + "RenameDatasetActionalignment_summary": { + "action_arguments": { + "newname": "core_sum.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_summary" + }, + "RenameDatasetActionalignment_table": { + "action_arguments": { + "newname": "core.tsv" + }, + "action_type": "RenameDatasetAction", + "output_name": "alignment_table" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snippy/snippy_core/3.2", + "tool_shed_repository": { + "changeset_revision": "82f2b6f20fa2", + "name": "snippy", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"outputs\": \"[\\\"outaln\\\", \\\"outtab\\\", \\\"outtxt\\\"]\", \"is_reference\": \"\\\"false\\\"\", \"indirs\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"__page__\": null}", + "tool_version": "3.2", + "type": "tool", + "uuid": "3aa7ef26-9836-4373-be21-f4deb12edd20", + "workflow_outputs": [ + { + "label": "align_table", + "output_name": "alignment_table", + "uuid": "07671ed7-7513-4051-b5f2-83d1b54e6e5a" + }, + { + "label": "align_fas", + "output_name": "alignment_fasta", + "uuid": "c8e420ae-4275-4aae-aa5f-97f9e450f449" + }, + { + "label": "align_sum", + "output_name": "alignment_summary", + "uuid": "d32b9891-38fa-49b1-b8ad-6cb7b86d09ed" + } + ] + }, + "4": { + "annotation": "", + "content_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "errors": null, + "id": 4, + "input_connections": { + "general_options|s": { + "id": 3, + "output_name": "alignment_fasta" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "general_options" + }, + { + "description": "runtime parameter for tool IQ-TREE", + "name": "likelihood_mapping" + } + ], + "label": null, + "name": "IQ-TREE", + "outputs": [ + { + "name": "bionj", + "type": "nhx" + }, + { + "name": "treefile", + "type": "nhx" + }, + { + "name": "contree", + "type": "nhx" + }, + { + "name": "mldist", + "type": "mldist" + }, + { + "name": "splits.nex", + "type": "nex" + }, + { + "name": "iqtree", + "type": "iqtree" + } + ], + "position": { + "left": 1308.5, + "top": 240 + }, + "post_job_actions": { + "RenameDatasetActionbionj": { + "action_arguments": { + "newname": "bionj.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "bionj" + }, + "RenameDatasetActioncontree": { + "action_arguments": { + "newname": "contree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "contree" + }, + "RenameDatasetActioniqtree": { + "action_arguments": { + "newname": "iqtree.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "iqtree" + }, + "RenameDatasetActionmldist": { + "action_arguments": { + "newname": "mldist.txt" + }, + "action_type": "RenameDatasetAction", + "output_name": "mldist" + }, + "RenameDatasetActionsplits.nex": { + "action_arguments": { + "newname": "splits.nex" + }, + "action_type": "RenameDatasetAction", + "output_name": "splits.nex" + }, + "RenameDatasetActiontreefile": { + "action_arguments": { + "newname": "tree.newick" + }, + "action_type": "RenameDatasetAction", + "output_name": "treefile" + } + }, + "tool_id": "testtoolshed.g2.bx.psu.edu/repos/leomrtns/iqtree/iqtree/1.6.10", + "tool_shed_repository": { + "changeset_revision": "37e42abdce08", + "name": "iqtree", + "owner": "leomrtns", + "tool_shed": "testtoolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"__page__\": null, \"general_options\": \"{\\\"keep_ident\\\": \\\"false\\\", \\\"s\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"safe\\\": \\\"false\\\", \\\"seed\\\": \\\"\\\", \\\"st\\\": \\\"DNA\\\", \\\"t\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"te\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}\", \"__rerun_remap_job_id__\": null, \"modelling_parameters\": \"{\\\"automatic_model\\\": {\\\"cmax\\\": \\\"10\\\", \\\"cmin\\\": \\\"2\\\", \\\"cond_model\\\": {\\\"__current_case__\\\": 0, \\\"m\\\": \\\"HKY\\\", \\\"opt_custommodel\\\": \\\"true\\\"}, \\\"madd\\\": \\\"\\\", \\\"mdef\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"merit\\\": \\\"AIC\\\", \\\"mfreq\\\": \\\"\\\", \\\"mrate\\\": \\\"\\\", \\\"mset\\\": \\\"\\\", \\\"msub\\\": \\\"nuclear\\\", \\\"mtree\\\": \\\"false\\\", \\\"rcluster\\\": \\\"\\\"}, \\\"partition_model\\\": {\\\"q\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"sp\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"spp\\\": \\\"false\\\"}, \\\"rate_heterogeneity\\\": {\\\"a\\\": \\\"\\\", \\\"gmedian\\\": \\\"false\\\", \\\"i\\\": \\\"\\\", \\\"opt_gamma_inv\\\": \\\"false\\\", \\\"wsr\\\": \\\"false\\\"}, \\\"site_specific_frequency\\\": {\\\"fmax\\\": \\\"false\\\", \\\"fs\\\": \\\"\\\", \\\"ft\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}}, \\\"specifying_substitution\\\": {\\\"mwopt\\\": \\\"false\\\"}}\", \"bootstrap_parameters\": \"{\\\"nonparametric_bootstrap\\\": {\\\"b\\\": \\\"\\\", \\\"bc\\\": \\\"false\\\", \\\"bo\\\": \\\"false\\\"}, \\\"ultrafast_bootstrap\\\": {\\\"bb\\\": \\\"\\\", \\\"bcor\\\": \\\"0.99\\\", \\\"beps\\\": \\\"0.5\\\", \\\"bnni\\\": \\\"false\\\", \\\"bspec\\\": \\\"\\\", \\\"nm\\\": \\\"1000\\\", \\\"nstep\\\": \\\"100\\\", \\\"wbt\\\": \\\"false\\\", \\\"wbtl\\\": \\\"false\\\"}}\", \"miscellaneous_options\": \"{\\\"fconst\\\": \\\"\\\"}\", \"likelihood_mapping\": \"{\\\"lmap\\\": \\\"\\\", \\\"lmclust\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"wql\\\": \\\"false\\\"}\", \"tree_parameters\": \"{\\\"computing_robinson_foulds\\\": {\\\"rf\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"rf_adj\\\": \\\"false\\\", \\\"rf_all\\\": \\\"false\\\"}, \\\"constructing_consensus\\\": {\\\"bi\\\": \\\"\\\", \\\"con\\\": \\\"false\\\", \\\"minsup\\\": \\\"0.0\\\", \\\"net\\\": \\\"false\\\", \\\"sup\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"suptag\\\": \\\"\\\"}, \\\"generating_random\\\": {\\\"r\\\": \\\"\\\", \\\"rbal\\\": \\\"false\\\", \\\"rcat\\\": \\\"false\\\", \\\"rcsg\\\": \\\"false\\\", \\\"rlen\\\": \\\"\\\", \\\"ru\\\": \\\"false\\\"}, \\\"single_branch\\\": {\\\"abayes\\\": \\\"false\\\", \\\"alrt\\\": \\\"\\\", \\\"lbp\\\": \\\"\\\"}, \\\"tree_search\\\": {\\\"allnni\\\": \\\"false\\\", \\\"djc\\\": \\\"false\\\", \\\"g\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"n\\\": \\\"\\\", \\\"nbest\\\": \\\"5\\\", \\\"ninit\\\": \\\"10\\\", \\\"nstop\\\": \\\"100\\\", \\\"ntop\\\": \\\"20\\\", \\\"pers\\\": \\\"0.5\\\", \\\"sprrad\\\": \\\"0\\\"}, \\\"tree_topology\\\": {\\\"au\\\": \\\"false\\\", \\\"z\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"zb\\\": \\\"\\\", \\\"zw\\\": \\\"false\\\"}}\"}", + "tool_version": "1.6.10", + "type": "tool", + "uuid": "0bebf65c-40a4-4a8e-a7b7-77e312afc4e0", + "workflow_outputs": [ + { + "label": null, + "output_name": "iqtree", + "uuid": "3bd6175b-8275-4264-bfcd-65f661accef0" + }, + { + "label": null, + "output_name": "splits.nex", + "uuid": "5a0e4639-d068-410e-b480-5bbd8ca23eb2" + }, + { + "label": null, + "output_name": "mldist", + "uuid": "783b4dd0-ae11-4a8b-b10e-e5859b8243b6" + }, + { + "label": null, + "output_name": "treefile", + "uuid": "1b2c669a-d1d6-47e6-96ed-0dcf77666d39" + }, + { + "label": null, + "output_name": "bionj", + "uuid": "6301c062-9414-44d9-9905-100f4eed14ae" + }, + { + "label": null, + "output_name": "contree", + "uuid": "7f9ef5c3-47b9-44ed-816b-41bc8e36400d" + } + ] + } + }, + "tags": [], + "uuid": "0e2458dc-256e-486e-891d-972271db1a33", + "version": 5 +} \ No newline at end of file diff --git a/src/main/resources/workflows/0.9/messages_en.properties b/src/main/resources/workflows/0.9/messages_en.properties new file mode 100644 index 0000000..0434526 --- /dev/null +++ b/src/main/resources/workflows/0.9/messages_en.properties @@ -0,0 +1,88 @@ +#Pipeline Info Properties +#Mon Sep 09 11:02:16 BST 2019 +pipeline.parameters.modal-title.qiphylo=QIPhylo Pipeline Parameters +pipeline.title.QIPhylo=Pipelines - QIPhylo +pipeline.h1.QIPhylo=QIPhylo Pipeline +workflow.QI_PHYLO.description=Fast phylogeny pipeline (Snippy, IQTree) v0.9 +workflow.QI_PHYLO.title=QIPhylo Pipeline +#Tool Parameters - Tool: snippy - Workflow Step #: 2 +#Mon Sep 09 11:02:16 BST 2019 +pipeline.parameters.qiphylo.snippy-2-adv.mincov=snippy-2-adv.mincov +pipeline.parameters.qiphylo.snippy-2-fastq_input.fastq_input_selector=snippy-2-fastq_input.fastq_input_selector +pipeline.parameters.qiphylo.snippy-2-adv.mapqual=snippy-2-adv.mapqual +pipeline.parameters.qiphylo.snippy-2-adv.minfrac=snippy-2-adv.minfrac +pipeline.parameters.qiphylo.snippy-2-adv.bwaopt=snippy-2-adv.bwaopt +pipeline.parameters.qiphylo.snippy-2-adv.rgid=snippy-2-adv.rgid +#Tool Parameters - Tool: snippy - Workflow Step #: 3 +#Mon Sep 09 11:02:16 BST 2019 +pipeline.parameters.qiphylo.snippy-3-is_reference=snippy-3-is_reference +#Tool Parameters - Tool: iqtree - Workflow Step #: 4 +#Mon Sep 09 11:02:16 BST 2019 +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mset=iqtree-4-modelling_parameters.automatic_model.mset +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mtree=iqtree-4-modelling_parameters.automatic_model.mtree +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.djc=iqtree-4-tree_parameters.tree_search.djc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_all=iqtree-4-tree_parameters.computing_robinson_foulds.rf_all +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.rcluster=iqtree-4-modelling_parameters.automatic_model.rcluster +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.r=iqtree-4-tree_parameters.generating_random.r +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rbal=iqtree-4-tree_parameters.generating_random.rbal +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mfreq=iqtree-4-modelling_parameters.automatic_model.mfreq +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcsg=iqtree-4-tree_parameters.generating_random.rcsg +pipeline.parameters.qiphylo.iqtree-4-general_options.seed=iqtree-4-general_options.seed +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fmax=iqtree-4-modelling_parameters.site_specific_frequency.fmax +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.pers=iqtree-4-tree_parameters.tree_search.pers +pipeline.parameters.qiphylo.iqtree-4-general_options.keep_ident=iqtree-4-general_options.keep_ident +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.mrate=iqtree-4-modelling_parameters.automatic_model.mrate +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.i=iqtree-4-modelling_parameters.rate_heterogeneity.i +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bcor +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.ru=iqtree-4-tree_parameters.generating_random.ru +pipeline.parameters.qiphylo.iqtree-4-general_options.safe=iqtree-4-general_options.safe +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bo +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zw=iqtree-4-tree_parameters.tree_topology.zw +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.a=iqtree-4-modelling_parameters.rate_heterogeneity.a +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmin=iqtree-4-modelling_parameters.automatic_model.cmin +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.m=iqtree-4-modelling_parameters.automatic_model.cond_model.m +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.merit=iqtree-4-modelling_parameters.automatic_model.merit +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.minsup=iqtree-4-tree_parameters.constructing_consensus.minsup +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nstop=iqtree-4-tree_parameters.tree_search.nstop +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.bc +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.sprrad=iqtree-4-tree_parameters.tree_search.sprrad +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.n=iqtree-4-tree_parameters.tree_search.n +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.site_specific_frequency.fs=iqtree-4-modelling_parameters.site_specific_frequency.fs +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.wsr=iqtree-4-modelling_parameters.rate_heterogeneity.wsr +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbtl +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.au=iqtree-4-tree_parameters.tree_topology.au +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.lmap=iqtree-4-likelihood_mapping.lmap +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_topology.zb=iqtree-4-tree_parameters.tree_topology.zb +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.suptag=iqtree-4-tree_parameters.constructing_consensus.suptag +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.bi=iqtree-4-tree_parameters.constructing_consensus.bi +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nm +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.wbt +pipeline.parameters.qiphylo.iqtree-4-likelihood_mapping.wql=iqtree-4-likelihood_mapping.wql +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bb +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.madd=iqtree-4-modelling_parameters.automatic_model.madd +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.abayes=iqtree-4-tree_parameters.single_branch.abayes +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv=iqtree-4-modelling_parameters.rate_heterogeneity.opt_gamma_inv +pipeline.parameters.qiphylo.iqtree-4-general_options.st=iqtree-4-general_options.st +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.bspec +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.partition_model.spp=iqtree-4-modelling_parameters.partition_model.spp +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rlen=iqtree-4-tree_parameters.generating_random.rlen +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ntop=iqtree-4-tree_parameters.tree_search.ntop +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj=iqtree-4-tree_parameters.computing_robinson_foulds.rf_adj +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.beps +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep=iqtree-4-bootstrap_parameters.ultrafast_bootstrap.nstep +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.alrt=iqtree-4-tree_parameters.single_branch.alrt +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.single_branch.lbp=iqtree-4-tree_parameters.single_branch.lbp +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.rate_heterogeneity.gmedian=iqtree-4-modelling_parameters.rate_heterogeneity.gmedian +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.nbest=iqtree-4-tree_parameters.tree_search.nbest +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.net=iqtree-4-tree_parameters.constructing_consensus.net +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.specifying_substitution.mwopt=iqtree-4-modelling_parameters.specifying_substitution.mwopt +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cmax=iqtree-4-modelling_parameters.automatic_model.cmax +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel=iqtree-4-modelling_parameters.automatic_model.cond_model.opt_custommodel +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.generating_random.rcat=iqtree-4-tree_parameters.generating_random.rcat +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.constructing_consensus.con=iqtree-4-tree_parameters.constructing_consensus.con +pipeline.parameters.qiphylo.iqtree-4-miscellaneous_options.fconst=iqtree-4-miscellaneous_options.fconst +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.allnni=iqtree-4-tree_parameters.tree_search.allnni +pipeline.parameters.qiphylo.iqtree-4-tree_parameters.tree_search.ninit=iqtree-4-tree_parameters.tree_search.ninit +pipeline.parameters.qiphylo.iqtree-4-modelling_parameters.automatic_model.msub=iqtree-4-modelling_parameters.automatic_model.msub +pipeline.parameters.qiphylo.iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b=iqtree-4-bootstrap_parameters.nonparametric_bootstrap.b