Skip to content

Conversation

@pinin4fjords
Copy link
Collaborator

@pinin4fjords pinin4fjords commented Oct 30, 2025

Polish and enhance Hello nf-core training materials

This PR significantly improves the Hello nf-core training course with comprehensive updates across all five parts, focusing on clarity, accuracy, consistency, and completeness.

We also remove the old nf-core side-quest to avoid confusion.

Major Changes

New Content

  • Added course overview in orientation (00_orientation.md) explaining the five core concepts covered and why they matter, setting expectations that the course focuses on essential concepts rather than being exhaustive
  • Added summary page (summary.md) to wrap up the course by highlighting what learners built, key skills acquired, and the transformation from research script to production pipeline
  • Added context for Hello Nextflow workflow in Part 2 for learners who may skip ahead without completing the Hello Nextflow course

Part 1: Run an nf-core pipeline (01_run_demo.md)

  • Updated to nf-core/demo version 1.0.2 and Nextflow 25.04.3
  • Refined test profile explanation to avoid implying parameter inference
  • Enhanced style consistency throughout
  • Fixed priority issues and improved content flow

Part 2: Rewrite Hello for nf-core (02_rewrite_hello.md)

  • Clarified section transitions and working context within the core-hello pipeline
  • Improved highlight placement for code changes
  • Fixed workflow listings and indentation issues
  • Enhanced learning flow with better contextual transitions
  • Added explanation of what the Hello Nextflow workflow does for context

Part 3: Use an nf-core module (03_use_module.md)

  • Removed legacy collectGreetings module to simplify the lesson
  • Reordered section 3.3 to show proper version channel pattern
  • Clarified nf-core module naming conventions
  • Enhanced explanations with better highlights and clearer instructions
  • Fixed attribution and content accuracy

Part 4: Make an nf-core module (04_make_module.md)

  • Renamed from 04_adapt_module.md to better reflect the content (creating your own module)
  • Enriched module creation section with environment/container details
  • Updated to use --empty-template flag for cleaner examples
  • Clarified ext.args usage and flexibility
  • Elevated and clarified centralized publishDir explanation
  • Enhanced explanation of nf-core conventions in the template
  • Added reference to nf-test side quest for testing
  • Fixed highlights and improved code examples throughout

Part 5: Input validation (05_input_validation.md)

  • Major restructure: Moved validation configuration to new section 1.4 for better pedagogical flow
  • Clarified nf-schema as a standalone plugin that's heavily adopted by nf-core
  • Replaced incorrect command-line flag with proper validation{} config block approach
  • Updated to use interactive nf-core pipelines schema build tool instead of manual JSON editing
  • Added screenshots showing the schema builder interface
  • Added before/after code blocks for schema_input.json changes
  • Fixed test command consistency (nextflow run . instead of nextflow run core-hello)
  • Removed redundant content and improved cross-references
  • Fixed image paths and file references
  • Simplified ending to point to new summary page

Minor Improvements

  • Fixed numerous linting errors across all parts
  • Improved consistency in file path references (using backticks for file paths)
  • Fixed nested list indentation and rendering issues
  • Enhanced code highlighting throughout
  • Corrected line numbers in code examples
  • Fixed image links and paths

Documentation Quality

  • All parts now have consistent "What's next?" sections that accurately preview the following content
  • Flow from Part 1 → Part 5 → Summary → Survey → Next Steps is now logical and clear
  • Before/after code blocks used consistently to show changes clearly
  • Better balance between teaching concepts and avoiding overwhelming detail

Testing

  • Verified all code examples and outputs are accurate
  • Confirmed all cross-references and links work correctly
  • Validated that the course flows logically from beginning to end

pinin4fjords and others added 14 commits October 30, 2025 13:09
The previous text suggested learners could infer required parameters
by examining what was present/absent in the test profile config.
This is misleading - the test profile only shows pre-configured values,
not requirements.

Changed section 2.1 to:
- Emphasize what the test profile *provides* (pre-configured input)
- Point to the usage example comment as the source for --outdir info
- Avoid suggesting we can infer requirements from config structure

