<!-- .slide: data-background="https://raw.githubusercontent.com/maxulysse/maxulysse.github.io/main/assets/img/svg/green_transparent_bg.svg" -->
<a href="https://www.nf-co.re"><img src="https://raw.githubusercontent.com/nf-core/logos/master/byte-size-logos/bytesize-darkbg.svg" width="60%"><img></a>
# nf-validation: validation of pipeline parameters
<small>
Júlia Mir Pedrol / <img src="https://openmoji.org/data/color/svg/E040.svg" width=50> @juliamirpedrol / <img src="https://openmoji.org/data/color/svg/E045.svg" width=50> @mirpedrol
Quantitative Biology Center (Tübingen Universität)
Nicolas Vannieuwkerke/ <img src="https://openmoji.org/data/color/svg/E045.svg" width=50> @nvnieuwk Center For Medical Genetics Ghent
...
</small>
---
# Pipeline parameter validation
<!---
Why is it important to validate params
Show lib folder from nf-core template
-->
## JSON Schema
- [Schema specifications](https://nextflow-io.github.io/nf-validation/nextflow_schema/nextflow_schema_specification/)
- Never edit a JSON schema by hand
`nf-core schema build`
- [Sample sheet schema](https://nextflow-io.github.io/nf-validation/nextflow_schema/sample_sheet_schema_specification/#unique)
---
# How to
[Documentation](https://nextflow-io.github.io/nf-validation/)
---
# Functions
- [`paramsHelp()`](https://nextflow-io.github.io/nf-validation/parameters/help_text/)
- [`paramsSummaryLog()`](https://nextflow-io.github.io/nf-validation/parameters/summary_log/)
- `paramsSummaryMap()`
- [`validateParameters()`](https://nextflow-io.github.io/nf-validation/parameters/validation/)
- [`fromSamplesheet()`](https://nextflow-io.github.io/nf-validation/samplesheets/fromSamplesheet/)
<!---
Summary of what the functions do & show docs
Demo with a real pipeline (except fromSamplesheet)
-->
---
## Validate files provided by parameters
[You can have schemas inside schemas!](https://nextflow-io.github.io/nf-validation/samplesheets/validate_sample_sheet/)
---
# Create a channel from a sample sheet
`Channel.fromSamplesheet('input')`
<!---
Demo with a real pipeline
-->
---
# Thanks to
- Kevin Menden
- Phil Ewels
---
## Need help?
<!-- .slide: data-background="https://raw.githubusercontent.com/maxulysse/maxulysse.github.io/main/assets/img/svg/green_transparent_bg.svg" -->
Repository: [`nextflow-io/nf-validation`](https://github.com/nextflow-io/nf-validation)
Documentation: <small>[`https://nextflow-io.github.io/nf-validation/`](https://nextflow-io.github.io/nf-validation/)</small>
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>`#nf-validation`
<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: white;
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-18T06:28:45.095Z","metaMigratedFrom":"YAML","title":"nf-core/bytesize nf-validation","breaks":true,"description":"<a href=\"https://www.nf-co.re\"><img src=\"https://raw.githubusercontent.com/nf-core/logos/master/byte-size-logos/bytesize-darkbg.svg\" width=\"60%\"><img></a>","contributors":"[{\"id\":\"8c3511f6-9e6f-4912-894e-0c9b50f1b4d2\",\"add\":2273,\"del\":1513},{\"id\":\"a1154bc8-0cf2-4ba4-8004-aae2fc1163e7\",\"add\":57,\"del\":79}]"}