Skip to content

Getting started

Start a training environment

To use the pre-built environment we provide on GitHub Codespaces, click the "Open in GitHub Codespaces" button below. For other options, see Environment options.

We recommend opening the training environment in a new browser tab or window (use right-click, ctrl-click or cmd-click depending on your equipment) so that you can read on while the environment loads. You will need to keep these instructions open in parallel to work through the course.

Open in GitHub Codespaces

Environment basics

This training environment contains all the software, code and data necessary to work through the training course, so you don't need to install anything yourself.

The codespace is set up with a VSCode interface, which includes a filesystem explorer, a code editor and a terminal shell. All instructions given during the course (e.g. 'open the file', 'edit the code' or 'run this command') refer to those three parts of the VScode interface unless otherwise specified.

If you are working through this course by yourself, please acquaint yourself with the environment basics for further details.

Version requirements

This training works with Nextflow 25.10.2 or later with the v2 syntax parser, which is the default from Nextflow 26.04 onward. In our training environment you don't need to do anything: it runs Nextflow 26.04.4 with the v2 parser. If you are using a local or custom environment, see the version notes.

This training additionally requires nf-core tools 4.0.2. If you use a different version of nf-core tooling, you may have difficulty following along.

You can check what version is installed in your environment using the command nf-core --version.

v2 parser compatibility

Many nf-core pipelines do not yet support the v2 syntax parser. If you run an nf-core pipeline other than those used in this course and encounter errors, you may need to switch to the v1 parser by setting export NXF_SYNTAX_PARSER=v1. See the version notes for details.

Get ready to work

Once your codespace is running, there are two things you need to do before diving into the training: set your working directory for this specific course, and take a look at the materials provided.

Set the working directory

By default, the codespace opens with the work directory set at the root of all training courses, but for this course, we'll be working in the hello-nf-core/ directory.

Change directory now by running this command in the terminal:

cd hello-nf-core/

Tip

If for whatever reason you move out of this directory (e.g. your codespace goes to sleep), you can always use the full path to return to it, assuming you're running this within the Github Codespaces training environment:

cd /workspaces/training/hello-nf-core

Next, explore the contents of this directory.

Explore the materials provided

You can explore the contents of this directory by using the file explorer on the left-hand side of the training workspace. Alternatively, you can use the tree command.

Throughout the course, we use the output of tree to represent directory structure and contents in a readable form, sometimes with minor modifications for clarity.

Here we generate a table of contents to the second level down:

tree . -L 2
Directory contents
.
├── custom.config
├── greetings.csv
├── malformed_samplesheet.csv
├── my_params.yml
├── original-hello
│   ├── hello.nf
│   ├── modules
│   └── nextflow.config
└── solutions
    ├── composable-hello
    ├── core-hello-part2
    ├── core-hello-part3
    ├── core-hello-part4
    ├── core-hello-part5
    └── core-hello-start

Click on the colored box to expand the section and view its contents. We use collapsible sections like this to include expected command output in a concise way.

  • The greetings.csv file is a CSV containing some minimal columnar data we use for testing purposes.

  • The custom.config file is an example Nextflow configuration file used in Part 1 to demonstrate process resource overrides and ext.args.

  • The malformed_samplesheet.csv file is an intentionally broken samplesheet used in Part 1 to demonstrate input validation.

  • The my_params.yml file is an example params file used in Part 1 to demonstrate how to pass boolean parameters to a pipeline.

  • The original-hello directory contains a copy of the source code produced by working through the complete Hello Nextflow training series (with Docker enabled).

  • The solutions directory contains the completed workflow scripts that result from each step of the course. They are intended to be used as a reference to check your work and troubleshoot any issues.

Readiness checklist

Think you're ready to dive in?

  • I understand the goal of this course and its prerequisites
  • My environment is up and running
  • I'm using nf-core tools 4.0.2 (check with nf-core --version)
  • I've set my working directory appropriately

If you can check all the boxes, you're good to go.

To continue to Part 1, click on the arrow in the bottom right corner of this page.