<a href="https://github.com/nf-wrap/main"><img src="https://raw.githubusercontent.com/nf-wrap/main/main/docs/images/nf-wrap_logo-long-dark.png" width="60%"></img></a>
Maxime U Garcia ▸ <a href="https://github.com/maxulysse" style="color:white;" ><i class="fa fa-github"></i> @maxulysse</a>
<a href="https://seqera.io/" style="color:white;" >Seqera Labs</a> ▸ Barcelona | Stockholm
---
## Disclaimer
* Tiny side project
* Haven't done much more than POC-ing
---

---
## Beginning
Random user on nf-core Slack:
> How can I run just FASTP, not the whole pipeline?
---
## Me

---
## Next day
Another random user on nf-core Slack:
> How can I run just FASTQC, not the whole pipeline?
---
## Me again

---
## Realizing pattern after 3rd request on the same week

---
## What was needed
* Simple wrapper
* Around nf-core/modules
* To use conda/docker/singularity
* Community supported code
* Easy to launch
---
## nf-core/modules
* Wrapper <i class="fa fa-check" style="color:green;"></i>: [<i class="fa fa-github"></i> nf-core/modules/fastqc/main.nf#L1-L20](https://github.com/nf-core/modules/blob/e53ca1ea41b5e9ab001ac84fbdb10ebcc852c5b8/tests/modules/nf-core/fastqc/main.nf#L1-L20)
* <i class="fa fa-remove" style="color:red;"></i> Only for tests
* Simple command <i class="fa fa-remove" style="color:red;"></i>: [<i class="fa fa-github"></i> nf-core/modules/fastqc/test.yml#L2](https://github.com/nf-core/modules/blob/e53ca1ea41b5e9ab001ac84fbdb10ebcc852c5b8/tests/modules/nf-core/fastqc/test.yml#L2)
* ```
nextflow run ./tests/modules/nf-core/fastqc /
-profile <profile> /
-entry test_fastqc_paired_end /
-c <configfiles> /
...
```
* <i class="fa fa-remove" style="color:red;"></i> Script and configs are local
---
## nf-wrap POC
* Wrapper <i class="fa fa-check" style="color:green;"></i>
* Simple command <i class="fa fa-check" style="color:green;"></i>
* ```
nextflow run nf-wrap/main /
-profile <profile> /
--tools <tool> /
--input <file> /
--outdir results /
...
```
---

---
## Extra features
* Bad logo and ASCII art
* `args` inherently exposed as `params.args`
* Supports nf-core/configs
* Supports AWS iGenomes
* Handles single/pair of files/samplesheet
* Run small subworkflows
* Works with tower
---
## Has it been used\?
* Launched single processes instead of a pipeline
* Good to debug / investigate / track issues
* Checked `md5sum` of all input files from nf-core/rnaseq
---
## Potential

---
## Unlimited
* Decentralized Galaxy on your own system
* (Cloud/HPC/laptop)
---
## Issues

---
## How to go forward\?
* No API for nf-core/modules
* So hard to automate
* Manually curated
* Might need community support
---
## Some ideas\?
* Parsing the `meta.yml` files to create wrapper
* IMO - might be better to API-ize nf-core/modules
* One branch per tool
* IMO - Will be hard to maintain/sync
---
## Special thanks
* [Friederike Hanssen](https://github.com/FriederikeHanssen)
* [Edmund Miller](https://github.com/Emiller88)
* [nf-core community](https://github.com/nf-core)
* [Rob Syme](https://github.com/robsyme)
* [Harshil Patel](https://github.com/drpatelh)
* [Marcel Ribeiro-Dantas](https://github.com/mribeirodantas)
* [Ben Sherman](https://github.com/bentsherman)
---
## Any questions/ideas\?
{"metaMigratedAt":"2023-06-18T02:32:39.892Z","metaMigratedFrom":"YAML","title":"nf-wrap","breaks":true,"contributors":"[{\"id\":\"fb193497-1111-470c-a594-827d34b6f673\",\"add\":5054,\"del\":1150}]"}