Orientation - Video Transcript¶
Important note
This page shows the transcript only. For full step-by-step instructions, return to the course material.
Welcome¶
Hi, and welcome to Hello Nextflow. My name is Phil Ewels. I'm Product Manager for Open Source Software at Seqera, the company behind Nextflow.
This course is a hands-on introduction to building workflows with Nextflow. It's designed for people who are completely new to Nextflow and want to develop their own pipelines.
The examples are all simple text processing, so you can focus on the Nextflow concepts without needing domain expertise, just some command line familiarity.
We're going to go through the basics of Nextflow: writing processes, connecting them into multi-step workflows, managing software dependencies with containers, and configuring pipelines for different computing environments. By the end, you'll have built a working pipeline from scratch.
This course focuses on developing pipelines. If you just want to run existing pipelines without diving into the code too much, we have a shorter "Nextflow Run" course which might suit you better.
Once you've got the basics down here, we also have follow-on courses which apply these concepts to real scientific analysis. We'll teach you how to use the nf-core community's pipelines and best practices.
If you get stuck head over to community.seqera.io. There's an active community forum there with the section dedicated just for training questions. You can use it at any time, however, we also run quarterly training weeks with people on hand specifically to help out. So if you are doing the training during one of those, definitely don't be shy and ask for help.
You can also try asking Seqera AI for help. It's great at explaining Nextflow code and helping you with debugging.
When you're ready to run Nextflow at scale, Seqera Platform is the best place to do it. It runs on your infrastructure without any vendor lock-in, with everything from pipeline launching to real-time monitoring, to interactive analysis environments. But for now, let's just focus on the fundamentals.
Right, let's get started.
training.nextflow.io¶
Okay. The first thing to note is that all of the training courses on training.nextflow.io are very interactive. The idea is that you follow the training material and my instructions, and we go through training material together. So you'll need two things: you'll need your laptop and you'll need this website open. And that's pretty much it.
So this is a homepage as it looks today when I record this. You can see that there's an overview of, the different things, the background, and the different courses that we have, which is, the list is growing all the time.
Nextflow for newcomers is where we are. There's, two courses within here, Nextflow Run, which is different course, and, the Hello Nextflow, which is what we care about.
And you can also see all the different courses on the sidebar. I can jump over to Hello Nextflow, and we can see all the different chapters that we're gonna work through together.
There's a couple of other important things to note here. Firstly, the, training material is versioned, so you can see up it here. It says 3.0 latest, which at the time I'm recording is the latest stable version. This will change over time. We push out new courses and we update the material over time. So if it's 3.1 or 3.2, don't worry too much. If it's 4.0, then there's probably a new video, and you should maybe go and find that because there'll probably be significant updates.
Another dropdown at the top is this, language one. Now this is brand new for version 3.0. We've taken the previously translated material, which was done by Humans, by hand, and we've passed that into an LLM and set up this whole new infrastructure for maintaining different translations of a training material using LLM translation.
So now we have all these fantastic translations here. So if you want to listen in Korean, you can load up the whole website in Korean. And, and follow along there. Same for all these other languages, Hindi and German and so on. I'm gonna be following through in English. That's like the primary language which we write the material in.
A couple of other buttons if you like to have light mode. Instead of that mode, you can follow the website in light mode up at the top here.
And then also everything we look at is in a single GitHub repository, which is open source, called nextflow-io/training. And if you click this button at any point, it will go to the GitHub repository. We'll come back to that in a minute.
Setting up GitHub Codespaces¶
Okay, so now you've got this open in the browser tab. Let's go over to Hello Nextflow and click in. You can see on the intro page, it tells us a few of the requirements, the overview, and the lesson plan of roughly what we're gonna cover, and then we're gonna dive into getting started.
There are different ways you can do this interactive tutorial. If you are happy to, you are welcome to do this locally on your own computer with your own installation of Nextflow. if we click through to Environment Options, you can see there's more details on how to do this either using local Devcontainers or you can also just install all the software locally, with manual installation.
We're working on getting this working nicely with Seqera Studios, so that's another option. But the most common one right now is to use GitHub Codespaces.
Codespaces, sets up a sandbox environment on a remote server run by GitHub. And it's free for a certain amount of usage, which is usually fine for training. And it will set you up with a VS Code instance, an IDE where you can access all the files from the repository, run Nextflow and everything. And we've pre-configured Codespaces for you. So it has everything you need.
The beauty of this is it's just one click to set up a Codespace. It's the same for everybody, and we know that you've got all the prerequisites installed already, so it's nice and fast.
So the first thing to do is go over to "Getting Started". Look for this button, which says, _Open in Codespaces. _I'm gonna command + click it to open it in a new tab, and it takes us to GitHub.
This is what it looks like. We can see, we've set all the options here for you. If you want to, you can click change options. Some things you can do here. You can give a bigger instance machine, for example, if you find it crashes 'cause it runs out of memory or anything like that. Or set specific versions of a training material. But usually you can just go with what we've set up here and you can see it. In this case it's, using the 3.0 release.
So I'm gonna click create new Codespace. And that takes me in.
Notice also, it says no Codespace to resume there. If I've previously created a Codespace, clicking that button again on the training material will take me to the same page and it'll list all the Codespaces I already have running. Then you can just jump straight back into them and carry on where you left off. So it doesn't matter if you closed your laptop.
They automatically shut themselves down after a few minutes of inactivity, but it's no problem. You can just restart them.
Once you start a new Codespace, it's gonna sit on this page like this and it's gonna load for quite a while. So now's a good time to take a quick break. Maybe you forgot to go to a toilet or you want a cup of tea before we get started? Go now while you're waiting for this, 'cause it's gonna spin there for a while.
Just quickly while we wait for it to load, I'm also gonna go to github.com/codespaces and just show this is the the overview page where you can see all the different Codespaces you currently have running.
You can see I've got one here for nextflow-io/training. No changes, 'cause I haven't done anything in it yet. The amount of resources it's using, and you can see at the moment it's setting up. I can go here, click this little dropdown and click delete. So if you accidentally set up multiple Codespaces and you're not using some, you can delete the old ones and clean up.
Finally, one more way to get into this. If we go to the GitHub repository. And this works for any GitHub repository. Click code. You can have commands for cloning the repository locally. And there's a tab called Codespaces. And again, you can create a new one, and you can see the ones which are already running.
So again, if you forget how you created your Codespace, you can always get back to it this way.
The VS Code interface¶
Okay, the builders finished and it's now starting to load up the GitHub Codespaces. It doesn't always take that long, so don't worry. It is just the first time you create the Codespace. If you jump back into one that already exists, it's much faster.
Don't be too impatient if this is the first time, it hasn't finished yet, even though it's starting to give us an interface.
But while we're waiting for the final things to be set up, I will just take you through the interface in case you are a little unfamiliar with VS Code.
Firstly, there's the chat sidebar for AI stuff, which we don't need. So I'm gonna close that, get rid of that and free up some space.
Over on the left, we've got the file explorer that shows us all of the files in the Git repository, which is the workspace we've created. Note, these are not local files. This is all on the remote server where we're working. You can drag and drop local files and things, but for the most part, we're not going to think about that today. We're just working purely remotely.
There are other tools in this sidebar, for example, search. So you can search all the files in a repository in one go. And if we were doing development work on the training repo, we could do integration with source control with Git and debugging and other things.
Other things are, there's a main kind of code editing window up here, which has just loaded a preview of the readme, which is for training material. So in this case it's viewing markdown, but normally this will be a code editor.
And then below that we have the terminal, which is where we're gonna be running all of our commands and interacting directly with Nextflow.
Everything in the Codespace is pre-installed, so Nextflow command is already there and so on and so on.
Okay. When you get this far, it should be about done. You can see now it has downloaded the Nextflow language server and it's set up some extensions for us in VS code, including the Nextflow extension, which is gonna be useful. So I can close that down and I can close the README.md.
And now you can see I've got some more on the left hand side. I'm a bit zoomed in here, but if I zoom out you can see that one of the buttons says Nextflow with the Nextflow icon. and that has some nice stuff in here to explore the project and things, which we'll come back to later.
Okay. in case you ever lose any of these panels, these buttons in the top right are really useful and these just show and hide things. So that shows in hides the Explorer shows and hides the terminal at the bottom. And so on.
I'm gonna be using these quite a lot because I'm very zoomed in, so try and help you see all of the text on my screen, and so it's useful to be able to go full screen with the terminal and then hide it when we're looking at code. But most of the time you can just have all this stuff open at the same time.
Okay, what else to look at? Not too much more. Note that Nextflow, like I say, is installed. So I can type in "nextflow -version" and it should come up saying which version we've got installed.
There's some other stuff installed in here as well. At the end of every chapter, we have a set of quiz questions, for example, on the, website. And you can also do those in the terminal if you want to by typing quiz.
There's some other keyboard shortcuts I'm gonna be using, just in case you're curious. For example, just then I pressed cmd+K on my Mac and that cleared the terminal, to get rid of all the previous output. So that's nice to keep things clean. If you see me doing that's how I'm doing it.
And also if you are new to the terminal, remember you can use tab to auto complete, which I'll be doing a lot to auto complete paths.
So I can see on the left here there's a folder called Hello Nextflow, which is what we're gonna be working through. If I do "ls" to list files, I can do "hel", hit tab, auto completes. And so this is a very fast way to complete paths.
Opening just the Hello Nextflow folder¶
Okay. This is great. There's a lot of stuff in this repository though.
There's all the files for generating the website, and there's multiple different courses in here, and you can do it from this route and just click in the "Hello Nextflow" folder. But it's nice to actually just focus purely on this.
You can set this as your workspace with a bunch of clicking in around here and setting a project directory and stuff. But the easiest way is to type code, which is the CLI command for launching VS Code, and then "hello-nextflow".
That will open a new browser tab and you can close the old one. And it looks exactly the same. But now you can see we're in this subdirectory and all the other files are invisible, and we have a cleaner kind of setup.
You can see here that also the current working directory is now within the Hello Nextflow folder. So nice and clean. We don't need to worry about being in the wrong place. Okay.
New Nextflow Syntax for 2026¶
there's one special thing I need to mention at this point. Right now, at the start of 2026, we're starting to bring out different features into Nextflow, and one of the big new ones is a new language syntax parser inside Nextflow.
Basically the engine which reads your Nextflow files and understands that, for runtime. There are some changes to the syntax, and it's really important that you use Nextflow with the correct syntax parser enabled.
Two things you need for this. You need an up to date version of Nextflow and you need to make sure that it's enabled.
If I do "nextflow -version" again, you'll see that the Codespaces is running with 25.10.2 and 25.10 is the minimum version to be able to be using this stuff.
If you are using 26.04, which for me hasn't come out yet, but will do soon. Then this will be running the new syntax parser by default, and you don't have to do anything else.
But if you're running 25.10, you need to enable the strict syntax parser, as it's called, or v2 syntax parser.
This is done with an environment variable. It's already set in the Codespaces, so you don't need to do anything. But if you're running locally, you need to set this, and I can verify this by doing "echo $NXF_SYNTAX_PARSER", and it should be set to v2.
So if you're running locally, just do "export NXF_SYNTAX_PARSER=v2". Simple as that. But do remember to do that. 'cause otherwise you're gonna see some weird discrepancies and, errors as we go along.
If you are at all unsure about any of this stuff around Nextflow version and syntax passer, firstly, remember, you don't need to worry if you're in Codespaces. Everything should be set up properly. But secondly, if you go over to the Nextflow training material, if you go down, talk about version requirements, there's a link here which takes you down to the help page around explore versions, and this kind of goes through all of it in detail.
It's worth reading this if you have a moment. 'cause it's helps clarify what some of the different terms are, which you might hear when you start using Nextflow. Things like DSL1, DSL2, syntax parser one, syntax parser two, and so on. So it's worth just having a check over that and that repeats some of what I've just said.
It's also really useful if you've previously written Nextflow code and you're coming back for a refresher. It tells you some of the things that changes and links you out to parts of the Nextflow documentation, which tells you how to update your Nextflow code.
Course files¶
Okay. Last thing to familiarize ourselves is just see the files, which are in this directory. You can either look in the sidebar or often in the training material, we use the tree command, -L, which is number of levels to look into. We'll say two, and if I make this full screen, you'll see this basically mirrors exactly what we see on the sidebar there, but it excludes hidden files, which start with a dot.
So the *.nf files, it stands for Nextflow. So these are the Nextflow script files, and there's a starter file here for each of the different chapters of a training material, which we'll open and explore and then edit.
We will change these files as we go along, and so by the end of each chapter, the files should be looking pretty much the same as the start of the chapter for the next one. But we give you these different files so you can always kind of start fresh and not worry too much about messing up the syntax.
If you need to compare to something that should definitely work. You can check in the solutions folder, and this is like a final state for each one of the chapters, so you can compare what you've written against what's there.
There's a data directory. This has just a greetings.csv file, which we'll use as example, input data in some of the course, and things like a config file and some parameters, which we'll describe later in the course.
Wrap up¶
Okay, so now hopefully everything is running. Your screen looks the same as mine and you understand how to get at everything and what all the different files are.
If you scroll down to the bottom of the page on getting started, little checkbox you should say that I understand what it is I'm doing. My environment is up and running and you are set, you're working directory properly to the "Hello Nextflow" folder.
If you've ticked all those and they look green. We can carry on to the next video and the next chapter, which is part one. Hello World. See you in a moment.