New course: Nextflow Triathlon: plain Nextflow + nf-core + Seqera platform - #951
Conversation
✅ Deploy Preview for nextflow-training ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Nextflow linting complete!
💡 Tip: Click filename locations to go directly to that code. View all 45 issuesView formatting changes
|
Adds the complete nextflow-triathlon/ working directory with scripts (1-hello.nf, 2-inputs.nf, main.nf), modules, data files, nextflow.config, and a solutions/ subdirectory with symlinks for self-contained testing. Rewrites 01_run_basics.md into four sections: Hello World, Process multiple inputs, Run a multi-step pipeline, and Configure the pipeline. The config section introduces nextflow.config structure and profiles, setting learners up for the nf-core pipeline demo in Part 2. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Part 1 exercises now live under nextflow-triathlon/basics/, and Parts 2/3 nf-core runs use nextflow-triathlon/nf-core/. This prevents the triathlon nextflow.config from overriding params.input when running nf-core pipelines from the same directory. Also adds laptop.config (withLabel overrides capping memory to 6 GB) for local development, and updates rnaseq docs to reflect the current pipeline version (3.26.0, revision e7ca46272c). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rewrite sections 4.2 and 4.3 to: - Show the memory failure when running rnaseq without config overrides - Explain nf-core process labels and the withLabel: fix via laptop.config - Transition to Seqera Platform as the path to real-scale analysis - Add link to Seqera academic program Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Comment out withName: 'cowpy' block in nextflow.config to prevent selector warning when running scripts without the cowpy process - Add -with-report section and executor note to 01_run_basics.md - Fix inline code formatting in headings (work/, -resume) - Update nf-core/demo pull revision hash and directory listing in 02_run_nfcore.md - Remove solutions/ directory from basics/ (not needed for this tutorial) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nd CLI-first workflow - Add section 1: sign up, Community Showcase, compute options (own infra vs Seqera Compute) - Simplify section 2 launch form with test profile pre-filled; fold form details into info admonition - Add tw CLI install instructions; fix tw launch to use workspace pipeline name - Restructure section 4 as CLI-first: tw pipelines add, verify in Launchpad, then launch Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add .seqera_config stub with comments pointing to where values are found in Seqera UI - Rewrite section 3.3 to use config file for token and workspace ID - Add tw --version expected output and recap sentence - Add tip about TOWER_COMPUTE_ENV and link to tw CLI reference docs - Add recap sentences after tw runs list and tw pipelines add outputs - Fix .seqera_config path consistency throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update all path references in orientation, Part 1, Part 2, and Part 3 docs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update references in mkdocs.yml, index.md, and 00_orientation.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update references in mkdocs.yml and index.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Part 1: add output block code snippet and recap sentence; fold nextflow.config into collapsed admonition - Part 2: replace sections 3.1.3-3.1.4 with brief validation note; fold laptop.config into collapsed admonition - Part 3: address tw --version output, compute env tip, and workspace recap TODOs - index.md: comment out unfinished video section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The index_page template requires a <!-- additional_information --> marker to split summary content from course overview. Its absence caused the Netlify build to error out. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Part 1: add -ansi-log false run to show per-call output; fix output block in 1.4.4 to show 1-hello.nf; update main.nf publish paths from 'main' to 'full_pipeline'; fix nextflow.config admonition type - Part 2: rewrite 4.2 memory error explanation with base.config context; improve 3.2.1/3.2.2 with touch/run instructions, command output admonitions, and -resume flag; add .command.sh admonition for ext.args; replace ls with tree for conf/ listing; fix laptop.config admonition type; convert TODO to tip admonition for academic program Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… triathlon Parts 1-3 Part 1 (01_run_nextflow.md): - Fix output filename (Hello World!-output.txt, not Hello-output.txt) - Update all console output hashes and revision IDs to match actual runs - Fix section 1.4.4 output block (was showing main.nf instead of 1-hello.nf) - Fix duplicate section 2.1 numbering (renumber to 2.1-2.4) - Fix resume command typo (csv-resume → csv -resume) and remove stray -ansi-log false - Add hl_lines to process output blocks, channel construction, container directive, and chaining Part 2 (02_run_nfcore.md): - Fix nf-core/demo asset tree path (pipelines/ → /workspaces/.nextflow/assets/) Part 3 (03_run_seqera.md): - Add explanation in 4.2 that input/outdir appear red (required, no defaults) - Rewrite 4.3 as web interface launch with manual parameter entry - Add new 4.4: CLI launch using -p test + --params-file for outdir - Explain why tw launch requires --params-file instead of individual flags - Update intro and summary to reflect two-path launch approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace "Course structure" with "Get ready to work" section matching other courses - Set working directory to triathlon/ + code . to focus VSCode - Add tree output showing full triathlon/ structure including .seqera_config - Simplify Part 1 tip to relative cd basics - Update Part 2 tip to include relative cd ../nf-core option Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update tip in section 4.4 to demonstrate passing --params-file and --profile to tw pipelines add, so defaults are saved with the pipeline registration rather than specified at launch time. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…g Collection Replaces the Nextflow Run course with Triathlon Part 1, extracts a new standalone nf-core Run course from Hello nf-core's demo-pipeline lesson (extended with a pull-and-run nf-core/rnaseq section from Triathlon Part 2), adds a new Seqera Platform side quest from Triathlon Part 3, and ties the three together in a new "Nextflow Triathlon" Training Collection. The old Nextflow Run course is retired to a browsable but unlisted archive path; the standalone Triathlon course and its exercise code are removed now that their content has been redistributed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Add non-clickable sidebar group labels (Users/Developers) via a custom nav.html override, driven by extra.nav_group_labels in mkdocs.yml - Move Help under Home; add new Run with Seqera course (moved out of Side Quests) under the Users group - Rename nf-core Run -> Run nf-core, Run on Seqera -> Run with Seqera, and Hello nf-core -> Build with nf-core for clarity - Flatten Training Collections into a Learning Paths label, then retire it entirely: fold Architect's Toolkit into a "Suggested path" section on the Side Quests index, drop Nextflow Triathlon (now redundant with the Users course ordering), and add redirects for the old URLs - Sync the corresponding renames/labels across all translated mkdocs.yml and content files where the old names were embedded as literal terms
- Introduce a generic nav_title_overrides mechanism in mkdocs_hooks.py so a section's sidebar title can differ from its index page's own title - Move Training Environment out of Help into its own top-level item, then group it with the version/help reference pages under a new "Setup & Help" label at the bottom of the nav - Rename each course section's first sub-item to "Overview" (Nextflow Run, Run nf-core, Run with Seqera, Hello Nextflow, Build with nf-core, Nextflow for Science, Side Quests) to avoid repeating the section name, without changing the underlying page's own title - Restructure the Side Quests catalog into a single HTML table with colspan category-separator rows, with matching CSS for the header/ category row styling - Sync all of the above to translated mkdocs.yml files, using each language's own already-translated titles where they exist
- Extend nav_title_overrides usage to Nextflow for Science and Side Quests so their first sub-item reads "Overview" too, and add a matching nav_child_title_overrides mechanism so that label can be translated per language (it was previously always English, set once in the shared nav list) - Reorder the Side Quests nav to match the catalog table's categories, and add a nav-item.html override so non-clickable category separators can be injected into a nested nav list, not just the top-level one (new nav_section_separators config, reusing the existing group-label styling) - Sync all of the above to translated mkdocs.yml files
New cards for Training Environment, Nextflow versions, The Hello pipeline, and Getting help, mirroring the corresponding sidebar nav group. Adds a .mb-4 helper class for spacing below the section. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Compact the two homepage accordions (version compatibility, environment options) covered by the Setup & Help section, replacing them with a new "Training Events" page and matching homepage card, symmetric with "Self-service courses". Differentiate the two button styles (filled vs outlined) and point the courses button down since it jumps to an anchor lower on the same page. - New page covers official training events (as cards), information for trainers, and the open-source license/contribution policy, with a visual separator in the sidebar nav to set it apart from the Setup & Help utility pages it's nested under. - Add the new page to .prettierignore, alongside index.md/help.md/etc, since prettier's default list formatting breaks MkDocs Material's grid cards. - Drop the now-stale "keep in sync" comment on the local installation page's version compatibility notice. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Summary of changes since last sync with masterUsers track homepage
Homepage structure
Incidental fixes
|
The Build with nf-core course now uses the v2 parser like every other course; the exception no longer applies. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Use nf-core now explicitly requires Nextflow Run (previously implicit), with the audience description updated to match. - Scale with Seqera now requires both Nextflow Run and Use nf-core, rather than only Use nf-core. - Build with nf-core now requires both Hello Nextflow and Use nf-core, rather than only recommending the latter. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- hello-nf-core/solutions/core-hello-part1: correct validate_params to false, matching what the lesson (section 5.4) instructs and what parts 2-4 already have; the stale `true` broke running this solution checkpoint with the documented test profile. - nfcore_run/00_orientation.md: drop the stale instruction to disable the v2 syntax parser (contradicted the rest of the site and isn't needed; nf-core/demo and nf-core/rnaseq both run fine under v2). Align nf-core tools version with Build with nf-core (4.0.2, was stale at 3.5.2). Add a note that nf-core/demo enforces its own stricter Nextflow >=25.10.4 requirement above the general 25.10.2 training floor. - Fix 4-space admonition indentation in 6 nf4_science lesson pages (were indented 5 spaces, causing a stray leading space in rendered tip/note text). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Remove docs/en/docs/archive/nextflow_run/ entirely and repoint the remaining live references (course index note, mkdocs.yml redirects) to the last released version at https://training.nextflow.io/3.6.1/nextflow_run/, avoiding a confusing in-repo archive folder. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ions Nextflow Run's Part 2 now generates an execution report and resolves a profile itself, so Nextflow Config can build on that instead of reintroducing the same commands from scratch. Add real before/after resource numbers for the cowpy withName example instead of the vague "you won't see a real difference" placeholder. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Restructure "Configure the pipeline" into: examining nextflow.config section by section (with real code for each element), supplying configuration via supplemental files (-c and -params-file), and generating an execution report. - Number software packaging/process settings/pipeline parameters/profiles as proper subsections, each showing the actual code it refers to - Add cpus to the process block, and note that per-process overrides are covered in Nextflow Config - Rework the run-specific config example (custom.config) to override process resources and switch Docker for Conda, matching nf-core's institutional-config pattern, instead of overriding params - Add a conda directive to nextflow-run's own cowpy module so that Conda run actually works end-to-end - Add test-params.yaml/json for the parameter file exercise - Embed a real screenshot of the execution report's Tasks tab Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- 2.1: show that the condensed output hides three separate task executions running in parallel, each in its own isolated work/ directory, and explain why that isolation makes concurrent execution safe - Add a note before each "Optional: Code walkthrough" section that understanding the code isn't required to run pipelines - 3: add intro prose connecting this section to the single-process and parallel-input exercises that came before it - 3.1: unpack the results directory structure (author-defined via the output block), the fan-out-then-fan-in shape of the pipeline, the dataflow execution model, and how task isolation generalizes across multiple processes (with a real collectGreetings example showing staged symlinks to upstream task directories) - Fix heading levels in the 1.4 and 3.2 code walkthroughs: their subsections were siblings of the section heading instead of nested under it Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Recycle the "manage workflow executions" content from the old Nextflow Run course and Hello Nextflow, adapted to this course's four-process pipeline: inspecting the .nextflow/history file and nextflow log, and cleaning up old work directories with nextflow clean. Place it before "Run pipelines from remote repositories" (now Part 4), since it builds directly on Part 1's -resume section rather than on anything about remote pipelines. Update all cross-references, the nav, the lesson plan table, and the course summary accordingly. Also expand the remote-repositories part with where pulled pipelines are cached (nextflow info, nextflow list) and how to unpin a pipeline after pinning it to a specific revision, both verified against real nextflow-io/hello runs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The previous commit only captured the bare file rename and the new manage-executions file; a bad pathspec in an earlier `git add` silently dropped the rest of that change from staging. This commit adds what was missing: - 04_remote_repositories.md: title bumped to Part 4, "What's next?" links swapped with Part 3, plus the caching (nextflow info/list) and unpin-a-pipeline (nextflow clean stuck-revision case) sections - 02_configure_pipeline.md, index.md, next_steps.md, mkdocs.yml: cross-references, nav order, lesson table, and course summary updated to match Part 3 (manage executions) / Part 4 (remote repositories) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The "Your journey" and "What you learned" sections overstated the course's code-level content (channels, module structure) that's now only covered in optional code walkthroughs, and duplicated the same ground twice. Consolidate into "Your journey" (narrative) directly followed by "Skills acquired" (concrete takeaways), drop the pipeline structure description, vary the repetitive "then, then, then" transitions, and trim "Next steps" down to three suggestions plus a closing pointer to Hello Nextflow for learners ready to write pipelines rather than just run them. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Nextflow Run: course rework
All exercises re-tested end-to-end against a real Nextflow install. |
Nextflow Config's Part 1 (parameters and outputs) covered material that is now redundant with Nextflow Run, and its process-name-based output organization pattern isn't recommended practice. Its output-management content moves to a new "Manage pipeline outputs" section in Nextflow Run Part 2, config-only (outputDir, workflow.output.mode), leaving Nextflow Config as a tight two-part course on compute environments and profiles. Nextflow Run also gains a "Generate pipeline reports" section (execution report and timeline) under Part 3, and Part 4's title is shortened to "Run remote pipelines". main.nf's output block now interpolates params.batch instead of a hardcoded prefix, so config-only exercises can change output location without touching pipeline code. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add a walkthrough (Part 1, section 2.3) that inspects a real .command.run file to show that Nextflow always wraps a task in a generated submission script, even locally, and that changing the executor only changes how that same script gets launched and tracked (direct execution vs. a scheduler's submission command). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The course is renamed to Execution Config to make clear it's about adapting execution environments, not generic pipeline configuration. Part 1 gets a scenario-driven lead-in explaining why the same pipeline code needs to adapt to different environments, since it previously jumped straight into exercises with no framing. Part 1 is split once it covers packaging and execution platform selection: resource allocation moves into a new Part 2, which also gains a new section on automatically retrying failed tasks with errorStrategy, maxRetries, and task.attempt-scaled resource allocations, tested for real against a genuine out-of-memory failure. Profiles becomes Part 3. Also fixed Part 1's Conda exercise, which contradicted its own "adapt without touching code" premise by having learners add a conda directive to modules/cowpy.nf. It's now set entirely via nextflow.config using process.withName, consistent with how container is already set in code. Traced that change through Part 2 and Part 3's examples, which also reference cowpy's process config. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Rename Nextflow Config to Execution Config, split Part 1, add retriesRenamed the course to Execution Config to make clear it's about adapting execution environments, not generic Added a scenario-driven lead-in to Part 1, which previously jumped straight into exercises with no framing. Split Part 1 once it covered packaging and execution platform selection:
Also fixed Part 1's Conda exercise, which had learners edit |
The After tab highlighted the unchanged conda line while missing cpus, caught by re-validating the course after the restructuring commit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Execution Config Part 3: fold "2. Combine profiles" into section 1 as 1.3, since it was a single-subsection section with nothing else under it. Consolidated the two Takeaways into one. Rename docs/en/docs/nextflow_config/ -> execution_config/ and its project directory nextflow-config/ -> execution-config/, matching the course's already-renamed title. Updated mkdocs.yml (nav, title map, enumerate-headings paths) and added redirects for all old URLs. Rename docs/en/docs/hello_nf-core/ -> nfcore_build/ and its project directory hello-nf-core/ -> nfcore-build/ (title stays "Build with nf-core", only paths change). This course is translated into 10 languages and was previously released, so also: fixed the 4 pre-existing redirect chains left dangling by the rename, added redirects for all 8 current pages, updated cross-references from 15 other English course files, fixed internal self-references (working directory paths in captured console output, image include paths), and updated tooling that references this directory by name (CLAUDE.md, the repo-conventions skill doc, and the translation script's PRIORITY_DIRS). Left the 10 translated copies as-is, to be picked up by the next translation regeneration pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
my_params.yml, malformed_samplesheet.csv, and custom.config lived in nfcore-build/ (Build with nf-core), described in its own orientation page as "used in Part 1," but were never actually referenced in that course's lesson content. They belong to nfcore-run/ (Use nf-core), which genuinely uses them in Part 2 and was missing them entirely - caught by a validation pass ahead of merge. Moved them there and removed the stale description from nfcore-build's orientation page. Verified all three fixtures work exactly as nfcore_run/02_configure_execution.md documents: -params-file, the malformed-samplesheet validation error, and the custom.config resource/ext.args overrides. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Renamed docs/en/docs/nfcore_run/ -> nfcore_use/ and seqera_run/ -> seqera_scale/ (project dirs nfcore-run/ -> nfcore-use/, seqera-run/ -> seqera-scale/) so the slugs read as "use nf-core" and "scale with Seqera" instead of leftover names from before those courses were retitled. Titles unchanged. Updated mkdocs.yml (nav, title map, heading config, redirects for all 13 old page URLs, including fixing the existing hello_nf-core -> nfcore_run redirect target so it doesn't dangle), cross-references from 8 other files, and self-references inside both courses (working directory paths, image includes). Added real Typeform survey IDs for Execution Config, Nextflow Run, Use nf-core, Build with nf-core, and Scale with Seqera (all confirmed distinct and loading correctly), and wired up the homepage's "vote on what to cover next" interest poll link. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Final summary of the completed workIntroduces the Users learning track: three hands-on courses for running Nextflow pipelines without necessarily
Homepage and navigation reorganized into Users/Developers tracks, with a new Setup & Help section and Training Course directories renamed for consistency with their current titles (all with redirects for old URLs): All courses tested end to end with real pipeline runs, not just doc review. Heading numbering, |
|
@mribeirodantas if I could please get your final 👍 :) |
UPDATED Aug with new plan:
1. Reorganized courses around Users vs. Developers
Instead of beginner vs advanced:
Home page catalog redesigned to match:
linking to their overview page, instead of listing every sub-course individually.
Site-wide nav menu changes:
2. New "Users" track details
The branch introduces (via the former "Nextflow Triathlon" work) three new streamlined 'getting started' courses aimed at people who need to run pipelines, not develop them — no prior coding assumed. They were originally one long lesson each; now split into multiple parts for pacing. This may still need some refinement (including shoving the code explanation bits into collapsible 'more info' sections). The goal is for each to take roughly one hour to teach.
3. Training Collections retired + Side Quests table reorganized
The table on the Side Quests page now shows logical groupings, with clear subheader rows.
The "Training Collections" section wasn't really working as it was. We could bring it back in some form if we have multiple collections to showcase, but the reorganized table of Side Quests hopefully makes it mostly unnecessary.
We could potentially create a section with dedicated landing pages for standard multi-course trainings like we run at summits or sessions.