Add SamestrGal tutorial draft - #7009
Conversation
@xens25 Nice work on this - the pedagogical structure is genuinely good. The key-terms box, the per-tool parameter-explanation comment boxes, the "Why these parameter values?" details box, and the warning about the reduced dataset all show real care, and the question/solution boxes target the right concepts. Comments below cover Blockers1. All four referenced images are missing from the PR. None of the 6 added files is an image, and all four paths 404 on the branch:
This is why 2. The PR description is still Front matter (L1–L27)
NamingThe tutorial uses SamestrGal, SameStr, and Samestr interchangeably, sometimes in the same sentence — e.g. the objectives at L12–L14 ("Run the SamestrGal workflow… Explain the role of each tool in the SameStr workflow"), and L62 / L66. Please settle on one convention: SameStr for the tool/suite, and either drop "SamestrGal" entirely or define it once as the name of the Galaxy workflow. I'd lean toward titling around the analysis rather than a coined name — e.g. "Detection of shared microbial strains with SameStr" — and renaming the directory to StructureThe tutorial runs the same analysis twice. Section 2 (L114) runs the complete workflow, then section 3 (L175) repeats every step manually. The parameter values are duplicated between the two sections, which is a maintenance trap — they will drift. Two options:
Related: L177 tells the reader to "start by uploading the data and building a paired collection as described in step 2 of Running SamestrGal as a Complete Workflow." Collection building is a data-prep step, not a workflow step — move it into the Correctness / accuracy
Missing explanation
Workflow referenceL120 hard-codes a usegalaxy.eu published-workflow ID ( Markdown / GTN style
WritingThree paragraphs are single blocks of 470–1,035 characters and would read better as bulleted lists, especially since two of them are enumerations:
Smaller ones:
|
|
Hi @shiltemann , could I get a review on this tutorial? It's part of my thesis and should be ready for my submission. Appreciate any help! |
|
@xens25 Thanks a lot for your contribution, I am happy to have a look at this :) |
shiltemann
left a comment
There was a problem hiding this comment.
Thanks a lot @xens25! Very nice tutorial and workflow :)
I am testing the tutorial now, I have not made it to the end yet, so may add a few more comments later, but this way you can already get started.
| @@ -0,0 +1,596 @@ | |||
| --- | |||
| layout: tutorial_hands_on | |||
| title: Using SamestrGal to identify shared strains in FMT-treated rCDI samples | |||
There was a problem hiding this comment.
I wonder if the title could be adapted to make it clearer for learners not familiar with the tool and acronyms.
Perhaps something closer to how you formulated your learning questions/objectives, e.g. "Detecting shared microbial strains across metagenomic samples"?
(unless this method is very specific to this type of data, or if the tool name is really something so popular people will look for that specifically)
What do you think? Up to you but maybe something to consider.
|
|
||
| # SamestrGal Workflow Overview | ||
|
|
||
| SamestrGal uses metagenomic samples as input and runs a sequence of tools to detect shared strains between them. The reads are first trimmed and quality-filtered with KneadData, then aligned to species-specific marker genes with MetaPhlAn, which also produces a taxonomic profile for each sample. The resulting alignments are then processed by the SameStr tools, which convert them into a species-specific SNV profile for each clade detected in a sample. These SNV profiles are merged across samples for each clade. The Maximum Variant Profile Similarity (MVS) is then calculated between samples for each clade. Thresholds for the overlap and the MVS between samples are also set, and the results are reported in a table across all sample comparisons. Based on these thresholds, the table indicates whether each clade is classified as a shared strain. |
There was a problem hiding this comment.
Is SamestrGal just SameStr for Galaxy? Maybe put that in parentheses because it confused me for a second that this acronym was not introduced yet.
|
|
||
| > <details-title>Key terms used in this tutorial</details-title> | ||
| > | ||
| > - **rCDI**: recurrent *Clostridium difficile* infection, caused by *C. difficile* spores that survive antibiotic treatment and later reactivate. |
There was a problem hiding this comment.
Just so you are aware, you can also define these abbreviations in metadata, then use braces when you use them to link to their definition (if that is useful for you).
see here for more info https://galaxyproject.github.io/training-material/topics/contributing/tutorials/create-new-tutorial-content/tutorial.html#abbreviations
|
|
||
| # SamestrGal Workflow Overview | ||
|
|
||
| SamestrGal uses metagenomic samples as input and runs a sequence of tools to detect shared strains between them. The reads are first trimmed and quality-filtered with KneadData, then aligned to species-specific marker genes with MetaPhlAn, which also produces a taxonomic profile for each sample. The resulting alignments are then processed by the SameStr tools, which convert them into a species-specific SNV profile for each clade detected in a sample. These SNV profiles are merged across samples for each clade. The Maximum Variant Profile Similarity (MVS) is then calculated between samples for each clade. Thresholds for the overlap and the MVS between samples are also set, and the results are reported in a table across all sample comparisons. Based on these thresholds, the table indicates whether each clade is classified as a shared strain. |
There was a problem hiding this comment.
Tip: when writing tool names, you can use e.g. {% tool KneadData %} for a bit nicer formatting.
| > | ||
| > {% snippet faqs/galaxy/datasets_import_from_data_library.md %} | ||
| > | ||
| > 3. Rename the datasets to show the role of each sample in FMT: |
There was a problem hiding this comment.
If we rename the files in Zenodo, people wont have to do this somewhat tedious renaming step in Galaxy.
Or skip the renaming and rely on the tags to know which is Pre/Donor/Post, which would also illustrate the usefulness of the tags.
| > | ||
| > 1. {% tool [SameStr Convert](toolshed.g2.bx.psu.edu/repos/iuc/samestr/samestr_convert/1.2025.111+galaxy0) %} with the following parameters: | ||
| > - {% icon param-collection %} *"Aligned reads"*: the BAM collection produced by **Samtools view** {% icon tool %} | ||
| > - {% icon param-collection %} *"Taxonomic profile"*: the taxonomic profile collection produced by **MetaPhlAn** {% icon tool %} |
There was a problem hiding this comment.
I would be as explicit as possible in hands on boxes and match the names of the outputs in Galaxy exactly
| > - {% icon param-collection %} *"Taxonomic profile"*: the taxonomic profile collection produced by **MetaPhlAn** {% icon tool %} | |
| > - {% icon param-collection %} *"Taxonomic profile"*: `Predicted taxon relative abundances` collection produced by **MetaPhlAn** {% icon tool %} |
| > | ||
| {: .hands_on} | ||
|
|
||
| > <details-title> How is the quality score calculated? </details-title> |
There was a problem hiding this comment.
this box seems a bit out of place here?
| > > | ||
| > {: .comment} | ||
| > | ||
| {: .hands_on} |
There was a problem hiding this comment.
It might be worth briefly discussion the outputs after this step. Even if people cant view the binary outputs, just briefly mention what the SNV profile outputs are/contain.
And maybe worth having them look at the alignment stats output, do a bit of a QC check there?
| > - Select *"Create column from expression replacement"* | ||
| > - *"Regular Expression"*: `^[^_]+_(.*)$` | ||
| > - *"Replacement Expression"*: `\1` | ||
| > - Set *"List Identifier(s)"* to column B |
There was a problem hiding this comment.
The Apply rules tool is a complicated tool and not so widely known, so be as explicit as possible.
Setting list Identifier to column B involves more steps, e.g.
- clicking on "rules"
- click on "Add/Modify column definitions"
- ...
| {: .hands_on} | ||
|
|
||
|
|
||
| > <comment-title> Expected output </comment-title> |
There was a problem hiding this comment.
very nice that you added this :)
|
@shiltemann Thank you for all your feedback. I realized I had accidentally uploaded an older version of the tutorial, which is why some of your comments referenced content that was already outdated. I've now pushed the corrected version with your feedback applied. Let me know if there's anything else to change |
Adds a new GTN tutorial on detecting shared microbial strains with SameStr by using an FMT-treated rCDI dataset. PR includes tutorial.md, the workflow and tests