This keeps the pedagogical value while being accurate about where
information comes from, deferring proper param discovery (via schema)
to later sections.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Standardized all Nextflow version references in the Hello nf-core
training materials to version 25.04.3.

Updated files:
- 01_run_demo.md: 24.10.0 → 25.04.3
- 02_rewrite_hello.md: 24.10.4 → 25.04.3 (4 occurrences)

Files 03_use_module.md and 05_input_validation.md already had
the correct version.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Updated all references to nf-core/demo from version 1.0.1 to 1.0.2
to reflect the current release.

Changes:
- Console output example showing pipeline version
- Documentation link to nf-co.re/demo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Fix typo: 'Netxflow' → 'Nextflow'
- Remove duplicate line in tree output
- Consolidate WoW side quest references (remove redundant mention)
- Add explanation of container profiles before first use
- Standardize cross-reference paths to use relative URLs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Standardize terminology: use 'pipeline documentation page' consistently
- Improve voice consistency: prefer inclusive 'we' over imperative
- Reduce passive voice: make Nextflow the active subject
- Fix grammar: 'specifics of what' and 'retrieve pipelines'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add note about variable console output (timestamps, paths, names)
- Add transition paragraph between user and developer perspectives
- Clarify focus on file hierarchy vs code syntax

These improvements help set learner expectations and smooth pedagogical flow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@netlify
Copy link

netlify bot commented Oct 30, 2025

Deploy Preview for nextflow-training ready!

Name Link
🔨 Latest commit dd73bdf
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-training/deploys/6904ed743da16e00083166ec
😎 Deploy Preview https://deploy-preview-691--nextflow-training.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@pinin4fjords pinin4fjords marked this pull request as draft October 30, 2025 13:59
pinin4fjords and others added 14 commits October 30, 2025 14:10
Priority fixes:
- Fix grammar: 'inputs are handle' → 'inputs are handled'
- Fix directory typo: 'config' → 'conf'
- Remove incorrect line number reference
- Remove redundant WoW side quest reference (already mentioned earlier)
- Standardize WoW reference format to match Part 1

Style improvements:
- Add transitional text between sections 3 and 4
- Add motivation for dummy entrypoint workflow in section 2.6

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Section 3 was confusing because:
- No clear transition from testing composable workflow back to nf-core scaffold
- Ambiguous references to "original workflow" without specifying source/destination

Improvements:
- Add explicit transition at section 3 start explaining return to scaffold
- Clarify we're integrating work from section 2
- Make FROM/TO direction clear in section 3.1 (original-hello → core-hello)
- Specify directory paths explicitly to reduce ambiguity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Move ch_versions initialization before workflow logic rather than after.
This reflects the correct pattern where:
1. Initialize empty versions channel
2. Run workflow processes (which would emit versions in real pipeline)
3. Collate versions at the end

Add explanation that this ordering allows processes to mix their version
outputs into ch_versions as the workflow runs, which is the intended
pattern even though we're not implementing version capture yet.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Make explicit that when copying workflow logic to nf-core scaffold,
learners should:
- Omit the `main:` keyword (already present)
- Remove the `.view` line (console output not needed in scaffold)

Update the "After" code block to show the workflow without the .view
line, matching the instruction.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The transition paragraph and first line of section 4 were saying the
same thing. Consolidated into single transition paragraph that flows
directly into section heading and first subsection.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
pinin4fjords and others added 19 commits October 30, 2025 22:08
Changed from numbered list to bold headings with bullet lists to prevent
all items from rendering as a single 10-item numbered list.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Removed repetitive statement about early failure that was already
established in the "Why validation matters" section above.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Emphasized that nf-schema is a standalone Nextflow plugin that can be
used in any pipeline, while also noting its heavy integration with and
adoption by nf-core.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replaced manual JSON editing instructions with the interactive
nf-core pipelines schema build workflow. Added screenshots showing
the web interface for adding parameters. Emphasized that manual
editing is error-prone and the GUI tool is the recommended approach.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed image paths from ./img/hello_nf-core/ to ./img/ to match
the convention used in other hello_nf-core lessons.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replaced incorrect --validationSchemaIgnoreParams command-line flag
with proper nextflow.config validation block configuration. Added
before/after code blocks showing how to temporarily ignore input
validation during section 2 and re-enable it in section 3 after
configuring the input data schema.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed section 3.3 to use before/after tabs showing the transition
from the template's default paired-end sequencing schema to the
simpler greetings schema. This helps users understand what they're
changing and why.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed file path from markdown link to backticks to match
repository conventions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Moved validation configuration content from the oddly-placed section 3.5
note to a new section 1.4 that explains how nf-schema is installed and
configured in nf-core pipelines. This section now includes:

