Skip to content

Add SameStr workflow#1257

Open
xens25 wants to merge 11 commits into
galaxyproject:mainfrom
xens25:add-samestr-workflow
Open

Add SameStr workflow#1257
xens25 wants to merge 11 commits into
galaxyproject:mainfrom
xens25:add-samestr-workflow

Conversation

@xens25

@xens25 xens25 commented Jun 19, 2026

Copy link
Copy Markdown

FOR CONTRIBUTOR:

  • I have read the Adding workflows guidelines
  • License permits unrestricted use (educational + commercial)
  • Please also take note of the reviewer guidelines below to facilitate a smooth review process.

FOR REVIEWERS:

  • .dockstore.yml: file is present and aligned with creator metadata in workflow. ORCID identifiers are strongly encouraged in creator metadata. The .dockstore.yml file is required to run tests
  • Workflow is sufficiently generic to be used with lab data and does not hardcode sample names, reference data and can be run without reading an accompanying tutorial.
  • In workflow: annotation field contains short description of what the workflow does. Should start with This workflow does/runs/performs … xyz … to generate/analyze/etc …
  • In workflow: workflow inputs and outputs have human readable names (spaces are fine, no underscore, dash only where spelling dictates it), no abbreviation unless it is generally understood. Altering input or output labels requires adjusting these labels in the the workflow-tests.yml file as well
  • In workflow: name field should be human readable (spaces are fine, no underscore, dash only where spelling dictates it), no abbreviation unless generally understood
  • Workflow folder: prefer dash (-) over underscore (_), prefer all lowercase. Folder becomes repository in iwc-workflows organization and is included in TRS id
  • Readme explains what workflow does, what are valid inputs and what outputs users can expect. If a tutorial or other resources exist they can be linked. If a similar workflow exists in IWC readme should explain differences with existing workflow and when one might prefer one workflow over another
  • Changelog contains appropriate entries
  • Large files (> 100 KB) are uploaded to zenodo and location urls are used in test file

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new microbiome workflow repository entry for running SameStr-based strain sharing detection on shotgun metagenomic reads, including documentation, Dockstore metadata, and a Planemo test definition.

Changes:

  • Added the Galaxy workflow definition for SameStr with optional MetaPhlAn and mOTUs subworkflows.
  • Added a Planemo test YAML plus Dockstore metadata for publishing/testing.
  • Added initial README and CHANGELOG for the new workflow folder.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
workflows/microbiome/samestr-workflow/Galaxy-Workflow-SameStr_Workflow.ga New Galaxy workflow definition (SameStr + optional MetaPhlAn/mOTUs paths).
workflows/microbiome/samestr-workflow/Galaxy-Workflow-SameStr_Workflow-tests.yml New Planemo test definition for the workflow (currently uses non-portable dataset references).
workflows/microbiome/samestr-workflow/.dockstore.yml Dockstore descriptor pointing to the workflow and test files (missing ORCIDs).
workflows/microbiome/samestr-workflow/README.md Workflow documentation (currently FMT-specific and outputs description doesn’t match workflow outputs).
workflows/microbiome/samestr-workflow/CHANGELOG.md Initial changelog entry for first release.

Comment thread workflows/microbiome/samestr-workflow/README.md Outdated

## Inputs

- **Raw Reads**: A collection of paired-end FASTQ files (`.fastq.gz`) representing pre-FMT, donor, and post-FMT samples
Comment on lines +16 to +21
## Outputs

