diff --git a/visualisation-ampvis2/data-library.yaml b/visualisation-ampvis2/data-library.yaml new file mode 100644 index 00000000000000..74b283240ec16e --- /dev/null +++ b/visualisation-ampvis2/data-library.yaml @@ -0,0 +1,28 @@ +--- +destination: + type: library + name: GTN - Material + description: Galaxy Training Network Material + synopsis: Galaxy Training Network Material. See https://training.galaxyproject.org +items: +- name: The new topic + description: Summary + items: + - name: Development of statistical analysis and visualization workflows for metagenomic + amplicon data using the Galaxy framework + items: + - name: 'DOI: 10.5281/zenodo.11281381' + description: latest + items: + - url: https://zenodo.org/api/records/11281381/files/Galaxy11-[MiDAS_otushort_table.tsv].mothur.axes/content + src: url + ext: auto + info: https://zenodo.org/records/11281381 + - url: https://zenodo.org/api/records/11281381/files/Galaxy1-[MiDAS_metadata.tsv].tabular/content + src: url + ext: auto + info: https://zenodo.org/records/11281381 + - url: https://zenodo.org/api/records/11281381/files/Galaxy3-[MiDAS_taxtable.tsv].tabular/content + src: url + ext: auto + info: https://zenodo.org/records/11281381 diff --git a/visualisation-ampvis2/faqs/index.md b/visualisation-ampvis2/faqs/index.md new file mode 100644 index 00000000000000..9ce3fe4fce824b --- /dev/null +++ b/visualisation-ampvis2/faqs/index.md @@ -0,0 +1,3 @@ +--- +layout: faq-page +--- diff --git a/visualisation-ampvis2/tutorial.bib b/visualisation-ampvis2/tutorial.bib new file mode 100644 index 00000000000000..9206b0b6e4cae4 --- /dev/null +++ b/visualisation-ampvis2/tutorial.bib @@ -0,0 +1,42 @@ + +# This is the bibliography file for your tutorial. +# +# To add bibliography (bibtex) entries here, follow these steps: +# 1) Find the DOI for the article you want to cite +# 2) Go to https://doi2bib.org and fill in the DOI +# 3) Copy the resulting bibtex entry into this file +# +# To cite the example below, in your tutorial.md file +# use {% cite Batut2018 %} +# +# If you want to cite an online resourse (website etc) +# you can use the 'online' format (see below) +# +# You can remove the examples below + +@article{Batut2018, + doi = {10.1016/j.cels.2018.05.012}, + url = {https://doi.org/10.1016/j.cels.2018.05.012}, + year = {2018}, + month = jun, + publisher = {Elsevier {BV}}, + volume = {6}, + number = {6}, + pages = {752--758.e1}, + author = {B{\'{e}}r{\'{e}}nice Batut and Saskia Hiltemann and Andrea Bagnacani and Dannon Baker and Vivek Bhardwaj and + Clemens Blank and Anthony Bretaudeau and Loraine Brillet-Gu{\'{e}}guen and Martin {\v{C}}ech and John Chilton + and Dave Clements and Olivia Doppelt-Azeroual and Anika Erxleben and Mallory Ann Freeberg and Simon Gladman and + Youri Hoogstrate and Hans-Rudolf Hotz and Torsten Houwaart and Pratik Jagtap and Delphine Larivi{\`{e}}re and + Gildas Le Corguill{\'{e}} and Thomas Manke and Fabien Mareuil and Fidel Ram{\'{i}}rez and Devon Ryan and + Florian Christoph Sigloch and Nicola Soranzo and Joachim Wolff and Pavankumar Videm and Markus Wolfien and + Aisanjiang Wubuli and Dilmurat Yusuf and James Taylor and Rolf Backofen and Anton Nekrutenko and Bj\"{o}rn Gr\"{u}ning}, + title = {Community-Driven Data Analysis Training for Biology}, + journal = {Cell Systems} +} + +@online{gtn-website, + author = {GTN community}, + title = {GTN Training Materials: Collection of tutorials developed and maintained by the worldwide Galaxy community}, + url = {https://training.galaxyproject.org}, + urldate = {2021-03-24} +} diff --git a/visualisation-ampvis2/tutorial.md b/visualisation-ampvis2/tutorial.md new file mode 100644 index 00000000000000..189117bdcae868 --- /dev/null +++ b/visualisation-ampvis2/tutorial.md @@ -0,0 +1,260 @@ +--- +layout: tutorial_hands_on + +title: Development of statistical analysis and visualization workflows for metagenomic + amplicon data using the Galaxy framework +level: Intermediate +zenodo_link: https://zenodo.org/records/11281381 +questions: +- If we generated amplicon data, how can we analyse it with Galaxy ampvis2 tools? +- How can we visualise amplicon data by using heatmap, ordination plot, boxplot, rarefraction curve or timeseries? +objectives: +- use heatmap workflow to analyse and visualise amplicon data +- or use ordination plot, or boxplot, or rarefraction curve, or timeseries +- use grouped data or grouped data with facets +time_estimation: 3H +key_points: +- using different visualisation methods can present data from other points of view +- with enough metadata the data can be visualised w.r.t. groups and facets +contributors: +- lenaarenot +- contributor2 + +--- + + + +General introduction about the topic and then an introduction of the +tutorial (the questions and the objectives). It is nice also to have a +scheme to sum up the pipeline used during the tutorial. The idea is to +give to trainees insight into the content of the tutorial and the (theoretical +and technical) key concepts they will learn. + +You may want to cite some publications; this can be done by adding citations to the +bibliography file (`tutorial.bib` file next to your `tutorial.md` file). These citations +must be in bibtex format. If you have the DOI for the paper you wish to cite, you can +get the corresponding bibtex entry using [doi2bib.org](https://doi2bib.org). + +With the example you will find in the `tutorial.bib` file, you can add a citation to +this article here in your tutorial like this: +{% raw %} `{% cite Batut2018 %}`{% endraw %}. +This will be rendered like this: {% cite Batut2018 %}, and links to a +[bibliography section](#bibliography) which will automatically be created at the end of the +tutorial. + + + +**Please follow our +[tutorial to learn how to fill the Markdown]({{ site.baseurl }}/topics/contributing/tutorials/create-new-tutorial-content/tutorial.html)** + +> +> +> In this tutorial, we will cover: +> +> 1. TOC +> {:toc} +> +{: .agenda} + +# Title for your first section + +Give some background about what the trainees will be doing in the section. +Remember that many people reading your materials will likely be novices, +so make sure to explain all the relevant concepts. + +## Title for a subsection +Section and subsection titles will be displayed in the tutorial index on the left side of +the page, so try to make them informative and concise! + +# Hands-on Sections +Below are a series of hand-on boxes, one for each tool in your workflow file. +Often you may wish to combine several boxes into one or make other adjustments such +as breaking the tutorial into sections, we encourage you to make such changes as you +see fit, this is just a starting point :) + +Anywhere you find the word "***TODO***", there is something that needs to be changed +depending on the specifics of your tutorial. + +have fun! + +## Get data + +> Data Upload +> +> 1. Create a new history for this tutorial +> 2. Import the files from [Zenodo]({{ page.zenodo_link }}) or from +> the shared data library (`GTN - Material` -> `{{ page.topic_name }}` +> -> `{{ page.title }}`): +> +> ``` +> https://zenodo.org/api/records/11281381/files/Galaxy11-[MiDAS_otushort_table.tsv].mothur.axes/content +> https://zenodo.org/api/records/11281381/files/Galaxy1-[MiDAS_metadata.tsv].tabular/content +> https://zenodo.org/api/records/11281381/files/Galaxy3-[MiDAS_taxtable.tsv].tabular/content +> ``` +> ***TODO***: *Add the files by the ones on Zenodo here (if not added)* +> +> ***TODO***: *Remove the useless files (if added)* +> +> {% snippet faqs/galaxy/datasets_import_via_link.md %} +> +> {% snippet faqs/galaxy/datasets_import_from_data_library.md %} +> +> 3. Rename the datasets +> 4. Check that the datatype +> +> {% snippet faqs/galaxy/datasets_change_datatype.md datatype="datatypes" %} +> +> 5. Add to each database a tag corresponding to ... +> +> {% snippet faqs/galaxy/datasets_add_tag.md %} +> +{: .hands_on} + +# Title of the section usually corresponding to a big step in the analysis + +It comes first a description of the step: some background and some theory. +Some image can be added there to support the theory explanation: + +![Alternative text](../../images/image_name "Legend of the image") + +The idea is to keep the theory description before quite simple to focus more on the practical part. + +***TODO***: *Consider adding a detail box to expand the theory* + +> More details about the theory +> +> But to describe more details, it is possible to use the detail boxes which are expandable +> +{: .details} + +A big step can have several subsections or sub steps: + + +## Sub-step with **ampvis2 load** + +> Task description +> +> 1. {% tool [ampvis2 load](toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_load/ampvis2_load/2.8.6+galaxy1) %} with the following parameters: +> - {% icon param-file %} *"OTU table"*: `output` (Input dataset) +> - {% icon param-file %} *"Sample metadata"*: `output` (Input dataset) +> - {% icon param-file %} *"Taxonomy table"*: `output` (Input dataset) +> +> ***TODO***: *Check parameter descriptions* +> +> ***TODO***: *Consider adding a comment or tip box* +> +> > short description +> > +> > A comment about the tool or something else. This box can also be in the main text +> {: .comment} +> +{: .hands_on} + +***TODO***: *Consider adding a question to test the learners understanding of the previous exercise* + +> +> +> 1. Question1? +> 2. Question2? +> +> > +> > +> > 1. Answer for question1 +> > 2. Answer for question2 +> > +> {: .solution} +> +{: .question} + +## Sub-step with **ampvis2 subset samples** + +> Task description +> +> 1. {% tool [ampvis2 subset samples](toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_subset_samples/ampvis2_subset_samples/2.8.6+galaxy1) %} with the following parameters: +> - {% icon param-file %} *"Ampvis2 RDS dataset"*: `ampvis` (output of **ampvis2 load** {% icon tool %}) +> - {% icon param-file %} *"Metadata list"*: `metadata_list_out` (output of **ampvis2 load** {% icon tool %}) +> - *"Metadata variable"*: `` +> - *"Metadata value(s)"*: `` +> +> ***TODO***: *Check parameter descriptions* +> +> ***TODO***: *Consider adding a comment or tip box* +> +> > short description +> > +> > A comment about the tool or something else. This box can also be in the main text +> {: .comment} +> +{: .hands_on} + +***TODO***: *Consider adding a question to test the learners understanding of the previous exercise* + +> +> +> 1. Question1? +> 2. Question2? +> +> > +> > +> > 1. Answer for question1 +> > 2. Answer for question2 +> > +> {: .solution} +> +{: .question} + +## Sub-step with **ampvis2 heatmap** + +> Task description +> +> 1. {% tool [ampvis2 heatmap](toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_heatmap/ampvis2_heatmap/2.8.6+galaxy1) %} with the following parameters: +> - {% icon param-file %} *"Ampvis2 RDS dataset"*: `ampvis` (output of **ampvis2 subset samples** {% icon tool %}) +> - {% icon param-file %} *"Metadata list"*: `metadata_list_out` (output of **ampvis2 subset samples** {% icon tool %}) +> - *"Group samples"*: `` +> - *"Facet the samples"*: `` +> - *"The taxonomic level to aggregate the OTUs"*: `Species` +> - *"Additional taxonomic level(s) to display"*: `` +> - *"Limit the number of shown taxa"*: `Select a number of taxa to show` +> - *"Plot the values on the heatmap"*: `Yes` +> - *"Sort heatmap by most abundant taxa"*: `No` +> - *"Show functional information about the Genus-level OTUs"*: `No` +> +> ***TODO***: *Check parameter descriptions* +> +> ***TODO***: *Consider adding a comment or tip box* +> +> > short description +> > +> > A comment about the tool or something else. This box can also be in the main text +> {: .comment} +> +{: .hands_on} + +***TODO***: *Consider adding a question to test the learners understanding of the previous exercise* + +> +> +> 1. Question1? +> 2. Question2? +> +> > +> > +> > 1. Answer for question1 +> > 2. Answer for question2 +> > +> {: .solution} +> +{: .question} + + +## Re-arrange + +To create the template, each step of the workflow had its own subsection. + +***TODO***: *Re-arrange the generated subsections into sections or other subsections. +Consider merging some hands-on boxes to have a meaningful flow of the analyses* + +# Conclusion + +Sum up the tutorial and the key takeaways here. We encourage adding an overview image of the +pipeline used. \ No newline at end of file diff --git a/visualisation-ampvis2/workflows/index.md b/visualisation-ampvis2/workflows/index.md new file mode 100644 index 00000000000000..e092e0ae66ddd4 --- /dev/null +++ b/visualisation-ampvis2/workflows/index.md @@ -0,0 +1,3 @@ +--- +layout: workflow-list +--- diff --git a/visualisation-ampvis2/workflows/main_workflow.ga b/visualisation-ampvis2/workflows/main_workflow.ga new file mode 100644 index 00000000000000..1cb08620b57b07 --- /dev/null +++ b/visualisation-ampvis2/workflows/main_workflow.ga @@ -0,0 +1 @@ +{"a_galaxy_workflow": "true", "annotation": "", "comments": [], "format-version": "0.1", "name": "ampvis2 heatmap v1.0 (group+facet)", "steps": {"0": {"annotation": "", "content_id": null, "errors": null, "id": 0, "input_connections": {}, "inputs": [{"description": "", "name": "OTU table"}], "label": "OTU table", "name": "Input dataset", "outputs": [], "position": {"left": 4.5, "top": 0.6562652587890625}, "tool_id": null, "tool_state": "{\"optional\": false, \"format\": [\"tabular\"], \"tag\": null}", "tool_version": null, "type": "data_input", "uuid": "2b3e91ec-9514-41f0-9bb4-b807a83217da", "when": null, "workflow_outputs": []}, "1": {"annotation": "", "content_id": null, "errors": null, "id": 1, "input_connections": {}, "inputs": [{"description": "", "name": "metadata"}], "label": "metadata", "name": "Input dataset", "outputs": [], "position": {"left": 0, "top": 98.00003051757815}, "tool_id": null, "tool_state": "{\"optional\": false, \"format\": [\"tabular\"], \"tag\": null}", "tool_version": null, "type": "data_input", "uuid": "bb507cd5-5412-47f7-a96d-48e0ced77e8b", "when": null, "workflow_outputs": []}, "2": {"annotation": "", "content_id": null, "errors": null, "id": 2, "input_connections": {}, "inputs": [{"description": "", "name": "taxonomy table"}], "label": "taxonomy table", "name": "Input dataset", "outputs": [], "position": {"left": 0.75, "top": 198.31253051757812}, "tool_id": null, "tool_state": "{\"optional\": false, \"format\": [\"tabular\"], \"tag\": null}", "tool_version": null, "type": "data_input", "uuid": "5d7a8443-650a-40d4-9340-e9d323607c44", "when": null, "workflow_outputs": []}, "3": {"annotation": "", "content_id": null, "errors": null, "id": 3, "input_connections": {}, "inputs": [{"description": "", "name": "metadata variable (needs to be selected by user)"}], "label": "metadata variable (needs to be selected by user)", "name": "Input parameter", "outputs": [], "position": {"left": 550.5, "top": 292}, "tool_id": null, "tool_state": "{\"parameter_type\": \"text\", \"optional\": false}", "tool_version": null, "type": "parameter_input", "uuid": "8c432546-a227-45e2-a128-c8d888acf242", "when": null, "workflow_outputs": [{"label": null, "output_name": "output", "uuid": "7ce1ae59-f042-4349-9ed9-6b35b21a70d7"}]}, "4": {"annotation": "", "content_id": null, "errors": null, "id": 4, "input_connections": {}, "inputs": [{"description": "", "name": "metadata value(s) (needs to be selected by user)"}], "label": "metadata value(s) (needs to be selected by user)", "name": "Input parameter", "outputs": [], "position": {"left": 549.5, "top": 416}, "tool_id": null, "tool_state": "{\"parameter_type\": \"text\", \"optional\": false}", "tool_version": null, "type": "parameter_input", "uuid": "bcfd35a0-e462-4087-a0b4-ad399a3c2379", "when": null, "workflow_outputs": [{"label": null, "output_name": "output", "uuid": "0e169ec9-13de-4463-937a-fc28783287ab"}]}, "5": {"annotation": "", "content_id": null, "errors": null, "id": 5, "input_connections": {}, "inputs": [{"description": "", "name": "group by (needs to be selected by user)"}], "label": "group by (needs to be selected by user)", "name": "Input parameter", "outputs": [], "position": {"left": 1111.5, "top": 320}, "tool_id": null, "tool_state": "{\"parameter_type\": \"text\", \"optional\": false}", "tool_version": null, "type": "parameter_input", "uuid": "0c105e03-cb84-4b65-82d0-e7e30341851e", "when": null, "workflow_outputs": [{"label": null, "output_name": "output", "uuid": "9898e620-582e-45ce-afa5-aeeaa994eb7e"}]}, "6": {"annotation": "", "content_id": null, "errors": null, "id": 6, "input_connections": {}, "inputs": [{"description": "", "name": "facet (needs to be selected by user)"}], "label": "facet (needs to be selected by user)", "name": "Input parameter", "outputs": [], "position": {"left": 1111.5, "top": 420}, "tool_id": null, "tool_state": "{\"parameter_type\": \"text\", \"optional\": false}", "tool_version": null, "type": "parameter_input", "uuid": "84ff2a78-1f43-4152-9504-3fa0cbac5a29", "when": null, "workflow_outputs": [{"label": null, "output_name": "output", "uuid": "b5d8a0af-2276-469b-ae6a-f8efd89e9cf0"}]}, "7": {"annotation": "", "content_id": null, "errors": null, "id": 7, "input_connections": {}, "inputs": [{"description": "", "name": "additional taxonimic level to display"}], "label": "additional taxonimic level to display", "name": "Input parameter", "outputs": [], "position": {"left": 1109.7187227628226, "top": 516.8125194218089}, "tool_id": null, "tool_state": "{\"parameter_type\": \"text\", \"optional\": false}", "tool_version": null, "type": "parameter_input", "uuid": "ec3eba78-d11a-4a31-a731-96210a9e6806", "when": null, "workflow_outputs": [{"label": null, "output_name": "output", "uuid": "a37fe4b7-72cc-4ccb-840d-0f50b4ff7940"}]}, "8": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_load/ampvis2_load/2.8.6+galaxy1", "errors": null, "id": 8, "input_connections": {"metadata": {"id": 1, "output_name": "output"}, "otutable": {"id": 0, "output_name": "output"}, "taxonomy": {"id": 2, "output_name": "output"}}, "inputs": [], "label": null, "name": "ampvis2 load", "outputs": [{"name": "ampvis", "type": "ampvis2"}, {"name": "metadata_list_out", "type": "tabular"}, {"name": "taxonomy_list_out", "type": "tabular"}], "position": {"left": 300.765625, "top": 0}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_load/ampvis2_load/2.8.6+galaxy1", "tool_shed_repository": {"changeset_revision": "3481feabc54e", "name": "ampvis2_load", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"asv_otu_col_empty\": false, \"asv_sequences\": false, \"fasta\": {\"__class__\": \"ConnectedValue\"}, \"guess_column_types\": true, \"metadata\": {\"__class__\": \"ConnectedValue\"}, \"otutable\": {\"__class__\": \"ConnectedValue\"}, \"pruneSingletons\": false, \"taxonomy\": {\"__class__\": \"ConnectedValue\"}, \"tree\": {\"__class__\": \"ConnectedValue\"}, \"write_lists\": [\"tax\", \"metadata\"], \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "2.8.6+galaxy1", "type": "tool", "uuid": "b1d842e5-9c4a-42fa-b43b-cd82e4825e36", "when": null, "workflow_outputs": []}, "9": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_subset_samples/ampvis2_subset_samples/2.8.6+galaxy1", "errors": null, "id": 9, "input_connections": {"data": {"id": 8, "output_name": "ampvis"}, "metadata_list": {"id": 8, "output_name": "metadata_list_out"}, "vals": {"id": 4, "output_name": "output"}, "var": {"id": 3, "output_name": "output"}}, "inputs": [], "label": null, "name": "ampvis2 subset samples", "outputs": [{"name": "ampvis", "type": "ampvis2"}, {"name": "metadata_list_out", "type": "tabular"}], "position": {"left": 869, "top": 78.609375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_subset_samples/ampvis2_subset_samples/2.8.6+galaxy1", "tool_shed_repository": {"changeset_revision": "c8bfb923d7d4", "name": "ampvis2_subset_samples", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"data\": {\"__class__\": \"ConnectedValue\"}, \"invert\": false, \"metadata_list\": {\"__class__\": \"ConnectedValue\"}, \"minreads\": \"0\", \"normalise\": false, \"rarefy\": null, \"removeAbsents\": true, \"vals\": {\"__class__\": \"ConnectedValue\"}, \"var\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "2.8.6+galaxy1", "type": "tool", "uuid": "7470df63-3cce-4fc6-a9c3-9ba6782c5cb9", "when": null, "workflow_outputs": []}, "10": {"annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_heatmap/ampvis2_heatmap/2.8.6+galaxy1", "errors": null, "id": 10, "input_connections": {"data": {"id": 9, "output_name": "ampvis"}, "facet_by": {"id": 6, "output_name": "output"}, "group_by": {"id": 5, "output_name": "output"}, "metadata_list": {"id": 9, "output_name": "metadata_list_out"}, "tax_add": {"id": 7, "output_name": "output"}}, "inputs": [{"description": "runtime parameter for tool ampvis2 heatmap", "name": "data"}, {"description": "runtime parameter for tool ampvis2 heatmap", "name": "metadata_list"}], "label": null, "name": "ampvis2 heatmap", "outputs": [{"name": "plot", "type": "pdf"}], "position": {"left": 1537.484375, "top": 99.609375}, "post_job_actions": {}, "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/ampvis2_heatmap/ampvis2_heatmap/2.8.6+galaxy1", "tool_shed_repository": {"changeset_revision": "14695ae019be", "name": "ampvis2_heatmap", "owner": "iuc", "tool_shed": "toolshed.g2.bx.psu.edu"}, "tool_state": "{\"data\": {\"__class__\": \"RuntimeValue\"}, \"facet_by\": {\"__class__\": \"ConnectedValue\"}, \"group_by\": {\"__class__\": \"ConnectedValue\"}, \"max_abundance\": null, \"measure\": \"mean\", \"metadata_list\": {\"__class__\": \"RuntimeValue\"}, \"min_abundance\": \"0.1\", \"normalise\": true, \"normalise_by\": null, \"output_options\": {\"out_format\": \"pdf\", \"plot_width\": null, \"plot_height\": null}, \"plot_colorscale\": \"log10\", \"plot_functions_cond\": {\"plot_functions_sel\": \"no\", \"__current_case__\": 0}, \"plot_na\": {\"__class__\": \"ConnectedValue\"}, \"plot_values_cond\": {\"plot_values\": \"TRUE\", \"__current_case__\": 0, \"plot_values_size\": \"4\"}, \"scale_by\": null, \"showRemainingTaxa\": false, \"sort_by_cond\": {\"sort_by_sel\": \"no\", \"__current_case__\": 0}, \"tax_add\": {\"__class__\": \"ConnectedValue\"}, \"tax_aggregate\": \"Species\", \"tax_empty\": \"best\", \"tax_show_cond\": {\"tax_show_sel\": \"number\", \"__current_case__\": 0, \"tax_show\": \"10\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", "tool_version": "2.8.6+galaxy1", "type": "tool", "uuid": "5a06f0c2-12ad-49ff-9284-b5b1cee4911e", "when": null, "workflow_outputs": []}}, "tags": [], "uuid": "45b139f9-1526-4a3b-89b2-476ee43eb77d", "version": 20} \ No newline at end of file