- Explanation of how nf-schema is pre-installed in the template
- The validation{} configuration block
- The before/after edit to add ignoreParams for input validation
- Context for why we temporarily disable input file validation

Removed the duplicate content from section 2.3 (now 2.3 is just testing).
This provides better flow: users configure validation upfront in section 1,
then work through parameter validation in section 2, and finally re-enable
input validation in section 3.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed test command to use 'nextflow run .' consistently
- Fixed cross-reference from section 3.6 (was 2.3, should be 1.4)
- Improved clarity of verification step with bold header
- Updated test output examples to be more accurate

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Added a "What does the Hello Nextflow workflow do?" subsection at the
start of section 2 to provide context for users who may not have
completed the Hello Nextflow training course. This explains the
workflow's purpose and functionality before diving into making it
composable.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Added "What you'll learn" section to orientation that explains the
five core concepts covered in the course and why they matter. Sets
expectations that we can't be exhaustive but focus on essential
concepts for getting started with nf-core.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Created a new summary page that wraps up the course by:
- Highlighting what learners built (the core-hello pipeline)
- Summarizing the five key skills acquired
- Explaining the transformation from research script to production pipeline

This provides closure before the survey and next steps pages.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replaced the large Congratulations section with a simple "What's next?"
that directs users to the new summary page. This avoids duplication and
maintains consistent flow across all parts that end with "What's next?".

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Remove trailing whitespace from cowpy module files to pass
editorconfig checks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove trailing whitespace from snap files
- Add newlines at end of snap files
- Remove extra blank line from utils_nfschema_plugin/main.nf

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@pinin4fjords pinin4fjords marked this pull request as ready for review October 31, 2025 11:36
@pinin4fjords pinin4fjords changed the title Minor 'hello nf-core' fixes Minor 'hello nf-core' fixes + remove nf-core side-quest Oct 31, 2025
@vdauwera vdauwera changed the title Minor 'hello nf-core' fixes + remove nf-core side-quest Polish and enhance Hello nf-core training materials Oct 31, 2025
@vdauwera
Copy link
Collaborator

I took the liberty of updating your PR's name since the scope has significantly expanded since you started it, and it will make more sense later if the PR is referenced.

pinin4fjords and others added 4 commits October 31, 2025 15:13
Corrected the Hello Nextflow workflow description:
- sayHello writes greetings to files (doesn't add "world!")
- convertToUpper operates on the greeting text
- Added process names for clarity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…core

Convert all instances of step labels and bold text pseudo-headings to proper
numbered headings for consistency and better navigation.

Changes:
- 03_use_module.md: Convert 5 "Step X:" labels to numbered headings (1.9.1-1.9.5)
- 04_make_module.md: Number 15 subsection headings (1.2.1-1.2.6, 1.3.1-1.3.4, 2.1.1-2.1.2, 2.2.1-2.2.3)
- 05_input_validation.md: Convert 3 bold labels to numbered headings (2.2.1, 3.7.1-3.7.2)
  and fix incorrectly numbered intro sections

Benefits:
- Consistent numbered heading structure throughout documentation
- All subsections appear in table of contents and sidebar navigation
- Sections can be directly linked with anchor links
- Easier to maintain with automated heading validation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
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