<!-- .slide: data-background="https://raw.githubusercontent.com/maxulysse/maxulysse.github.io/main/assets/img/svg/green_white_bg.svg" -->
<a href="https://nf-co.re"><img src="https://github.com/nf-core/logos/raw/master/nf-core-logos/nf-core-logo-darkbg.svg" width="65%"><img></a>
## Workshop nf-core et sarek
Maxime U Garcia ▸ [<i class="fa fa-github" aria-hidden="true"></i>@maxulysse](https://github.com/maxulysse/)
[Seqera Labs](https://seqera.io/) ▸ Scientific Development
Barcelona | Stockholm
[Workshop nf-core et sarek](https://ums-plbs.univ-lille.fr/workshop-nf-core-et-sarek-avec-maxime-garcia)
---
## Reproducibility is central
<a href="https://academic.oup.com/view-large/figure/118918033/giy077fig1.jpg"><img src="https://maxulysse.github.io/assets/img/slides/gigascience_giy077_fig1.jpg" width="50%"><img></a>
[10.1093/gigascience/giy077](https://doi.org/10.1093/gigascience/giy077)
---
# What is nf-core?
> A community effort to collect a curated set of analysis pipelines built using Nextflow.
---
# What is Nextflow?
<a href="https://www.nextflow.io/"><img src="https://maxulysse.github.io/assets/img/slides/nextflow.png" width="50%"><img></a>
* Workflow manager
* Data driven language
* Portable
* executable on multiple platforms
* Shareable and reproducible
* with containers or virtual environments
---
## Data driven language
The execution graph depends on the input data,
and is calculated on the go
In `snakemake` it's the other way around
The execution graph depends on the final target,
and is calculated before launch
---
## Portability
[www.nextflow.io/docs/latest/executor.html](https://www.nextflow.io/docs/latest/executor.html)
- <i class="fa fa-server"></i> Sun Grid Engine, SLURM, PBS/Torque...
- <i class="fa fa-cloud"></i> AWS Batch, Kubernetes, Google Life Sciences
---
## Reproducibility
<a href="https://docs.conda.io/"><img src="https://maxulysse.github.io/assets/img/svg/conda_logo.svg" width="50%"><img></a> | <a href="https://www.docker.com/"><img src="https://maxulysse.github.io/assets/img/svg/docker_logo.svg" width="50%"><img></a> | <a href="https://sylabs.io/singularity/"><img src="https://maxulysse.github.io/assets/img/svg/singularity_logo.svg" width="50%"><img></a>
:-:|:-:|:-:
---
# What is nf-core: for users

---
# What is nf-core: for developers

---
# Community

---
# Community
<iframe src="https://nf-co.re/community#organisations" width="900" height="400"></iframe>
---
# What does nf-core provide
- **Pipelines**: ready-made pipelines [n=72]
- **Docs <i class="fa fa-globe"></i>**: Guidelines, tutorials, videos
- **Subworkflows <i class="fa fa-globe"></i>**: multi-tool wrappers [n=25]
- **Modules <i class="fa fa-globe"></i>**: single-tool wrappers [n=772]
- **Configs <i class="fa fa-globe"></i>**: shared infrastructure configs
- **Test datasets <i class="fa fa-globe"></i>**: test data for :point_up_2:
- **Tools <i class="fa fa-globe"></i>**: linting, template + automation for :point_up_2:
<i class="fa fa-globe"></i> provided for the larger community
---
## Pipeline requirements
[<i class="fa fa-globe"></i> nf-co.re/docs/contributing/adding_pipelines](https://nf-co.re/docs/contributing/adding_pipelines)
- Nextflow based
- Common structure
- Stable release tags
- MIT license
- Software bundled for reproducibility
- Continuous Integration testing
- _lagom_
---
<a href="https://nf-co.re/tools/"><img src="https://maxulysse.github.io/assets/img/svg/nf-core-tools_logo.svg" width="60%"><img></a>
---
## A companion tool
[<i class="fa fa-globe"></i> https://nf-co.re/tools](https://nf-co.re/tools)
- **[launch](https://nf-co.re/tools#launch-a-pipeline)** - with interactive prompts
- **[download](https://nf-co.re/tools#downloading-pipelines-for-offline-use)** - for offline use
- **[lint](https://nf-co.re/tools#linting-a-workflow)** - check code against guidelines
- **[modules](https://nf-co.re/tools/#modules)** - List, update, lint, create...
- **[subworkflows](https://nf-co.re/tools/#subworkflows)** - List, update, lint, create...
- ...
---
## Configurations
All pipelines come with a default sensible configuration for a regular sized HPC
---
## Configurations
[<i class="fa fa-github"></i> github.com/nf-core/configs](https://github.com/nf-core/configs/) allows shared configurations between pipelines for a specific HPC
* cpus, time and memory requirements
* scheduler
* queues
* environments
* path to common references files
* ...
---
## Extensive statistics
[<i class="fa fa-globe"></i> https://nf-co.re/stats](https://nf-co.re/stats)
---
## <i class="fa fa-laptop"></i> Hackathons
[<i class="fa fa-globe"></i> https://nf-co.re/events](https://nf-co.re/events)
<a href="https://nf-co.re/events/2020/hackathon-francis-crick-2020"><img src="https://maxulysse.github.io/assets/img/slides/nf-core_hackathon_crick2020.jpg" width="60%"><img></a>
[<i class="fa fa-globe"></i> nf-co.re/events/2023/hackathon-march-2023](https://nf-co.re/events/2023/hackathon-march-2023)
---
## Need help?
<!-- .slide: data-background="https://raw.githubusercontent.com/maxulysse/maxulysse.github.io/main/assets/img/svg/green_white_bg.svg" -->
Website: [`https://nf-co.re`](https://nf-co.re)
Chat: [`https://nf-co.re/join`](https://nf-co.re/join) <img src="https://cdn.brandfolder.io/5H442O3W/at/pl546j-7le8zk-6gwiyo/Slack_Mark.svg" width=7.5%></img>
<div style="margin-top:0.1em"> </div>
<p align="center">
Follow nf-core on
<a href="https://www.twitter.com/nf_core"><img src="https://openmoji.org/data/color/svg/E040.svg" width=6%></a>
<a href="https://mstdn.science/@nf_core"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Mastodon_Logotype_%28Simple%29.svg/216px-Mastodon_Logotype_%28Simple%29.svg.png" width=5%></a>
<a href="https://github.com/nf-core"><img src="https://openmoji.org/data/color/svg/E045.svg" width=6%></a>
<a href="https://www.youtube.com/c/nf-core"><img src="https://openmoji.org/data/color/svg/E044.svg" width=6%></a>
</a>
</p>
<a href="https://nf-co.re/" style="color: #000000; font-family:Monaco, monospace; font-weight:bold;">https://nf-co.re/</a>
<div style="display: flex; justify-content: space-evenly; align-items:center;">
<img src="https://chanzuckerberg.com/wp-content/themes/czi/img/logo.svg" width=15%>
<div style="font-style:italic; font-size: 0.5em; color: #666;">Icons:<br><a href="https://openmoji.org">openmoji.org</a></div></div>
---
<style>
.reveal section img { background:none; border:none; box-shadow:none; }
body {
background-image: url(https://raw.githubusercontent.com/nf-core/logos/master/nf-core-logos/nf-core-logo-square.svg);
background-size: 7.5%;
background-repeat: no-repeat;
background-position: 3% 96%;
background-color: #181a1b;
}
.reveal body {
font-family: 'Roboto', sans-serif;
font-weight: 300;
color: white;
}
.reveal p {
font-family: 'Roboto', sans-serif;
font-weight: 300;
color: white;
}
.reveal h1 {
font-family: 'Roboto', sans-serif;
font-style: bold;
font-weight: 400;
color: #24b064;
font-size: 62px;
}
.reveal h2 {
font-family: 'Roboto', sans-serif;
font-weight: 300;
color: white;
}
.reveal h3 {
font-family: 'Roboto', sans-serif;
font-style: italic;
font-weight: 300;
color: white;
}
.reveal p {
font-family: 'Roboto', sans-serif;
font-weight: 300;
color: white;
}
.reveal li {
font-family: 'Roboto', sans-serif;
font-weight: 300;
color: white;
}
.reveal pre {
background-color: #272822 !important;
display: inline-block;
border-radius: 7px;
color: #aaaba9;
}
.reveal pre code {
color: #eeeeee;
background-color: #272822;
font-size: 100%;
}
.reveal code {
background-color: #272822;
font-size: 75%;
}
.reveal .progress {
color: #24B064;
}
.reveal .controls button {
color: #24B064;
}
.reveal blockquote {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
padding: 5px;
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgb(0 0 0 / 20%);
}
</style>
{"metaMigratedAt":"2023-06-17T16:18:01.840Z","metaMigratedFrom":"YAML","title":"Introduction to nf-core (Lille workshop)","breaks":true,"description":"<a href=\"https://www.nf-co.re\"><img src=\"https://github.com/nf-core/logos/raw/master/nf-core-logos/nf-core-logo-darkbg.svg\" width=\"65%\"><img></a>","contributors":"[{\"id\":\"fb193497-1111-470c-a594-827d34b6f673\",\"add\":10438,\"del\":2063}]"}