Skip to content

Commit ce85956

Browse files
authored
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
1 parent 6aa6169 commit ce85956

10 files changed

+139
-41
lines changed

docs/index.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ When you're ready to get down to work, click on the 'Open in GitHub Codespaces'
3232

3333
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.
3434

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 }
3636

3737
## Nextflow for Newcomers
3838

@@ -48,7 +48,7 @@ These are foundational, domain-agnostic courses intended for those who are compl
4848

4949
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.
5050

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 }
5252

5353
!!! info ""
5454

@@ -63,7 +63,7 @@ These are foundational, domain-agnostic courses intended for those who are compl
6363
6464
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).
6565
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 }
6767
-->
6868

6969
## Nextflow for Science
@@ -78,7 +78,7 @@ These are courses that demonstrate how to apply the concepts and components pres
7878

7979
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.
8080

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 }
8282

8383
!!! exercise "Nextflow for RNAseq"
8484

@@ -88,7 +88,7 @@ These are courses that demonstrate how to apply the concepts and components pres
8888

8989
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.
9090

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 }
9292

9393
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.
9494

@@ -104,7 +104,7 @@ These are courses that demonstrate how to use Nextflow features in more detail o
104104

105105
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.
106106

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 }
108108

109109
!!! exercise "Fundamentals Training"
110110

@@ -114,7 +114,7 @@ These are courses that demonstrate how to use Nextflow features in more detail o
114114

115115
The fundamentals training material covers all things Nextflow. Intended as a reference material for anyone looking to build complex workflows with Nextflow.
116116

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 }
118118

119119
!!! exercise "Advanced Training"
120120

@@ -124,7 +124,7 @@ These are courses that demonstrate how to use Nextflow features in more detail o
124124

125125
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.
126126

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 }
128128

129129
## Other/Experimental
130130

docs/nf4_science/genomics/03_configuration.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Part 3: Resource profiling and optimization
1+
# Part 5: Resource profiling and optimization
22

33
THIS IS A PLACEHOLDER
44

docs/nf4_science/genomics/03_modules.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Part 3: moving code into modules
1+
# Part 3: Moving code into modules
22

33
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.
44

docs/nf4_science/genomics/04_testing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Part 4: adding tests
1+
# Part 4: Adding tests
22

33
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.
44

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Part 3: Resource profiling and optimization
2+
3+
THIS IS A PLACEHOLDER
4+
5+
!!!note
6+
7+
This training module is under redevelopment.
8+
9+
---
10+
11+
TODO
12+
13+
### 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.

docs/nf4_science/index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ These are courses that demonstrate how to apply the concepts and components pres
1616

1717
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.
1818

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 }
2020

2121
!!! exercise "Nextflow for RNAseq"
2222

@@ -26,6 +26,6 @@ These are courses that demonstrate how to apply the concepts and components pres
2626

2727
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.
2828

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 }
3030

3131
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.

docs/side_quests/index.md

+12
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,15 @@ Nevertheless, they all assume some minimal familiarity with the following:
2121
- Foundational Nextflow concepts and tooling covered in the [Hello Nextflow](../../hello_nextflow/) beginner training course.
2222

2323
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.

docs/side_quests/nf-core.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# nf-core
1+
# Introduction to nf-core
22

33
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.
44

@@ -19,6 +19,8 @@ In this tutorial you will explore using and writing nf-core pipelines:
1919
- Section 2: Develop an nf-core-like pipeline
2020
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.
2121

22+
---
23+
2224
## 0. Warmup
2325

2426
Let's move into the project directory.

docs/side_quests/orientation.md

+12-9
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ If you have not yet done so, please follow [this link](../../envsetup/) before g
77

88
## Materials provided
99

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.
1111
This directory contains all the code files, test data and accessory files you will need.
1212

1313
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:
2020
tree . -L 2
2121
```
2222

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:
2424

2525
```console title="Directory contents"
2626
.
27+
├── nf-core
28+
├── nf-test
29+
├── solutions
30+
└── workflows_of_workflows
2731
```
2832

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-
3433
**Here's a summary of what you should know to get started:**
3534

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.
3740

3841
!!!tip
3942

4043
If for whatever reason you move out of this directory, you can always run this command to return to it:
4144

4245
```bash
43-
cd /workspaces/training/tapas
46+
cd /workspaces/training/side-quests
4447
```
4548

4649
Now, to begin the course, click on the arrow in the bottom right corner of this page.

mkdocs.yml

+10-18
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,13 @@ nav:
2020
- hello_nextflow/06_hello_config.md
2121
- hello_nextflow/survey.md
2222
- hello_nextflow/next_steps.md
23-
- Side Quests:
24-
- side_quests/nf-test.md
25-
- side_quests/nf-core.md
26-
- side_quests/workflows_of_workflows.md
2723
- Nextflow for Genomics:
2824
- nf4_science/genomics/index.md
2925
- nf4_science/genomics/00_orientation.md
3026
- nf4_science/genomics/01_per_sample_variant_calling.md
3127
- nf4_science/genomics/02_joint_calling.md
3228
- nf4_science/genomics/03_modules.md
3329
- nf4_science/genomics/04_testing.md
34-
3530
- Nextflow for RNAseq:
3631
- nf4_science/rnaseq/index.md
3732
- nf4_science/rnaseq/00_orientation.md
@@ -40,6 +35,12 @@ nav:
4035
- nf4_science/rnaseq/03_multi-sample.md
4136
- nf4_science/rnaseq/survey.md
4237
- nf4_science/rnaseq/next_steps.md
38+
- Side Quests:
39+
- side_quests/index.md
40+
- side_quests/orientation.md
41+
- side_quests/nf-core.md
42+
- side_quests/nf-test.md
43+
- side_quests/workflows_of_workflows.md
4344
- Fundamentals Training:
4445
- basic_training/index.md
4546
- basic_training/orientation.md
@@ -173,33 +174,24 @@ plugins:
173174
- hello_nextflow/00_orientation.md
174175
- nf4_science/genomics/00_orientation.md
175176
- nf4_science/rnaseq/00_orientation.md
177+
- side_quests/orientation.md
176178
- basic_training/orientation.md
177179
- advanced/orientation.md
178180

179181
exclude:
180182
- index.md
181183
- help.md
182-
- basic_training/index.md
183-
- advanced/index.md
184-
- nf_customize/index.md
185-
- nf_develop/index.md
186-
- troubleshoot/index.md
187-
- hands_on/index.md
188-
- hands_on/solutions/*md
189184
- envsetup/*.md
190185
- hello_nextflow/*.md
191186
- nf4_science/genomics/*.md
192187
- nf4_science/rnaseq/*.md
188+
- side_quests/*.md
193189
- basic_training/index.md
194190
- basic_training/orientation.md
195191
- advanced/index.md
196192
- advanced/orientation.md
197-
- side_quests/nf-test.md
198-
- nf4_science/genomics/03_modules.md
199-
- side_quests/workflows_of_workflows.md
200-
- side_quests/nf-core.md
201-
- nf4_science/genomics/03_modules.md
202-
- nf4_science/genomics/04_testing.md
193+
- nf_customize/index.md
194+
- nf_develop/index.md
203195
- i18n:
204196
docs_structure: suffix
205197
fallback_to_default: true

0 commit comments

Comments
 (0)