You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/envsetup/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,11 +13,11 @@ Let's get started!
13
13
For more detailed instructions for GitHub Codespaces, see the [GitHub Codespaces env-setup docs](01_setup.md).
14
14
If you cannot use GitHub Codespaces and wish to use a local development environment, see the [documentation for local installation](02_local.md).
15
15
16
-
!!! info "Deprecation of GitPod"
16
+
!!! info "Deprecation of Gitpod"
17
17
18
18
Nextflow Training used to use [Gitpod](https://gitpod.io) until February 2025.
19
19
However, the makers of Gitpod have decided to retire the free functionality in favor of their new [Gitpod Flex](https://www.gitpod.io/blog/introducing-gitpod-flex) system.
20
20
For that reason, we have switched to using GitHub Codespaces, which also offer a one-click developer environment with no prior setup.
21
21
22
-
Depending on when you signed up to GitPod and when exactly they retire the service, you may still be able to launch the training in their old cloud IDE, though we cannot guarantee reliable access going forward:
22
+
Depending on when you signed up to Gitpod and when exactly they retire the service, you may still be able to launch the training in their old cloud IDE, though we cannot guarantee reliable access going forward:
23
23
[Open in Gitpod](https://gitpod.io/#https://github.com/nextflow-io/training).
Copy file name to clipboardExpand all lines: docs/hello_nextflow/00_orientation.pt.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Orientação
2
2
3
-
O ambiente Github Codespaces contém todo o software, código e dados necessários para este curso. Você não precisa instalar nada por conta própria. No entanto, é necessária uma conta (gratuita) para logar - e recomendamos que você reserve alguns minutos para se familiarizar com a interface.
3
+
O ambiente GitHub Codespaces contém todo o software, código e dados necessários para este curso. Você não precisa instalar nada por conta própria. No entanto, é necessária uma conta (gratuita) para logar - e recomendamos que você reserve alguns minutos para se familiarizar com a interface.
4
4
5
5
Caso ainda não tenha feito isso, siga [este link](../../envsetup/) antes de prosseguir.
Copy file name to clipboardExpand all lines: docs/hello_nextflow/03_hello_workflow.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,13 +62,13 @@ If that worked for you, you're ready to learn how to assemble a multi-step workf
62
62
We're going to add a step to convert the greeting to uppercase.
63
63
To that end, we need to do three things:
64
64
65
-
- Define the command we'lre going to use to do the uppercase conversion.
65
+
- Define the command we're going to use to do the uppercase conversion.
66
66
- Write a new process that wraps the uppercasing command.
67
-
-Add the new process to the workflow and set it up to take the output of the `sayHello()` process as input.
67
+
-Call the new process in the workflow block and set it up to take the output of the `sayHello()` process as input.
68
68
69
69
### 1.1. Define the uppercasing command and test it in the terminal
70
70
71
-
To do the conversion of the greetings to uppercase, we're going to a classic UNIX tool called `tr` for 'text replacement', with the following syntax:
71
+
To do the conversion of the greetings to uppercase, we're going to use a classic UNIX tool called `tr` for 'text replacement', with the following syntax:
72
72
73
73
```bash title="Syntax"
74
74
tr '[a-z]''[A-Z]'
@@ -338,7 +338,7 @@ Nextflow doesn't mind, so it doesn't matter.
338
338
This is where things could get a little tricky, because we need to be able to handle an arbitrary number of input files.
339
339
Specifically, we can't write the command up front, so we need to tell Nextflow how to compose it at runtime based on what inputs flow into the process.
340
340
341
-
In other words, if we have an input channel containing the item`[file1.txt, file2.txt, file3.txt]`, we need Nextflow to turn that into `cat file1.txt file2.txt file3.txt`.
341
+
In other words, if we have an input channel containing the element`[file1.txt, file2.txt, file3.txt]`, we need Nextflow to turn that into `cat file1.txt file2.txt file3.txt`.
342
342
343
343
Fortunately, Nextflow is quite happy to do that for us if we simply write `cat ${input_files}` in the script command.
344
344
@@ -368,7 +368,7 @@ In theory this should handle any arbitrary number of input files.
368
368
369
369
Some command-line tools require providing an argument (like `-input`) for each input file.
370
370
In that case, we would have to do a little bit of extra work to compose the command.
371
-
You can see an example of this in the 'Nextflow for Genomics' training course.
371
+
You can see an example of this in the [Nextflow for Genomics](../../nf4_science/genomics/) training course.
372
372
373
373
<!--[ADD LINK to note above] -->
374
374
@@ -427,13 +427,13 @@ We were only expecting one, but there are three.
427
427
428
428
And have a look at the contents of the final output file too:
429
429
430
-
```console title="COLLECTED-output.txt"
430
+
```console title="results/COLLECTED-output.txt"
431
431
Holà
432
432
```
433
433
434
434
Oh no. The collection step was run individually on each greeting, which is NOT what we wanted.
435
435
436
-
We need to do something to tell Nextflow explicitly that we want that third step to run on all the items in the channel output by `convertToUpper()`.
436
+
We need to do something to tell Nextflow explicitly that we want that third step to run on all the elements in the channel output by `convertToUpper()`.
437
437
438
438
### 2.3. Use an operator to collect the greetings into a single input
439
439
@@ -521,22 +521,22 @@ This time the third step was only called once!
521
521
Looking at the output of the `view()` statements, we see the following:
522
522
523
523
- Three `Before collect:` statements, one for each greeting: at that point the file paths are individual items in the channel.
524
-
- A single `After collect:` statement: the three file paths are now packaged into a single item.
524
+
- A single `After collect:` statement: the three file paths are now packaged into a single element.
525
525
526
526
Have a look at the contents of the final output file too:
527
527
528
-
```console title="COLLECTED-output.txt"
528
+
```console title="results/COLLECTED-output.txt"
529
529
BONJOUR
530
530
HELLO
531
531
HOLà
532
532
```
533
533
534
-
This time we have all three greetings in the final output file. Success!
534
+
This time we have all three greetings in the final output file. Success! Remove the optional view calls to make the next outputs less verbose.
535
535
536
536
!!! note
537
537
538
538
If you run this several times without `-resume`, you will see that the order of the greetings changes from one run to the next.
539
-
This shows you that the order in which items flow through the pipeline is not guaranteed to be consistent.
539
+
This shows you that the order in which elements flow through process calls is not guaranteed to be consistent.
540
540
541
541
### Takeaway
542
542
@@ -742,14 +742,14 @@ Conveniently, Nextflow lets us add arbitrary code in the `script:` block of the
742
742
743
743
That means we can use the built-in `size()` function to get the number of files in the `input_files` array.
744
744
745
-
In the process block, make the following code change:
745
+
In the `collectGreetings`process block, make the following code change:
Copy file name to clipboardExpand all lines: docs/hello_nextflow/05_hello_containers.md
+49-28Lines changed: 49 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,7 +86,7 @@ The `'<container>'` part is the URI address of the container image.
86
86
As an example, let's pull a container image that contains [cowpy](https://github.com/jeffbuttars/cowpy), a python implementation of a tool called `cowsay` that generates ASCII art to display arbitrary text inputs in a fun way.
87
87
88
88
There are various repositories where you can find published containers.
89
-
We used the [Seqera Containers](https://seqera.io/containers/) service to generate this Docker container from the `cowpy` Conda package: `'community.wave.seqera.io/library/cowpy:1.1.5--3db457ae1977a273'`.
89
+
We used the [Seqera Containers](https://seqera.io/containers/) service to generate this Docker container image from the `cowpy` Conda package: `'community.wave.seqera.io/library/cowpy:1.1.5--3db457ae1977a273'`.
90
90
91
91
Run the complete pull command:
92
92
@@ -163,7 +163,7 @@ You can also run a container interactively, which gives you a shell prompt insid
163
163
164
164
#### 1.3.1. Spin up the container
165
165
166
-
To run interactively, we just add `-it` to the `docker pull` command.
166
+
To run interactively, we just add `-it` to the `docker run` command.
167
167
Optionally, we can specify the shell we want to use inside the container by appending _e.g._`/bin/bash` to the command.
168
168
169
169
```bash
@@ -200,7 +200,7 @@ For example, the tool documentation says we can change the character ('cowacter'
200
200
cowpy "Hello Containers" -c tux
201
201
```
202
202
203
-
Now the output shows the Linux penguin, Tux, instead of the default cow, because we specified `-c tux` parameter.
203
+
Now the output shows the Linux penguin, Tux, instead of the default cow, because we specified the `-c tux` parameter.
204
204
205
205
```console title="Output"
206
206
__________________
@@ -250,7 +250,7 @@ One way to do this is to **mount** a **volume** from the host system into the co
250
250
-v <outside_path>:<inside_path>
251
251
```
252
252
253
-
In our case `<outside_path>` will be the current working directory, so we can just use a dot (`.`), and `<outside_path>` is just a name we make up; let's call it `/data`.
253
+
In our case `<outside_path>` will be the current working directory, so we can just use a dot (`.`), and `<inside_path>` is just a name we make up; let's call it `/data`.
254
254
255
255
To mount a volume, we replace the paths and add the volume mounting argument to the docker run command as follows:
256
256
@@ -266,6 +266,8 @@ You can check that it works by listing the contents of `/data`:
266
266
ls /data
267
267
```
268
268
269
+
Depending on what part of this training you've done before, the output below my look slightly different.
You see that the character is saying all the greetings, just as it did when we ran the `cowpy` command on the `greetings.csv` file from inside the container.
Copy file name to clipboardExpand all lines: docs/hello_nextflow/06_hello_config.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -610,4 +610,5 @@ You know how to use profiles to select a preset configuration at runtime with mi
610
610
### What's next?
611
611
612
612
Celebrate and give yourself a big pat on the back! You have completed your very first Nextflow developer course.
613
-
Then check out the training portal homepage for more training content that may be of interest.
613
+
614
+
Next, we ask you to complete a very short survey about your experience with this training course, then we'll take you to a page with links to further training resources and helpful links.
Congrats again on completing the Hello Nextflow training course and thank you for completing our survey!
4
+
5
+
**Here are our top 3 recommendations for what you can do next to take your Nextflow skills to the next level.**
6
+
7
+
### 1. See how what you just learned applies to a scientific analysis use case
8
+
9
+
**Check out the [Nextflow for Science](../nf4_science/index.md) page** for a list of short standalone courses that demonstrate how to apply the basic concepts and mechanisms presented in Hello Nextflow to common scientific analysis use cases.
10
+
11
+
If you don't see your domain represented by a relatable use case, let us know in the [Community forum](https://community.seqera.io/) so we can add it to our development list.
12
+
13
+
### 2. Delve into the details
14
+
15
+
In the Hello Nextflow course, we keep the level of technical complexity low on purpose to avoid overloading you with information you don't need in order to get started with Nextflow.
16
+
As you move forward with your work, you're going to want to learn how to use the full feature set and power of Nextflow.
17
+
18
+
To that end, we are currently working on a collection of Side Quests, which are meant to be short standalone courses that go deep into specific topics like testing, metadata handling, using conditional statements and the differences between working on HPC _vs._ cloud.
19
+
20
+
In the meantime, feel free to **browse the [Fundamentals Training](../basic_training/index.md) and [Advanced Training](../advanced/index.md)** to find training exercises about the topics that interest you.
21
+
22
+
### 3. Learn how to use nf-core resources and the Seqera Platform
23
+
24
+
**The [nf-core project](https://nf-co.re/) is a worldwide collaborative effort to develop standardized open-source pipelines for a wide range of scientific research applications.**
25
+
It includes [over 100 pipelines](https://nf-co.re/pipelines/) that are available for use out of the box and [well over 1400 process modules](https://nf-co.re/modules/) that can be integrated into your own projects, as well as a rich set of developer tools.
26
+
27
+
**[Seqera Platform](https://seqera.io/) is the best way to run Nextflow in practice.**
28
+
It is a cloud-based platform that you can connect to your own compute infrastructure to make it much easier to launch and manage your workflows.
29
+
The Free Tier is available for free use by everyone (with usage quotas).
30
+
Qualifying academics can get free Pro-level access (no usage limitations) through the [Academic Program](https://seqera.typeform.com/to/SRB8Ci3n).
31
+
32
+
We are currently developing a short training course demonstrating how to use both of these resources (either independently or in combination).
33
+
In the meantime, check out the [nf-core docs](https://nf-co.re/docs/) and the [Seqera Platform tutorials](https://docs.seqera.io/platform/latest/getting-started/quickstart-demo/comm-showcase)
34
+
35
+
### That's it for now!
36
+
37
+
**Good luck in your Nextflow journey and don't hesitate to let us know in the [Community forum](https://community.seqera.io/) what else we could do to help.**
Before you move on, please complete this short 4-question survey to rate the training, share any feedback you may have about your experience, and let us know what else we could do to help you in your Nextflow journey.
4
+
5
+
This should take you less than a minute to complete. Thank you for helping us improve our training materials for everyone!
0 commit comments