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/session_1/1.1_nfcore.md
+47-31Lines changed: 47 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,34 @@ nf-core is published in Nature Biotechnology: [Nat Biotechnol 38, 276–278 (202
39
39
40
40
It is important to remember all nf-core workflows are **open-source** and **community driven**. Most pipelines are under active community development and are regularly updated with fixes and other improvements. Even though the pipelines and tools undergo repeated community review and testing - it is important to check your results.
41
41
42
+
### 1.1.1.1 The nf-core community
43
+
44
+
nf-core is a large global community which communicates and coordinates through several online platforms:
You are welcome to join the community on any or all of these platforms at any time!
61
+
62
+
The **nf-core Slack** is one of the primary resources for nf-core users. There are dedicated channels for all workflows as well as channels for common topics. If you are unsure of where to ask you questions - the `#help` and `#nostupidquestions` channels are a great place to start.
63
+
64
+
Joining multiple nf-core and Nextflow channels is important to keep up to date with the latest community developments and updates. In particular, following the [nf-core](https://twitter.com/nf_core) and [Nextflow](https://twitter.com/nextflowio) Twitter accounts will keep you up-to-date with community announcements. If you are looking for more information about a workflow, the [nf-core YouTube channel](https://www.youtube.com/c/nf-core) regularly shares ByteSize seminars about best practises, workflows, and community developments.
65
+
66
+
The nf-core community also organises several **events** each year, which are **community-driven** gatherings that provide a platform to discuss the latest developments in Nextflow and nf-core workflows. These events include community **seminars**, **trainings**, and **hackathons**, and are open to anyone who is interested in using and developing nf-core and its applications. Most events are held virtually, making them accessible to a global audience.
67
+
68
+
Upcoming events are listed on the [nf-core event page](https://nf-co.re/events) and announced on [Slack](https://nf-co.re/join/slack) and [Twitter](https://twitter.com/nf_core).
69
+
42
70
## 1.1.2 What is Nextflow?
43
71
44
72
{width=100%}
@@ -68,6 +96,10 @@ In today's workshop, we will be focusing on the configurability of nf-core pipel
68
96
1. What platform do you run your bioinformatics workflows on? A desktop or laptop? An institutional HPC?
69
97
2. What language do you prefer to write your scripts in? Bash? Python? R? Perl? Something else?
70
98
99
+
!!! tip "Questions about Nextflow"
100
+
101
+
If you have questions about Nextflow and deployments that are not related to nf-core you can ask them on the [Nextflow Slack](https://www.nextflow.io/blog/2022/nextflow-is-moving-to-slack.html). It's worthwhile joining both Slack groups and browsing the channels to get an idea of what types of questions are being asked on each channel. Searching channels can also be a great source of information as your question may have been asked before.
102
+
71
103
## 1.1.3 nf-core workflow structure
72
104
73
105
nf-core workflows follow a set of best practices and standardized conventions. nf-core workflows start from a **common template** and follow the same structure. Although you won’t need to edit code in the workflow project directory, having a basic understanding of the project structure and some core terminology will help you understand how to configure its execution.
@@ -82,37 +114,21 @@ A **subworkflow** is a group of modules that are used in combination with each o
82
114
83
115
A **module** is a wrapper for a process, the basic processing primitive to execute a user script. It can specify [directives](https://docs.seqera.io/nextflow/process#directives), [inputs](https://docs.seqera.io/nextflow/process#inputs), [outputs](https://docs.seqera.io/nextflow/process#outputs), and a [script](https://docs.seqera.io/nextflow/process#script) block. Most modules will execute a single tool in the script block and will make use of the directives, inputs, and outputs dynamically. Like subworkflows, modules can also be developed and shared in the [nf-core modules GitHub repository](https://github.com/nf-core/modules/tree/master/modules/nf-core) or stored as a local module. All modules from the nf-core repository are version controlled and tested to ensure reproducibility.
84
116
85
-
## 1.1.3 The nf-core community
86
-
87
-
nf-core is a large global community which communicates and coordinates through several online platforms:
You are welcome to join the community on any or all of these platforms at any time!
104
-
105
-
The **nf-core Slack** is one of the primary resources for nf-core users. There are dedicated channels for all workflows as well as channels for common topics. If you are unsure of where to ask you questions - the `#help` and `#nostupidquestions` channels are a great place to start.
106
-
107
-
!!! tip "Questions about Nextflow"
108
-
109
-
If you have questions about Nextflow and deployments that are not related to nf-core you can ask them on the [Nextflow Slack](https://www.nextflow.io/blog/2022/nextflow-is-moving-to-slack.html). It's worthwhile joining both Slack groups and browsing the channels to get an idea of what types of questions are being asked on each channel. Searching channels can also be a great source of information as your question may have been asked before.
110
-
111
-
Joining multiple nf-core and Nextflow channels is important to keep up to date with the latest community developments and updates. In particular, following the [nf-core](https://twitter.com/nf_core) and [Nextflow](https://twitter.com/nextflowio) Twitter accounts will keep you up-to-date with community announcements. If you are looking for more information about a workflow, the [nf-core YouTube channel](https://www.youtube.com/c/nf-core) regularly shares ByteSize seminars about best practises, workflows, and community developments.
112
-
113
-
The nf-core community also organises several **events** each year, which are **community-driven** gatherings that provide a platform to discuss the latest developments in Nextflow and nf-core workflows. These events include community **seminars**, **trainings**, and **hackathons**, and are open to anyone who is interested in using and developing nf-core and its applications. Most events are held virtually, making them accessible to a global audience.
114
-
115
-
Upcoming events are listed on the [nf-core event page](https://nf-co.re/events) and announced on [Slack](https://nf-co.re/join/slack) and [Twitter](https://twitter.com/nf_core).
117
+
!!! tip "Recap: Nextflow terms and concepts to remember"
118
+
119
+
There is a lot of terminology and jargon that comes with Nextflow. Here is a helpful list of the most important terms that you will come across:
120
+
121
+
- **Process**: The fundamental unit of a Nextflow workflow. A process encapsulates a script to run a tool, defines its inputs and outputs, and specifies the resources it requires to run.
122
+
- **Module**: Another term for a **process*.
123
+
- **Channel**: Objects that hold data and are passed between processes. Channels define which processes depend on each other and define the flow of data through the workflow.
124
+
- **Workflow**: The full collection of processes (modules) and the channels that connect them together. The workflow defines which processes will run and in which order.
125
+
- **Subworkflow**: A smaller collection of processes and channels that define a modular unit of the workflow. Subworkflows help to break up a workflow into logical sections, and are very useful as reusable components between different workflows. For example, a quality control subworkflow may group together multiple tools that together assess the quality of your data. nf-core pipelines make particular use of subworkflows, and when designing new nf-core pipelines you can re-use existing subworkflows published on the nf-core GitHub organisation.
126
+
- **Configuration**: Sets of process directives and Nextflow options that define how a Nextflow pipeline runs and how it interacts with the hardware it is run on.
127
+
- **Parameters**: Arguments and options that can be passed to the pipeline to alter how it runs and processes data.
128
+
- **`main.nf`**: The typical entry point into a pipeline. This is the default file that Nextflow looks for when running a pipeline, and is responsible for calling all of the modules and subworkflows that make up the pipeline.
129
+
- **`nextflow.config`**: The main configuration file for a pipeline. This file will also refer to other `.config` files (typically stored in the `conf/` directory).
130
+
- **`modules/`**: A directory in which module (process) files are stored. Modules are further grouped into "local" modules specific to the pipeline and "nf-core" modules that are shared between multiple nf-core pipelines.
131
+
- **`subworkflows/`**: A directory containing all subworkflows. As with modules they are grouped into "local" and "nf-core" subworkflows.
0 commit comments