Skip to content

Add Hello nf-core training course #610

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 25 commits into
base: master
Choose a base branch
from
Draft

Conversation

vdauwera
Copy link
Collaborator

@vdauwera vdauwera commented May 10, 2025

This converts and expands the nf-core side quest (originally written from material by @christopher-hakkaart and further expanded by @FriederikeHanssen) into a proper training course of its own, similar in spirit to the Hello Nextflow training course.

Addresses #546

There are 3 main training sections:

  1. Run the nf-core/demo pipeline
  2. Rewrite Hello Nextflow end pipeline to be nf-core compatible

Current status:

  1. Run demo is ready for review
  2. Rewrite Hello is ready for review

"Add an existing nf-core module" will be added in a followup

@vdauwera vdauwera self-assigned this May 10, 2025
@vdauwera vdauwera marked this pull request as draft May 10, 2025 20:31
Copy link

netlify bot commented May 10, 2025

Deploy Preview for nextflow-training ready!

Name Link
🔨 Latest commit 2f72b53
🔍 Latest deploy log https://app.netlify.com/sites/nextflow-training/deploys/682481b49895350008c0bf96
😎 Deploy Preview https://deploy-preview-610--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 site configuration.

2. Select **Custom** on the `Choose pipeline type` screen
3. Enter your pipeline details, replacing < YOUR NAME > with your own name, then select **Next**

**GitHub organisation:** core
Copy link
Member

@kenibrewer kenibrewer May 13, 2025

Choose a reason for hiding this comment

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

Suggested change
**GitHub organisation:** core
**GitHub organisation:** core (or your github username)

Believe it or not, even though you haven't yet added any modules to make it do real work, the pipeline scaffold can actually be run using the test profile, the same way we ran the `nf-core/demo` pipeline.

```bash
nextflow run core-hello -profile docker,test --outdir core-hello-results
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
nextflow run core-hello -profile docker,test --outdir core-hello-results
nextflow run ./core-hello -profile docker,test --outdir core-hello-results

For some additional clarity vs nextflow run hello

We finally have all the pieces we need to verify that the composable workflow works.

```bash
nextflow run original-hello
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
nextflow run original-hello
nextflow run ./original-hello

Copy link
Member

@kenibrewer kenibrewer left a comment

Choose a reason for hiding this comment

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

Really great content. I really like the gradual and progressive adoption of nf-core tooling and practices.



emit:
final_result = cowpy.out
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
final_result = cowpy.out
cowpy_hellos = cowpy.out


```groovy title="original-hello/hello.nf" linenums="37"
emit:
final_result = cowpy.out
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
final_result = cowpy.out
cowpy_hellos = cowpy.out

cowpy(collectGreetings.out.outfile, params.character)

emit:
final_result = cowpy.out
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
final_result = cowpy.out
cowpy_hellos = cowpy.out


```groovy title="core-hello/workflows/hello.nf" linenums="55" hl_lines="2"
emit:
final_result = cowpy.out
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
final_result = cowpy.out
cowpy_hellos = cowpy.out

cowpy(collectGreetings.out.outfile, params.character)

emit:
final_result = cowpy.out
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
final_result = cowpy.out
cowpy_hellos = cowpy.out

However, you do need a (free) GitHub account to log in, and you should take a few minutes to familiarize yourself with the interface.

If you have not yet done so, please go through the [Environment Setup](../../envsetup/) mini-course before going any further.

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
!!! warning
This training is designed for nf-core tools version 3.2.1, which should be the version installed in the codespace. If you use a different version of nf-core tooling you may have difficulty following along.
You can check what version is installed using the command`nf-core --version`.

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

Successfully merging this pull request may close these issues.

2 participants