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
Minor updates to navigation and Side Quests index, orientation (#563)
* Updated index and orientation pages for Side Quests
* Updated navigation menu to follow home page listing
* Fix capitalization in genomics docs + renumber the placeholder for the config section to avoid confusion
* Rename Launch to Start on Home page to disambiguate starting a training vs launching the environment
Copy file name to clipboardexpand all lines: docs/index.md
+8-8
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ When you're ready to get down to work, click on the 'Open in GitHub Codespaces'
32
32
33
33
Instructions for setting up your environment to work through training materials (all courses). Provides an orientation to GitHub Codespaces as well as alternate installation instructions for working on your own local machine.
34
34
35
-
[Launch the Environment Setup training :material-arrow-right:](envsetup/index.md){ .md-button .md-button--primary }
35
+
[Start the Environment Setup training :material-arrow-right:](envsetup/index.md){ .md-button .md-button--primary }
36
36
37
37
## Nextflow for Newcomers
38
38
@@ -48,7 +48,7 @@ These are foundational, domain-agnostic courses intended for those who are compl
48
48
49
49
This is a course for newcomers who wish to learn how to develop their own pipelines. The course covers the core components of the Nextflow language in enough detail to enable developing simple but fully functional pipelines. It also covers key elements of pipeline design, development and configuration practices.
50
50
51
-
[Launch the Hello Nextflow training :material-arrow-right:](hello_nextflow/index.md){ .md-button .md-button--primary }
51
+
[Start the Hello Nextflow training :material-arrow-right:](hello_nextflow/index.md){ .md-button .md-button--primary }
52
52
53
53
!!! info ""
54
54
@@ -63,7 +63,7 @@ These are foundational, domain-agnostic courses intended for those who are compl
63
63
64
64
This is a course for newcomers who wish to learn how to run existing pipelines. The course covers the bare essentials of the Nextflow language in order to enable interpretation of existing pipelines, as well as the mechanics for configuring and running Nextflow pipelines from a command-line environment. It also covers important components of the Nextflow ecosystem, including the nf-core project, which offers a large number of community-curated pipelines, and the Seqera platform for managing pipeline execution at scale (operated by the creators of Nextflow).
65
65
66
-
[Launch the Nextflow Run training :material-arrow-right:](nextflow_run/index.md){ .md-button .md-button--primary }
66
+
[Start the Nextflow Run training :material-arrow-right:](nextflow_run/index.md){ .md-button .md-button--primary }
67
67
-->
68
68
69
69
## Nextflow for Science
@@ -78,7 +78,7 @@ These are courses that demonstrate how to apply the concepts and components pres
78
78
79
79
This is a course for researchers who wish to learn how to develop their own genomics pipelines. The course uses a variant calling use case to demonstrate how to develop a simple but functional genomics pipeline.
80
80
81
-
[Launch the Nextflow for Genomics training :material-arrow-right:](nf4_science/genomics/){ .md-button .md-button--primary }
81
+
[Start the Nextflow for Genomics training :material-arrow-right:](nf4_science/genomics/){ .md-button .md-button--primary }
82
82
83
83
!!! exercise "Nextflow for RNAseq"
84
84
@@ -88,7 +88,7 @@ These are courses that demonstrate how to apply the concepts and components pres
88
88
89
89
This is a course for researchers who wish to learn how to develop their own RNAseq pipelines. The course uses a bulk RNAseq processing use case to demonstrate how to develop a simple but functional RNAseq pipeline.
90
90
91
-
[Launch the Nextflow for RNAseq training :material-arrow-right:](nf4_science/rnaseq/){ .md-button .md-button--primary }
91
+
[Start the Nextflow for RNAseq training :material-arrow-right:](nf4_science/rnaseq/){ .md-button .md-button--primary }
92
92
93
93
Let us know what other domains and use cases you'd like to see covered here by posting in the [Training section](https://community.seqera.io/c/training/) of the community forum.
94
94
@@ -104,7 +104,7 @@ These are courses that demonstrate how to use Nextflow features in more detail o
104
104
105
105
This is a course for Nextflow developers who wish to widen their range and/or deepen their skills. Although the modules are presented linearly, learners are welcome to pick and choose topics in any order. Any dependencies on components/skills that go beyond the scope of the 'Hello Nextflow' course are indicated in the corresponding module overview.
106
106
107
-
[Launch the Side Quests training :material-arrow-right:](side_quests/){ .md-button .md-button--primary }
107
+
[Start the Side Quests training :material-arrow-right:](side_quests/){ .md-button .md-button--primary }
108
108
109
109
!!! exercise "Fundamentals Training"
110
110
@@ -114,7 +114,7 @@ These are courses that demonstrate how to use Nextflow features in more detail o
114
114
115
115
The fundamentals training material covers all things Nextflow. Intended as a reference material for anyone looking to build complex workflows with Nextflow.
116
116
117
-
[Launch the Fundamentals Training :material-arrow-right:](basic_training/index.md){ .md-button .md-button--primary }
117
+
[Start the Fundamentals Training :material-arrow-right:](basic_training/index.md){ .md-button .md-button--primary }
118
118
119
119
!!! exercise "Advanced Training"
120
120
@@ -124,7 +124,7 @@ These are courses that demonstrate how to use Nextflow features in more detail o
124
124
125
125
Advanced material exploring the more advanced features of the Nextflow language and runtime, and how to use them to write efficient and scalable data-intensive workflows.
126
126
127
-
[Launch the Advanced Training :material-arrow-right:](advanced/index.md){ .md-button .md-button--primary }
127
+
[Start the Advanced Training :material-arrow-right:](advanced/index.md){ .md-button .md-button--primary }
Copy file name to clipboardexpand all lines: docs/nf4_science/genomics/03_modules.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Part 3: moving code into modules
1
+
# Part 3: Moving code into modules
2
2
3
3
In the first part of this course, you built a variant calling pipeline that was completely linear and processed each sample's data independently of the others.
Copy file name to clipboardexpand all lines: docs/nf4_science/genomics/04_testing.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Part 4: adding tests
1
+
# Part 4: Adding tests
2
2
3
3
In the first part of this course, you built a variant calling pipeline that was completely linear and processed each sample's data independently of the others.
### 4.3. Run the workflow to generate a resource utilization report
14
+
15
+
To have Nextflow generate the report automatically, simply add `-with-report <filename>.html` to your command line.
16
+
17
+
```bash
18
+
nextflow run main.nf -profile my_laptop -with-report report-config-1.html
19
+
```
20
+
21
+
The report is an html file, which you can download and open in your browser. You can also right click it in the file explorer on the left and click on `Show preview` in order to view it in VS Code.
22
+
23
+
Take a few minutes to look through the report and see if you can identify some opportunities for adjusting resources.
24
+
Make sure to click on the tabs that show the utilization results as a percentage of what was allocated.
25
+
There is some [documentation](https://www.nextflow.io/docs/latest/reports.html) describing all the available features.
26
+
27
+
<!-- TODO: insert images -->
28
+
29
+
One observation is that the `GATK_JOINTGENOTYPING` seems to be very hungry for CPU, which makes sense since it performs a lot of complex calculations.
30
+
So we could try boosting that and see if it cuts down on runtime.
31
+
32
+
However, we seem to have overshot the mark with the memory allocations; all processes are only using a fraction of what we're giving them.
33
+
We should dial that back down and save some resources.
34
+
35
+
### 4.4. Adjust resource allocations for a specific process
36
+
37
+
We can specify resource allocations for a given process using the `withName` process selector.
38
+
The syntax looks like this when it's by itself in a process block:
39
+
40
+
```groovy title="Syntax"
41
+
process {
42
+
withName: 'GATK_JOINTGENOTYPING' {
43
+
cpus = 4
44
+
}
45
+
}
46
+
```
47
+
48
+
Let's add that to the existing process block in the `nextflow.config` file.
49
+
50
+
```groovy title="nextflow.config" linenums="11"
51
+
process {
52
+
// defaults for all processes
53
+
cpus = 2
54
+
memory = 2.GB
55
+
// allocations for a specific process
56
+
withName: 'GATK_JOINTGENOTYPING' {
57
+
cpus = 4
58
+
}
59
+
}
60
+
```
61
+
62
+
With that specified, the default settings will apply to all processes **except** the `GATK_JOINTGENOTYPING` process, which is a special snowflake that gets a lot more CPU.
63
+
Hopefully that should have an effect.
64
+
65
+
### 4.5. Run again with the modified configuration
66
+
67
+
Let's run the workflow again with the modified configuration and with the reporting flag turned on, but notice we're giving the report a different name so we can differentiate them.
68
+
69
+
```bash
70
+
nextflow run main.nf -profile my_laptop -with-report report-config-2.html
71
+
```
72
+
73
+
Once again, you probably won't notice a substantial difference in runtime, because this is such a small workload and the tools spend more time in ancillary tasks than in performing the 'real' work.
74
+
75
+
However, the second report shows that our resource utilization is more balanced now.
76
+
77
+
<!-- **TODO: screenshots?** -->
78
+
79
+
As you can see, this approach is useful when your processes have different resource requirements. It empowers you to right-size the resource allocations you set up for each process based on actual data, not guesswork.
80
+
81
+
!!!note
82
+
83
+
This is just a tiny taster of what you can do to optimize your use of resources.
84
+
Nextflow itself has some really neat [dynamic retry logic](https://training.nextflow.io/basic_training/debugging/#dynamic-resources-allocation) built in to retry jobs that fail due to resource limitations.
85
+
Additionally, the Seqera Platform offers AI-driven tooling for optimizing your resource allocations automatically as well.
86
+
87
+
We'll cover both of those approaches in an upcoming part of this training course.
88
+
89
+
That being said, there may be some constraints on what you can (or must) allocate depending on what computing executor and compute infrastructure you're using. For example, your cluster may require you to stay within certain limits that don't apply when you're running elsewhere.
Copy file name to clipboardexpand all lines: docs/nf4_science/index.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ These are courses that demonstrate how to apply the concepts and components pres
16
16
17
17
This is a course for researchers who wish to learn how to develop their own genomics pipelines. The course uses a variant calling use case to demonstrate how to develop a simple but functional genomics pipeline.
18
18
19
-
[Launch the Nextflow for Genomics training :material-arrow-right:](genomics/){ .md-button .md-button--primary }
19
+
[Start the Nextflow for Genomics training :material-arrow-right:](genomics/){ .md-button .md-button--primary }
20
20
21
21
!!! exercise "Nextflow for RNAseq"
22
22
@@ -26,6 +26,6 @@ These are courses that demonstrate how to apply the concepts and components pres
26
26
27
27
This is a course for researchers who wish to learn how to develop their own RNAseq pipelines. The course uses a bulk RNAseq processing use case to demonstrate how to develop a simple but functional RNAseq pipeline.
28
28
29
-
[Launch the Nextflow for RNAseq training :material-arrow-right:](rnaseq/){ .md-button .md-button--primary }
29
+
[Start the Nextflow for RNAseq training :material-arrow-right:](rnaseq/){ .md-button .md-button--primary }
30
30
31
31
Let us know what other domains and use cases you'd like to see covered here by posting in the [Training section](https://community.seqera.io/c/training/) of the community forum.
Copy file name to clipboardexpand all lines: docs/side_quests/index.md
+12
Original file line number
Diff line number
Diff line change
@@ -21,3 +21,15 @@ Nevertheless, they all assume some minimal familiarity with the following:
21
21
- Foundational Nextflow concepts and tooling covered in the [Hello Nextflow](../../hello_nextflow/) beginner training course.
22
22
23
23
For technical requirements and environment setup, see the [Environment Setup](../../envsetup/) mini-course.
24
+
25
+
**If this is the first time you delve into the Side Quests, make sure to check out the [Orientation](./orientation.md) page first!**
26
+
27
+
Otherwise, select a side quest from the menu below.
28
+
29
+
## Menu of Side Quests
30
+
31
+
-[Introduction to nf-core](./nf-core.md)
32
+
-[Testing with nf-test](./nf-test.md)
33
+
-[Workflows of workflows](./workflows_of_workflows.md)
34
+
35
+
Let us know what other domains and use cases you'd like to see covered here by posting in the [Training section](https://community.seqera.io/c/training/) of the community forum.
Copy file name to clipboardexpand all lines: docs/side_quests/nf-core.md
+3-1
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# nf-core
1
+
# Introduction to nf-core
2
2
3
3
nf-core is a community effort to develop and maintain a curated set of analysis pipelines built using Nextflow. It was created by several core facilities wanting to consolidate their analysis development and is governed by community members from academia and industry. It is an open community that anyone can join and contribute to.
4
4
@@ -19,6 +19,8 @@ In this tutorial you will explore using and writing nf-core pipelines:
19
19
- Section 2: Develop an nf-core-like pipeline
20
20
In second section, you will use a simplified version of the nf-core template to write a nf-core-style pipeline. The pipeline consists of two modules to process FastQ data: `fastqe` and `seqtk`. It uses an input from a sample sheet, validates it, and produces a multiqc report.
Copy file name to clipboardexpand all lines: docs/side_quests/orientation.md
+12-9
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ If you have not yet done so, please follow [this link](../../envsetup/) before g
7
7
8
8
## Materials provided
9
9
10
-
Throughout this training course, we'll be working in the `tapas/` directory.
10
+
Throughout this training course, we'll be working in the `side-quests/` directory.
11
11
This directory contains all the code files, test data and accessory files you will need.
12
12
13
13
Feel free to explore the contents of this directory; the easiest way to do so is to use the file explorer on the left-hand side of the GitHub Codespaces workspace.
@@ -20,27 +20,30 @@ Here we generate a table of contents to the second level down:
20
20
tree . -L 2
21
21
```
22
22
23
-
If you run this inside `tapas`, you should see the following output:[TODO]
23
+
If you run this inside `side-quests`, you should see the following output:
24
24
25
25
```console title="Directory contents"
26
26
.
27
+
├── nf-core
28
+
├── nf-test
29
+
├── solutions
30
+
└── workflows_of_workflows
27
31
```
28
32
29
-
!!!note
30
-
31
-
Don't worry if this seems like a lot; we'll go through the relevant pieces at each step of the course.
32
-
This is just meant to give you an overview.
33
-
34
33
**Here's a summary of what you should know to get started:**
35
34
36
-
[TODO]
35
+
-**Each directory corresponds to an individual side quest.**
36
+
Their contents are detailed on the corresponding side quest's page.
37
+
38
+
-**The `solutions` directory** contains the completed workflow and/or module scripts that result from running through various steps of each side quest.
39
+
They are intended to be used as a reference to check your work and troubleshoot any issues.
37
40
38
41
!!!tip
39
42
40
43
If for whatever reason you move out of this directory, you can always run this command to return to it:
41
44
42
45
```bash
43
-
cd /workspaces/training/tapas
46
+
cd /workspaces/training/side-quests
44
47
```
45
48
46
49
Now, to begin the course, click on the arrow in the bottom right corner of this page.
0 commit comments