Skip to content

Commit fa49d73

Browse files
committed
WIP addressing feedback for 1.1 and 1.2
1 parent 460cbc0 commit fa49d73

2 files changed

Lines changed: 67 additions & 51 deletions

File tree

docs/session_1/1.1_nfcore.md

Lines changed: 47 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,34 @@ nf-core is published in Nature Biotechnology: [Nat Biotechnol 38, 276–278 (202
3939

4040
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.
4141

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:
45+
46+
<div class="grid cards" markdown>
47+
48+
- [![](../assets/1.1_slack.png)](https://nf-co.re/join/slack)
49+
50+
- [![](../assets/1.1_github.png)](https://github.com/nf-core)
51+
52+
- [![](../assets/1.1_twitter.png)](https://twitter.com/nf_core)
53+
54+
- [![](../assets/1.1_mastodon.png)](https://mstdn.science/@nf_core)
55+
56+
- [![](../assets/1.1_youtube.png)](https://www.youtube.com/c/nf-core)
57+
58+
</div>
59+
60+
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+
4270
## 1.1.2 What is Nextflow?
4371

4472
![](../assets/1.1_nextflow.png){width=100%}
@@ -68,6 +96,10 @@ In today's workshop, we will be focusing on the configurability of nf-core pipel
6896
1. What platform do you run your bioinformatics workflows on? A desktop or laptop? An institutional HPC?
6997
2. What language do you prefer to write your scripts in? Bash? Python? R? Perl? Something else?
7098

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+
71103
## 1.1.3 nf-core workflow structure
72104

73105
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
82114

83115
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.
84116

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:
88-
89-
<div class="grid cards" markdown>
90-
91-
- [![](../assets/1.1_slack.png)](https://nf-co.re/join/slack)
92-
93-
- [![](../assets/1.1_github.png)](https://github.com/nf-core)
94-
95-
- [![](../assets/1.1_twitter.png)](https://twitter.com/nf_core)
96-
97-
- [![](../assets/1.1_mastodon.png)](https://mstdn.science/@nf_core)
98-
99-
- [![](../assets/1.1_youtube.png)](https://www.youtube.com/c/nf-core)
100-
101-
</div>
102-
103-
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.
116132

117133
!!! note "Key points"
118134

0 commit comments

Comments
 (0)