- **stats_file**: Summary statistics of SNV profiles per sample
- **taxon_counts**: Taxonomic abundance table
- **strain_events**: Strain-level events detected across samples
- **cooccurrences**: Strain co-occurrence patterns across samples
Comment on lines +80 to +84
"outputs": [
{
"label": "stats_file_metaphlan",
"output_name": "stats_file_metaphlan"
},
Comment on lines +258 to +262
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"alignment\": {\"alignment_tool\": {\"tool_choice\": \"bowtie2\", \"__current_case__\": 0, \"bowtie2_db\": \"hg19\"}, \"save_contaminants\": false}, \"fastqc\": {\"fastqc_report\": {\"select_fastqc\": \"no_fastqc\", \"__current_case__\": 1}, \"run_trim_repetitive\": false}, \"log_level\": \"INFO\", \"read_type\": {\"select_read_type\": \"paired\", \"__current_case__\": 1, \"save_unmatched\": true, \"paired_collection\": {\"__class__\": \"ConnectedValue\"}}, \"tandem\": {\"trf_step\": {\"trf_bool\": \"skip\", \"__current_case__\": 1}}, \"trimmomatic\": {\"trimmomatic_step\": {\"decide_trimmomatic\": \"run_trimmomatic\", \"__current_case__\": 0, \"sequencer\": \"NexteraPE\"}}, \"__page__\": 0, \"__rerun_remap_job_id__\": null}",
"tool_uuid": null,
"tool_version": "0.12.1+galaxy1",
Comment on lines +9 to +13
authors:
- name: 'Xenia '
familyName: "Morera Mart\xEDnez"
- name: 'Saim '
familyName: Momin
Comment on lines +4 to +8
subclass: Galaxy
publish: true
primaryDescriptorPath: /Galaxy-Workflow-SameStr_Workflow.ga
testParameterFiles:
- /Galaxy-Workflow-SameStr_Workflow-tests.yml
Comment thread workflows/microbiome/samestr-workflow/samestr-workflow.ga Outdated
Comment thread workflows/microbiome/samestr-workflow/Galaxy-Workflow-SameStr_Workflow-tests.yml Outdated
Comment thread workflows/microbiome/samestr-workflow/Galaxy-Workflow-SameStr_Workflow-tests.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

Test Results (powered by Planemo)

Test Summary

Test State Count
Total 1
Passed 0
Error 1
Failure 0
Skipped 0
Errored Tests
  • ❌ Galaxy-Workflow-SameStr_Workflow.ga_0

    Execution Problem:

    • Unexpected HTTP status code: 400: {"err_msg":"Wrong  id ( 26c75dcccb616ac82be854397f71b1c9 ) specified, unable to decode.","err_code":400009}
      

@github-actions

Copy link
Copy Markdown

Test Results (powered by Planemo)

Test Summary

Test State Count
Total 1
Passed 0
Error 1
Failure 0
Skipped 0
Errored Tests
  • ❌ samestr-workflow.ga_0

    Execution Problem:

    • Failed to run workflow, invocation ended in [failed] state.
      

    Workflow invocation details

    • Invocation Messages

      • Invocation scheduling failed because step 6 requires a dataset, but dataset entered a failed state.
    • Steps
      • Step 1: Raw Reads:

        • step_state: scheduled
      • Step 2: Run mOTUs:

        • step_state: scheduled
      • Step 3: Run MetaPhlAn:

        • step_state: scheduled
      • Step 4: Trimming and Host Removal (toolshed.g2.bx.psu.edu/repos/iuc/kneaddata/kneaddata/0.12.1+galaxy1):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "ccc0fdb26ccb11f18e447c1e52f3f80f"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpnus7uga0/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 1, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 2:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "ccc0fdb26ccb11f18e447c1e52f3f80f"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpnus7uga0/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 4, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 3:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "ccc0fdb26ccb11f18e447c1e52f3f80f"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpnus7uga0/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 7, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
      • Step 5: Merge Collections (__MERGE_COLLECTION__):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is ok

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __workflow_invocation_uuid__ "ccc0fdb26ccb11f18e447c1e52f3f80f"
              advanced {"conflict": {"__current_case__": 3, "duplicate_options": "keep_first"}}
              inputs [{"__index__": 0, "input": {"values": [{"id": 2, "src": "hdca"}]}}, {"__index__": 1, "input": {"values": [{"id": 3, "src": "hdca"}]}}]
      • Step 6: mOTUs Subworkflow:

        • step_state: new

        • Subworkflow Steps
      • Step 7: Metaphlan Subworkflow:

        • step_state: new

        • Subworkflow Steps
    • Other invocation details
      • error_message

        • Failed to run workflow, invocation ended in [failed] state.
      • history_id

        • e67548c604486e68
      • history_state

        • error
      • invocation_id

        • e67548c604486e68
      • invocation_state

        • failed
      • messages

        • [{'dependent_workflow_step_id': None, 'hda_id': 'df3057c96776898c', 'reason': 'dataset_failed', 'workflow_step_id': 5}]
      • workflow_id

        • e4394a19e92b3aca

@xens25 xens25 closed this Jun 22, 2026
@xens25 xens25 reopened this Jun 22, 2026
@mvdbeek mvdbeek requested a review from Copilot June 23, 2026 14:24
testParameterFiles:
- /samestr-workflow-tests.yml
authors:
- name: 'Xenia Morera Martinez'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please put your ORCID id here ?

"name": "Xenia "
},
{
"class": "Person",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't match the authors in .dockstore.yml, but please also add the orcid ids here

"owner": "iuc",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"alignment\": {\"alignment_tool\": {\"tool_choice\": \"bowtie2\", \"__current_case__\": 0, \"bowtie2_db\": \"hg19\"}, \"save_contaminants\": false}, \"fastqc\": {\"fastqc_report\": {\"select_fastqc\": \"no_fastqc\", \"__current_case__\": 1}, \"run_trim_repetitive\": false}, \"log_level\": \"INFO\", \"read_type\": {\"select_read_type\": \"paired\", \"__current_case__\": 1, \"save_unmatched\": true, \"paired_collection\": {\"__class__\": \"ConnectedValue\"}}, \"tandem\": {\"trf_step\": {\"trf_bool\": \"skip\", \"__current_case__\": 1}}, \"trimmomatic\": {\"trimmomatic_step\": {\"decide_trimmomatic\": \"run_trimmomatic\", \"__current_case__\": 0, \"sequencer\": \"NexteraPE\"}}, \"__page__\": 0, \"__rerun_remap_job_id__\": null}",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please make the bowtie database configurable ?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also seems like sequencer is something to make configurable ?

This workflow processes paired-end shotgun metagenomic sequencing reads from multiple samples. It performs the following steps:

- **Preprocessing**: Quality trimming and host read removal using KneadData
- **Taxonomic profiling**: MetaPhlAn4 or mOTUs for taxonomic classification

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this different from Metaphlan below ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's the same step. I'll add them together

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 8 comments.

Comment thread workflows/microbiome/samestr-workflow/samestr-workflow.ga Outdated
Comment thread workflows/microbiome/samestr-workflow/samestr-workflow.ga Outdated
Comment thread workflows/microbiome/samestr-workflow/.dockstore.yml Outdated
Comment on lines +223 to +227
"name": "kneaddata",
"owner": "iuc",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"alignment\": {\"alignment_tool\": {\"tool_choice\": \"bowtie2\", \"__current_case__\": 0, \"bowtie2_db\": \"hg19\"}, \"save_contaminants\": false}, \"fastqc\": {\"fastqc_report\": {\"select_fastqc\": \"no_fastqc\", \"__current_case__\": 1}, \"run_trim_repetitive\": false}, \"log_level\": \"INFO\", \"read_type\": {\"select_read_type\": \"paired\", \"__current_case__\": 1, \"save_unmatched\": true, \"paired_collection\": {\"__class__\": \"ConnectedValue\"}}, \"tandem\": {\"trf_step\": {\"trf_bool\": \"skip\", \"__current_case__\": 1}}, \"trimmomatic\": {\"trimmomatic_step\": {\"decide_trimmomatic\": \"run_trimmomatic\", \"__current_case__\": 0, \"sequencer\": \"NexteraPE\"}}, \"__page__\": 0, \"__rerun_remap_job_id__\": null}",
Comment on lines +1507 to +1511
"name": "metaphlan",
"owner": "iuc",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"analysis\": {\"analysis_type\": {\"t\": \"rel_ab\", \"__current_case__\": 0, \"tax_lev\": {\"tax_lev\": \"a\", \"__current_case__\": 0, \"split_levels\": false}}, \"min_alignment_len\": null, \"organism_profiling\": null, \"stat\": \"tavg_g\", \"stat_q\": \"0.2\", \"perc_nonzero\": \"0.33\", \"ignore_markers\": {\"__class__\": \"RuntimeValue\"}, \"avoid_disqm\": true}, \"inputs\": {\"in\": {\"selector\": \"raw\", \"__current_case__\": 0, \"raw_in\": {\"selector\": \"paired_collection\", \"__current_case__\": 2, \"in\": {\"__class__\": \"ConnectedValue\"}}, \"read_min_len\": \"70\", \"mapping\": {\"bt2_ps\": \"very-sensitive\", \"min_mapq_val\": \"5\"}}, \"db\": {\"db_selector\": \"cached\", \"__current_case__\": 0, \"cached_db\": \"mpa_vJan25_CHOCOPhlAnSGB_202503-11062025\", \"viral_analysis\": {\"profile_vsc\": \"\", \"__current_case__\": 1}}}, \"out\": {\"sample_id_key\": \"SampleID\", \"sample_id\": \"Metaphlan_Analysis\", \"use_group_representative\": false, \"CAMI_format_output\": false, \"skip_unclassified_estimation\": false, \"biom_format_output\": false, \"krona_output\": false}, \"subsample\": {\"selector\": \"no\", \"__current_case__\": 0}, \"test\": \"false\", \"__page__\": 0, \"__rerun_remap_job_id__\": null}",
Comment on lines +63 to +67
{
"class": "Person",
"familyName": "Morera Mart\u00ednez",
"name": "Xenia "
},
"owner": "bgruening",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"algorithm_advanced_options\": {\"advanced_options\": {\"customize_algorithm_options\": \"default_options\", \"__current_case__\": 1}}, \"all_taxonomic_level\": false, \"biom_format\": false, \"cami_format_option\": {\"cami_options\": \"no\", \"__current_case__\": 1}, \"full_rank_taxonomy\": false, \"full_species_name\": false, \"inputs\": {\"input_type\": {\"selector\": \"reads\", \"__current_case__\": 0, \"reads_type\": {\"selector\": \"paired\", \"__current_case__\": 0, \"forward_reads\": {\"__class__\": \"ConnectedValue\"}, \"reverse_reads\": {\"__class__\": \"ConnectedValue\"}}}, \"sample_name\": null, \"db\": {\"db_source\": \"cached\", \"__current_case__\": 0, \"db_cached\": \"db_from_2026-04-27T094930Z\"}}, \"ncbi_taxonomy_ids\": false, \"ref_motus\": false, \"result_as_counts\": false, \"save_bam\": false, \"save_mgc\": false, \"taxonomic_level_option\": {\"taxonomic_option\": \"no\", \"__current_case__\": 1}, \"__page__\": 0, \"__rerun_remap_job_id__\": null}",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one too should be configurable

Comment thread workflows/microbiome/samestr-workflow/.dockstore.yml Outdated
@github-actions

Copy link
Copy Markdown

Test Results (powered by Planemo)

Test Summary

Test State Count
Total 1
Passed 0
Error 1
Failure 0
Skipped 0
Errored Tests
  • ❌ samestr-workflow.ga_0

    Execution Problem:

    • Failed to run workflow, invocation ended in [failed] state.
      

    Workflow invocation details

    • Invocation Messages

      • Invocation scheduling failed because step 6 requires a dataset, but dataset entered a failed state.
    • Steps
      • Step 1: Raw Reads:

        • step_state: scheduled
      • Step 2: Run mOTUs:

        • step_state: scheduled
      • Step 3: Run MetaPhlAn:

        • step_state: scheduled
      • Step 4: Trimming and Host Removal (toolshed.g2.bx.psu.edu/repos/iuc/kneaddata/kneaddata/0.12.1+galaxy1):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "b9a90de46f1111f18e447ced8d3d705f"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmprgyfg3d9/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 1, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 2:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "b9a90de46f1111f18e447ced8d3d705f"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmprgyfg3d9/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 4, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 3:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "b9a90de46f1111f18e447ced8d3d705f"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmprgyfg3d9/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 7, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
      • Step 5: Merge Collections (__MERGE_COLLECTION__):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is ok

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __workflow_invocation_uuid__ "b9a90de46f1111f18e447ced8d3d705f"
              advanced {"conflict": {"__current_case__": 3, "duplicate_options": "keep_first"}}
              inputs [{"__index__": 0, "input": {"values": [{"id": 2, "src": "hdca"}]}}, {"__index__": 1, "input": {"values": [{"id": 3, "src": "hdca"}]}}]
      • Step 6: mOTUs Subworkflow:

        • step_state: new

        • Subworkflow Steps
      • Step 7: Metaphlan Subworkflow:

        • step_state: new

        • Subworkflow Steps
    • Other invocation details
      • error_message

        • Failed to run workflow, invocation ended in [failed] state.
      • history_id

        • e8762844deaab4fe
      • history_state

        • error
      • invocation_id

        • e8762844deaab4fe
      • invocation_state

        • failed
      • messages

        • [{'dependent_workflow_step_id': None, 'hda_id': 'cbf528282c4d7152', 'reason': 'dataset_failed', 'workflow_step_id': 5}]
      • workflow_id

        • 3d220d7127134253

xens25 and others added 3 commits June 23, 2026 17:26
@xens25

xens25 commented Jun 23, 2026

Copy link
Copy Markdown
Author

@mvdbeek Thanks for the suggestions. I added the fixes, let me know if there's anything else that needs to be modified

@mvdbeek

mvdbeek commented Jun 25, 2026

Copy link
Copy Markdown
Member

I see you've made the parameters runtime values, but can you please make them workflow input parameters ? Here's a tutorial that hopefully covers how to do this: https://training.galaxyproject.org/training-material/topics/galaxy-interface/tutorials/workflow-parameters/tutorial.html

@xens25

xens25 commented Jun 30, 2026

Copy link
Copy Markdown
Author

@mvdbeek Thanks for the tutorial, it was very helpful. I'm not sure if it's now correct, I've added the parameters as text inputs in both the subworkflows and workflow.

@xens25 xens25 requested a review from mvdbeek July 2, 2026 07:09
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Test Results (powered by Planemo)

Test Summary

Test State Count
Total 1
Passed 0
Error 1
Failure 0
Skipped 0
Errored Tests
  • ❌ samestrgal.ga_0

    Execution Problem:

    • Failed to run workflow, invocation ended in [failed] state.
      

    Workflow invocation details

    • Invocation Messages

      • Invocation scheduling failed because step 11 requires a dataset, but dataset entered a failed state.
    • Steps
      • Step 1: Raw Reads:

        • step_state: scheduled
      • Step 2: Select Host reference genome:

        • step_state: scheduled
      • Step 3: Select Sequencer for Trimmomatic:

        • step_state: scheduled
      • Step 4: Run mOTUs:

        • step_state: scheduled
      • Step 5: Select the mOTUs database:

        • step_state: scheduled
      • Step 6: Select SameStr database:

        • step_state: scheduled
      • Step 7: Run MetaPhlAn:

        • step_state: scheduled
      • Step 8: Select MetaPhlAn Database:

        • step_state: scheduled
      • Step 9: Trimming and Host Removal (toolshed.g2.bx.psu.edu/repos/iuc/kneaddata/kneaddata/0.12.1+galaxy1):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "97d1a53275ec11f1b7fc7c1e52e11cf7"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmp8v4bg43c/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 1, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 2:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "97d1a53275ec11f1b7fc7c1e52e11cf7"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmp8v4bg43c/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 4, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 3:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "97d1a53275ec11f1b7fc7c1e52e11cf7"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmp8v4bg43c/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 7, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
      • Step 10: Merge Collections (__MERGE_COLLECTION__):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is ok

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __workflow_invocation_uuid__ "97d1a53275ec11f1b7fc7c1e52e11cf7"
              advanced {"conflict": {"__current_case__": 3, "duplicate_options": "keep_first"}}
              inputs [{"__index__": 0, "input": {"values": [{"id": 2, "src": "hdca"}]}}, {"__index__": 1, "input": {"values": [{"id": 3, "src": "hdca"}]}}]
      • Step 11: mOTUs Subworkflow:

        • step_state: new

        • Subworkflow Steps
      • Step 12: Metaphlan Subworkflow:

        • step_state: new

        • Subworkflow Steps
    • Other invocation details
      • error_message

        • Failed to run workflow, invocation ended in [failed] state.
      • history_id

        • 0023394aa3e8dbe6
      • history_state

        • error
      • invocation_id

        • 0023394aa3e8dbe6
      • invocation_state

        • failed
      • messages

        • [{'dependent_workflow_step_id': None, 'hda_id': 'ec3c52b53378337b', 'reason': 'dataset_failed', 'workflow_step_id': 10}]
      • workflow_id

        • 14c18da32daeaf08

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Test Results (powered by Planemo)

Test Summary

Test State Count
Total 1
Passed 0
Error 1
Failure 0
Skipped 0
Errored Tests
  • ❌ samestrgal.ga_0

    Execution Problem:

    • Failed to run workflow, invocation ended in [failed] state.
      

    Workflow invocation details

    • Invocation Messages

      • Invocation scheduling failed because step 12 requires a dataset, but dataset entered a failed state.
    • Steps
      • Step 1: Raw Reads:

        • step_state: scheduled
      • Step 2: Select Host reference genome:

        • step_state: scheduled
      • Step 3: Select Sequencer for Trimmomatic:

        • step_state: scheduled
      • Step 4: Run mOTUs:

        • step_state: scheduled
      • Step 5: Select the mOTUs database:

        • step_state: scheduled
      • Step 6: Select SameStr database mOTUs:

        • step_state: scheduled
      • Step 7: Select SameStr database MetaPhlAn:

        • step_state: scheduled
      • Step 8: Run MetaPhlAn:

        • step_state: scheduled
      • Step 9: Select MetaPhlAn Database:

        • step_state: scheduled
      • Step 10: Trimming and Host Removal (toolshed.g2.bx.psu.edu/repos/iuc/kneaddata/kneaddata/0.12.1+galaxy1):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "752910d4763111f1b7fc7ced8d7b7cc1"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpgqairzrw/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 1, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 2:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "752910d4763111f1b7fc7ced8d7b7cc1"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpgqairzrw/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 4, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 3:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "752910d4763111f1b7fc7ced8d7b7cc1"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpgqairzrw/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 7, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
      • Step 11: Merge Collections (__MERGE_COLLECTION__):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is ok

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __workflow_invocation_uuid__ "752910d4763111f1b7fc7ced8d7b7cc1"
              advanced {"conflict": {"__current_case__": 3, "duplicate_options": "keep_first"}}
              inputs [{"__index__": 0, "input": {"values": [{"id": 2, "src": "hdca"}]}}, {"__index__": 1, "input": {"values": [{"id": 3, "src": "hdca"}]}}]
      • Step 12: mOTUs Subworkflow:

        • step_state: new

        • Subworkflow Steps
      • Step 13: Metaphlan Subworkflow:

        • step_state: new

        • Subworkflow Steps
    • Other invocation details
      • error_message

        • Failed to run workflow, invocation ended in [failed] state.
      • history_id

        • 759fa35c6f9f412a
      • history_state

        • queued
      • invocation_id

        • 759fa35c6f9f412a
      • invocation_state

        • failed
      • messages

        • [{'dependent_workflow_step_id': None, 'hda_id': '2d841fb5c7a91302', 'reason': 'dataset_failed', 'workflow_step_id': 11}]
      • workflow_id

        • a238847430e412c0

@xens25

xens25 commented Jul 3, 2026

Copy link
Copy Markdown
Author

I'm not sure why the test is failing, in the terminal both lint and test pass. I think it might be related to the subworkflows. @mvdbeek could you provide some insight on how to fix this?

@mvdbeek

mvdbeek commented Jul 3, 2026

Copy link
Copy Markdown
Member

Most of the databases and database values that the workflow uses are only available at usegalaxy.eu and are not portable to other Galaxy instances. We load the distributed CVMFS file system in the tests so that anyone can use these workflows. I'll see that we can sync these but that will take a couple of days.

I would also strongly suggest using this for all databases instead of pre-specifying the valid options:
Screenshot 2026-07-03 at 09 25 50

@xens25

xens25 commented Jul 7, 2026

Copy link
Copy Markdown
Author

Thanks @mvdbeek ! I’ve updated the database option. Let me know if any further fixes are needed from my side.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Test Results (powered by Planemo)

Test Summary

Test State Count
Total 1
Passed 0
Error 1
Failure 0
Skipped 0
Errored Tests
  • ❌ samestrgal.ga_0

    Execution Problem:

    • Failed to run workflow, invocation ended in [failed] state.
      

    Workflow invocation details

    • Invocation Messages

      • Invocation scheduling failed because step 9 requires a dataset, but dataset entered a failed state.
    • Steps
      • Step 1: Raw Reads:

        • step_state: scheduled
      • Step 2: Select Host reference genome:

        • step_state: scheduled
      • Step 3: Select Sequencer for Trimmomatic:

        • step_state: scheduled
      • Step 4: Select SameStr database MetaPhlAn:

        • step_state: scheduled
      • Step 5: Run MetaPhlAn:

        • step_state: scheduled
      • Step 6: Select MetaPhlAn Database:

        • step_state: scheduled
      • Step 7: Trimming and Host Removal (toolshed.g2.bx.psu.edu/repos/iuc/kneaddata/kneaddata/0.12.1+galaxy1):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "d8fe0c347aa711f18d84000d3a7e43b5"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpw4dmkd45/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 1, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 2:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "d8fe0c347aa711f18d84000d3a7e43b5"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpw4dmkd45/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 4, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
          • Job 3:

            • Job state is error

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __input_ext "input"
              __workflow_invocation_uuid__ "d8fe0c347aa711f18d84000d3a7e43b5"
              alignment {"alignment_tool": {"__current_case__": 0, "bowtie2_db": "hg19", "tool_choice": "bowtie2"}, "save_contaminants": false}
              chromInfo "/tmp/tmpw4dmkd45/galaxy-dev/tool-data/shared/ucsc/chrom/?.len"
              dbkey "?"
              fastqc {"fastqc_report": {"__current_case__": 1, "select_fastqc": "no_fastqc"}, "run_trim_repetitive": false}
              log_level "INFO"
              read_type {"__current_case__": 1, "paired_collection": {"values": [{"id": 7, "src": "dce"}]}, "save_unmatched": true, "select_read_type": "paired"}
              tandem {"trf_step": {"__current_case__": 1, "trf_bool": "skip"}}
              trimmomatic {"trimmomatic_step": {"__current_case__": 0, "decide_trimmomatic": "run_trimmomatic", "sequencer": "NexteraPE"}}
      • Step 8: Merge Collections (__MERGE_COLLECTION__):

        • step_state: scheduled

        • Jobs
          • Job 1:

            • Job state is ok

            Traceback:

            Job Parameters:

            • Job parameter Parameter value
              __workflow_invocation_uuid__ "d8fe0c347aa711f18d84000d3a7e43b5"
              advanced {"conflict": {"__current_case__": 3, "duplicate_options": "keep_first"}}
              inputs [{"__index__": 0, "input": {"values": [{"id": 2, "src": "hdca"}]}}, {"__index__": 1, "input": {"values": [{"id": 3, "src": "hdca"}]}}]
      • Step 9: Metaphlan Subworkflow:

        • step_state: new

        • Subworkflow Steps
    • Other invocation details
      • error_message

        • Failed to run workflow, invocation ended in [failed] state.
      • history_id

        • cc211d664d64c975
      • history_state

        • error
      • invocation_id

        • cc211d664d64c975
      • invocation_state

        • failed
      • messages

        • [{'dependent_workflow_step_id': None, 'hda_id': '74e28a2d181a5d0c', 'reason': 'dataset_failed', 'workflow_step_id': 8, 'workflow_step_index_path': [8]}]
      • workflow_id

        • ad108a538eb654c5

@xens25

xens25 commented Jul 9, 2026

Copy link
Copy Markdown
Author

Most of the databases and database values that the workflow uses are only available at usegalaxy.eu and are not portable to other Galaxy instances. We load the distributed CVMFS file system in the tests so that anyone can use these workflows. I'll see that we can sync these but that will take a couple of days.

I would also strongly suggest using this for all databases instead of pre-specifying the valid options: Screenshot 2026-07-03 at 09 25 50

Do we have any updates on this?

@mvdbeek

mvdbeek commented Jul 12, 2026

Copy link
Copy Markdown
Member

working on that here: galaxyproject/idc#89.
most of the databases are there but still working on samestr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants