SamestrGal

microbiome-samestr-strain-detection/samestr-strain-detection

Author(s)
Xenia
version Version
1
last_modification Last updated
Aug 17, 2026
license License
MIT
galaxy-tags Tags
Metagenomics
microbiome
shared-strains

Features
Tutorial
hands_on Detection of shared microbial strains with SameStr

Workflow Testing
Tests: ✅
Results: Not yet automated
FAIRness purl PURL
https://gxy.io/GTN:
RO-Crate logo with flask Download Workflow RO-Crate
Launch in Tutorial Mode question
galaxy-download Download
flowchart TD
  0["ℹ️ Input Collection\nRaw Reads"];
  style 0 stroke:#2c3143,stroke-width:4px;
  1["ℹ️ Input Parameter\nSelect Host reference genome"];
  style 1 fill:#ded,stroke:#393,stroke-width:4px;
  2["ℹ️ Input Parameter\nSelect Sequencer for Trimmomatic"];
  style 2 fill:#ded,stroke:#393,stroke-width:4px;
  3["ℹ️ Input Parameter\nRun MetaPhlAn"];
  style 3 fill:#ded,stroke:#393,stroke-width:4px;
  4["ℹ️ Input Parameter\nSelect MetaPhlAn Database"];
  style 4 fill:#ded,stroke:#393,stroke-width:4px;
  5["ℹ️ Input Parameter\nSelect SameStr database"];
  style 5 fill:#ded,stroke:#393,stroke-width:4px;
  6["ℹ️ Input Parameter\nPercent identity"];
  style 6 fill:#ded,stroke:#393,stroke-width:4px;
  7["ℹ️ Input Parameter\nMinimum alignment length"];
  style 7 fill:#ded,stroke:#393,stroke-width:4px;
  8["ℹ️ Input Parameter\nMinimum base quality"];
  style 8 fill:#ded,stroke:#393,stroke-width:4px;
  9["ℹ️ Input Parameter\nMinimum alignment quality"];
  style 9 fill:#ded,stroke:#393,stroke-width:4px;
  10["ℹ️ Input Parameter\nMinimum vertical coverage"];
  style 10 fill:#ded,stroke:#393,stroke-width:4px;
  11["ℹ️ Input Parameter\nSameStr Filter: Minimum samples per clade"];
  style 11 fill:#ded,stroke:#393,stroke-width:4px;
  12["ℹ️ Input Parameter\nSameStr Filter: Marker truncation length"];
  style 12 fill:#ded,stroke:#393,stroke-width:4px;
  13["ℹ️ Input Parameter\nSameStr Filter: Nucleotides minimum variant coverage"];
  style 13 fill:#ded,stroke:#393,stroke-width:4px;
  14["ℹ️ Input Parameter\nSameStr Filter: Minimum variant coverage fraction"];
  style 14 fill:#ded,stroke:#393,stroke-width:4px;
  15["ℹ️ Input Parameter\nSameStr Filter: Minimum position coverage"];
  style 15 fill:#ded,stroke:#393,stroke-width:4px;
  16["ℹ️ Input Parameter\nSameStr Filter: Position coverage standard deviation cutoff"];
  style 16 fill:#ded,stroke:#393,stroke-width:4px;
  17["ℹ️ Input Parameter\nSameStr Filter: Minimum horizontal coverage"];
  style 17 fill:#ded,stroke:#393,stroke-width:4px;
  18["ℹ️ Input Parameter\nSameStr Filter: Minimum sample coverage per position"];
  style 18 fill:#ded,stroke:#393,stroke-width:4px;
  19["ℹ️ Input Parameter\nSameStr Summarize: Minimum overlap for comparison"];
  style 19 fill:#ded,stroke:#393,stroke-width:4px;
  20["ℹ️ Input Parameter\nSameStr Summarize: Minimum similarity for shared strains"];
  style 20 fill:#ded,stroke:#393,stroke-width:4px;
  21["Trimming and Host Removal"];
  1 -->|output| 21;
  0 -->|output| 21;
  2 -->|output| 21;
  22["Merge Collections"];
  21 -->|paired_output| 22;
  21 -->|unmatched_paired| 22;
  23["MetaPhlAn"];
  4 -->|output| 23;
  22 -->|output| 23;
  3 -->|output| 23;
  24["Pick parameter value"];
  23 -->|output_file| 24;
  25["Pick parameter value"];
  23 -->|sam_output_file| 25;
  26["Samtools view"];
  25 -->|data_param| 26;
  27["SameStr Convert"];
  26 -->|outputsam| 27;
  6 -->|output| 27;
  7 -->|output| 27;
  9 -->|output| 27;
  8 -->|output| 27;
  10 -->|output| 27;
  5 -->|output| 27;
  24 -->|data_param| 27;
  28["Flatten collection"];
  27 -->|npz_files| 28;
  29["Apply rules"];
  28 -->|output| 29;
  30["SameStr Merge"];
  5 -->|output| 30;
  29 -->|output| 30;
  31["SameStr Filter"];
  11 -->|output| 31;
  12 -->|output| 31;
  5 -->|output| 31;
  18 -->|output| 31;
  30 -->|sample_name| 31;
  30 -->|npz_files| 31;
  17 -->|output| 31;
  15 -->|output| 31;
  16 -->|output| 31;
  14 -->|output| 31;
  13 -->|output| 31;
  32["Filter empty datasets"];
  31 -->|filtered_profile| 32;
  33["Filter empty datasets"];
  31 -->|sample_names| 33;
  34["SameStr Stats"];
  5 -->|output| 34;
  33 -->|output| 34;
  32 -->|output| 34;
  677751a2-4e20-482e-a6d3-331c193c424f["Output\nstats file"];
  34 --> 677751a2-4e20-482e-a6d3-331c193c424f;
  style 677751a2-4e20-482e-a6d3-331c193c424f stroke:#2c3143,stroke-width:4px;
  35["SameStr Compare"];
  5 -->|output| 35;
  33 -->|output| 35;
  32 -->|output| 35;
  36["SameStr Summarize"];
  19 -->|output| 36;
  20 -->|output| 36;
  5 -->|output| 36;
  35 -->|overlap_file| 36;
  35 -->|fraction_file| 36;
  23 -->|output_file| 36;
  c85d67a8-ade1-4330-8339-224e6b70541c["Output\ncooccurrences"];
  36 --> c85d67a8-ade1-4330-8339-224e6b70541c;
  style c85d67a8-ade1-4330-8339-224e6b70541c stroke:#2c3143,stroke-width:4px;
  1ce03cd6-d170-49c1-a3f9-2700ea61fc63["Output\nstrain events"];
  36 --> 1ce03cd6-d170-49c1-a3f9-2700ea61fc63;
  style 1ce03cd6-d170-49c1-a3f9-2700ea61fc63 stroke:#2c3143,stroke-width:4px;
  e6a7aa1e-8eb6-410a-ae2d-f4a69883d891["Output\ntaxon counts"];
  36 --> e6a7aa1e-8eb6-410a-ae2d-f4a69883d891;
  style e6a7aa1e-8eb6-410a-ae2d-f4a69883d891 stroke:#2c3143,stroke-width:4px;

Inputs

Input Label
Input dataset collection Raw Reads
Input parameter Select Host reference genome
Input parameter Select Sequencer for Trimmomatic
Input parameter Run MetaPhlAn
Input parameter Select MetaPhlAn Database
Input parameter Select SameStr database
Input parameter Percent identity
Input parameter Minimum alignment length
Input parameter Minimum base quality
Input parameter Minimum alignment quality
Input parameter Minimum vertical coverage
Input parameter SameStr Filter: Minimum samples per clade
Input parameter SameStr Filter: Marker truncation length
Input parameter SameStr Filter: Nucleotides minimum variant coverage
Input parameter SameStr Filter: Minimum variant coverage fraction
Input parameter SameStr Filter: Minimum position coverage
Input parameter SameStr Filter: Position coverage standard deviation cutoff
Input parameter SameStr Filter: Minimum horizontal coverage
Input parameter SameStr Filter: Minimum sample coverage per position
Input parameter SameStr Summarize: Minimum overlap for comparison
Input parameter SameStr Summarize: Minimum similarity for shared strains

Outputs

From Output Label
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_stats/1.2025.111+galaxy0 SameStr Stats
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_summarize/1.2025.111+galaxy0 SameStr Summarize

Tools

Tool Links
__APPLY_RULES__
__FILTER_EMPTY_DATASETS__
__FLATTEN__
__MERGE_COLLECTION__
toolshed.g2.bx.psu.edu/repos/iuc/kneaddata/kneaddata/0.12.1+galaxy1 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/metaphlan/metaphlan/4.2.4+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/pick_value/pick_value/0.2.0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_compare/1.2025.111+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_convert/1.2025.111+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_filter/1.2025.111+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_merge/1.2025.111+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_stats/1.2025.111+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_summarize/1.2025.111+galaxy0 View in ToolShed
toolshed.g2.bx.psu.edu/repos/iuc/samtools_view/samtools_view/1.22+galaxy2 View in ToolShed

To use these workflows in Galaxy you can either click the links to download the workflows, or you can right-click and copy the link to the workflow which can be used in the Galaxy form to import workflows.

Importing into Galaxy

Below are the instructions for importing these workflows directly into your Galaxy server of choice to start using them!
Hands On: Importing a workflow
  1. Click on galaxy-workflows-activity Workflows in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
  2. Click on galaxy-upload Import at the top-right of the screen
  3. Provide your workflow
    • Option 1: Paste the URL of the workflow into the box labelled “Archived Workflow URL”
    • Option 2: Upload the workflow file in the box labelled “Archived Workflow File”
  4. Click the Import workflow button

Below is a short video demonstrating how to import a workflow from GitHub using this procedure:

Video: Importing a workflow from URL

Version History

Version Commit Time Comments
1 0f30f853a 2026-08-05 13:29:22 add all fixes

For Admins

Installing the workflow tools

wget https://training.galaxyproject.org/training-material/topics/microbiome/tutorials/samestr-strain-detection/workflows/samestr-strain-detection.ga -O workflow.ga
workflow-to-tools -w workflow.ga -o tools.yaml
shed-tools install -g GALAXY -a API_KEY -t tools.yaml
workflow-install -g GALAXY -a API_KEY -w workflow.ga --publish-workflows