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/nf_customize/01_orientation.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
@@ -25,11 +25,11 @@ In this folder you will find three pairs of zipped fastq files (`*.fastq.gz`) in
25
25
└── samplesheet.csv
26
26
```
27
27
28
-
Each file will be used in this training module.
28
+
These files will be used in this training module.
29
29
30
30
!!! question "Exercise"
31
31
32
-
Open the [Gitpod training environment](https://gitpod.io/#https://github.com/nextflow-io/training) and use the following command to switch to the `nf-customize` folder. View the files in this folder using the `tree` command:
32
+
Open the [Gitpod training environment](https://gitpod.io/#https://github.com/nextflow-io/training) and switch to the `nf-customize` folder. View the files in this folder using the `tree` command:
Copy file name to clipboardExpand all lines: docs/nf_customize/02_nf-core.md
+20-12Lines changed: 20 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,9 +27,9 @@ nf-core is published in Nature Biotechnology: [Nat Biotechnol 38, 276–278 (202
27
27
28
28
## nf-core pipelines
29
29
30
-
There are currently >100 nf-core pipelines. These pipelines are at various stages of development with 60 released, 34 under development, and 11 archived (April 2024).
30
+
There are currently 113 nf-core pipelines. These pipelines are at various stages of development, with 68 released, 32 under development, and 13 archived (October 2024).
31
31
32
-
The [nf-core website](https://nf-co.re/)contains a full list of pipelines, as well as their documentation, which can be explored.
32
+
The [nf-core website](https://nf-co.re/)hosts a full list of pipelines, as well as their documentation, which can be explored.
33
33
34
34

35
35
@@ -40,49 +40,57 @@ Each released pipeline has a dedicated page that includes 6 documentation sectio
40
40
-**Parameters:** Grouped pipeline parameters with descriptions
41
41
-**Output:** Descriptions and examples of the expected output files
42
42
-**Results:** Example output files generated from the full test dataset
43
-
-**Releases & Statistics:**pipeline version history and statistics
43
+
-**Releases & Statistics:**Pipeline version history and statistics
44
44
45
45
Each section should be explored by a user to understand what the pipeline does and how it can be configured.
46
46
47
+
!!! question "Exercise"
48
+
49
+
Explore the nf-core website to see the range of resources available.
50
+
47
51
## Pulling an nf-core pipeline
48
52
49
-
Unless you intend to develop an nf-core pipeline independently, you do not need to clone a copy of a pipeline. Instead, you can use Nextflow’s `pull` command:
53
+
Unless you intend to develop an nf-core pipeline independently, you do not need to clone a copy of a pipeline.
54
+
55
+
Instead, use Nextflow’s `pull` command:
50
56
51
57
```bash
52
58
nextflow pull nf-core/demo
53
59
```
54
60
55
61
!!! note "The `nextflow run` command"
56
62
57
-
The `nextflow run` command will also automatically `pull` the pipeline if it had not been pulled.
63
+
The `nextflow run` command will also automatically `pull` the pipeline.
58
64
59
-
Nextflow will `pull` the pipelines default GitHub branch if a pipeline version is not specified. This will be the master branch for nf-core pipelines with a stable release.
65
+
Nextflow will `pull` the pipelines default GitHub branch if a pipeline version is not specified. The master branch is the default branch for nf-core pipelines with a stable release and the dev branch for pipelines that are still being developed.
60
66
61
-
nf-core pipelines use GitHub releases to tag stable versions of the code and software. You will always be able to execute different versions of a pipeline using the `-revision` or `-r` option.
67
+
Pipelines pulled from GitHub using Nextflow are automatically stored in a Nextflow assets folder (default: `$HOME/.nextflow/assets/`).
68
+
69
+
nf-core pipelines use GitHub releases to tag stable versions of the code and software. You can execute different versions of a pipeline using the `-revision` or `-r` option.
62
70
63
71
Similarly, you can use the `-r` option to specify a specific GitHub branch. For example, the `dev` branch of the `nf-core/demo` pipeline could be pulled with the command:
64
72
65
-
```
73
+
```bash
66
74
nextflow pull nf-core/demo -r dev
67
75
```
68
76
69
-
If updates to a remote pipeline have been made, the pull command can be used to update or revery your local copy.
77
+
If updates to a remote pipeline have been made, run the pull command to update or revert your local copy.
70
78
71
79
!!! question "Exercise"
72
80
73
-
Use nextflow to pull the `nf-core/demo` pipeline:
81
+
Pull the `nf-core/demo` pipeline:
74
82
75
83
```bash
76
84
nextflow pull nf-core/demo
77
85
```
78
86
79
-
Use the list command to view your cached pipelines:
87
+
Use the `list` command to view your cached pipelines:
80
88
81
89
```bash
82
90
nextflow list
83
91
```
84
92
85
-
Pulled pipelines are stored in a hidden assets folder:
93
+
View your pulled pipelines in the nextflow assets folder:
- ([`FASTQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)): Read quality control
14
14
- ([`SEQTK_TRIM`](https://github.com/lh3/seqtk)): Trim low quality bases from FastQ files
15
-
- ([`MULTIQC`](http://multiqc.info/)): Present QC for raw reads
15
+
- ([`MULTIQC`](http://multiqc.info/)): Present quality control reports for raw reads
16
16
17
-
[`nf-core/demo`](https://nf-co.re/demo/) takes a samplesheet that contains paths to fastq files as an input and will produce four output folders with a variety of logs and reports:
17
+
[`nf-core/demo`](https://nf-co.re/demo/) takes a samplesheet that contains paths to FASTQ files as an input and will produce four output folders with logs and reports:
@@ -38,27 +38,27 @@ The documentation for the `nf-core/demo` pipeline can be found [on the nf-core/d
38
38
39
39
## Required inputs
40
40
41
-
Before running any nf-core pipeline you will need to check if there are any parameters that are required.
41
+
Before running any nf-core pipeline you will need to check if any parameters are required.
42
42
43
-
You can view these on the pipelines parameters page.
43
+
You can find required parameters on the pipelines parameters page.
44
44
45
45
The [parameters page of the `nf-core/demo` pipeline](https://nf-co.re/demo/dev/parameters) shows that this pipeline requires two parameters (`--input` and `--outdir`) to run.
Without these, the pipeline will not launch and nextflow will throw an error.
49
+
Without these, the pipeline will not launch and will throw an error.
50
50
51
51
### `--input`
52
52
53
-
The `--input` parameter requires a path to comma-separated file containing information about the samples in the experiment.
53
+
The `--input` parameter requires a path to comma-separated file (CSV) containing information about the samples in the experiment:
54
54
55
55
```bash
56
56
--input 'path/to/samplesheet.csv'
57
57
```
58
58
59
59
The [nf-core/demo usage documentation](https://nf-co.re/demo/dev/docs/usage/) describes the required `--input` as a comma-separated file (`.csv`). The `.csv` file must contain 3 columns with the headers `sample`, `fastq_1`, and `fastq_2`.
60
60
61
-
The samplesheet file may consist of both single- and paired-end data and may look something like the one below.
61
+
The samplesheet file may consist of both single- and paired-end data and may look something like the one below:
The `--output` parameter is used to name the output directory where the results will be saved. It takes a string as its input.
72
+
The `--output` parameter is used to name the output directory where the results will be saved. It takes a string as its input:
73
73
74
74
```bash
75
75
--output results
@@ -81,13 +81,13 @@ The `--output` parameter is used to name the output directory where the results
81
81
82
82
## Testing `nf-core/demo` with profiles
83
83
84
-
A profile is a set of configuration attributes that can be added to your execution command by using the `-profile` option.
84
+
A profile is a set of configuration attributes that can be added to your execution command by using the `-profile` option:
85
85
86
86
```bash
87
87
-profile <profile name>
88
88
```
89
89
90
-
Configuration profiles are defined using the special scope `profile` within configuration files. Profiles group the attributes that belong to the same profile using a common prefix.
90
+
Configuration profiles are defined using the special scope `profile` within configuration files. Profiles group the attributes that belong to the same profile using a common prefix:
91
91
92
92
```console title="example.config" linenums="1"
93
93
profiles {
@@ -105,7 +105,7 @@ profiles {
105
105
106
106
Every nf-core pipeline comes with a `test` profile. This is a minimal set of configuration settings for the pipeline to run using a small test dataset that is hosted on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
107
107
108
-
As the `test` profile is expected to run it can be used to help diagnose local issues before you scale up your analysis.
108
+
The `test` profile is expected to run and can be used to help diagnose local issues before you scale up your analysis.
109
109
110
110
The `test` profile for `nf-core/demo` is shown below:
111
111
@@ -122,22 +122,24 @@ The `test` profile for `nf-core/demo` is shown below:
The `nf-core/demo``test` profile already contains the input parameter (this will be explained in more detail shortly). This means that the `--input` parameter does not need to be added to the execution command. However, as the `outdir` parameter is not included in the `test` profile it must be added to the execution command using the `--outdir` flag.
142
+
The `nf-core/demo``test` profile already contains the input parameter (explained in more detail below). This means that the `--input` parameter does not need to be added to the execution command. However, the `outdir` parameter is not included in the `test` profile and must be added to the execution command using the `--outdir` flag.
141
143
142
144
```bash
143
145
nextflow run nf-core/demo -profile test --outdir results
@@ -151,25 +153,27 @@ nextflow run nf-core/demo -profile test --outdir results
151
153
nextflow run nf-core/demo -profile test --outdir results
152
154
```
153
155
154
-
**This execution is expected to fail!**
156
+
!!! warning "This execution is expected to fail!"
155
157
156
-
As the software required to run each process (e.g., seqtk) is not available in the Gitpod environment the exercise above is expected to fail.
158
+
As the software required to run each process (e.g., seqtk) is not available in the Gitpod environment the exercise above is expected to fail:
157
159
158
160
```console
159
161
Caused by:
160
162
Process `NFCORE_DEMO:DEMO:SEQTK_TRIM (SAMPLE2_PE)` terminated with an error exit status (127)
161
163
<truncated>
162
164
```
163
165
164
-
Fortunately, nf-core pipelines come packed with directives for containers and environments that can be flexibly enabled using profiles for different software (e.g., `docker`, `singularity`, and `conda`).
166
+
Fortunately, nf-core pipelines come packed with directives for containers and environments that can be flexibly enabled using profiles for different software (e.g., `docker`, `singularity`, and `conda`):
165
167
166
-
`-profile singularity`
168
+
```bash
169
+
-profile singularity
170
+
```
167
171
168
172
In Gitpod, you can add the `singularity` profile to your execution command and Nextflow will download and enable Singularity software images to run each process.
169
173
170
174
The singularity profile is defined in the nextflow.config file in the main pipeline repository.
171
175
172
-
```groovy title="nextflow.config" linenums="120"
176
+
```groovy title="nextflow.config" linenums="100"
173
177
singularity {
174
178
singularity.enabled = true
175
179
singularity.autoMounts = true
@@ -179,44 +183,46 @@ singularity {
179
183
shifter.enabled = false
180
184
charliecloud.enabled = false
181
185
apptainer.enabled = false
182
-
}
186
+
}
183
187
```
184
188
185
189
!!! note "Multiple config files"
186
190
187
-
Multiple profiles can be included at execution by separating them with a comma (`,`), e.g., `-profile test,singularity`.
191
+
Multiple profiles can be included by separating them with a comma (e.g., `-profile test,singularity`).
188
192
189
193
!!! question "Exercise"
190
194
191
-
Execute the command again, but this time with the singularity profile:
195
+
Amend your run command by adding the singularity profile:
192
196
193
197
```bash
194
198
nextflow run nf-core/demo -profile test,singularity --outdir results
195
199
```
196
200
197
-
The `nf-core/demo` pipeline should now run successfully!
201
+
The `nf-core/demo` pipeline should now run successfully!
202
+
203
+
!!! note
198
204
199
-
If you were running this tutorial you will need to have Singularity installed for this command to run.
205
+
Singularity must be installed for this command to run.
200
206
201
207
## Using your own data
202
208
203
-
Instead of using the `test` profile you can use the `--input` parameter to choose your own samplesheet as an input.
209
+
Instead of using the `test` profile you can use the `--input` parameter to choose your own sample sheet as an input.
204
210
205
211
As described above, the input is a CSV file with 3 columns and the headers `sample`, `fastq_1`, and `fastq_2`.
206
212
207
-
The pipeline will auto-detect whether a sample is single- or paired-end and if a sample has been sequenced more than once using the information provided in the samplesheet.
213
+
The nf-core/demo pipeline will auto-detect whether a sample is single- or paired-end and if a sample has been sequenced more than once using the information provided in the sample sheet by default.
208
214
209
215
!!! question "Exercise"
210
216
211
-
Within the `data` folder there are three sets of paired-end reads for gut, liver, and lung samples. Create a samplesheet for this data.
217
+
Create a sample sheet for the paired-end reads for gut, liver, and lung samples in the data folder:
212
218
213
-
First, create a `.csv` file named `samplesheet.csv`:
219
+
1. Create a CSV file named `samplesheet.csv`:
214
220
215
221
```bash
216
222
code samplesheet.csv
217
223
```
218
224
219
-
Next, add the header line, and, for each sample, an id and the complete paths to the paired-end reads:
225
+
2. Add the header line, and, for each sample, an id and the complete paths to the paired-end reads:
220
226
221
227
```csv title="samplesheet.csv" linenums="1"
222
228
sample,fastq_1,fastq_2
@@ -225,21 +231,21 @@ The pipeline will auto-detect whether a sample is single- or paired-end and if a
**Make sure you save this file in your working directory (`/workspace/gitpod/nf-customize/`)**
234
+
!!! warning "Make sure you save this file in your working directory (`/workspace/gitpod/nf-customize/`)"
229
235
230
236
You can use you new samplesheet with the `--input` parameter in your execution command.
231
237
232
-
In this case, the other parameters in the test profile (e.g., `config_profile_name` and `max_cpus`) can be ignored as they are not explicitly required by the pipeline or in this Gitpod environment.
238
+
In this case, the other parameters in the test profile (e.g., `config_profile_name`) can be ignored as they are not explicitly required by the pipeline or in this Gitpod environment.
233
239
234
240
!!! question "Exercise"
235
241
236
-
Execute the `nf-core/demo` pipeline with the `singularity` profile and your newly created samplesheet as your input.
242
+
Run the `nf-core/demo` pipeline with the `singularity` profile and your newly created samplesheet as your input.
237
243
238
-
```
244
+
```bash
239
245
nextflow run nf-core/demo -profile singularity --input samplesheet.csv --outdir results
0 commit comments