Skip to content

Introduction

Open in Gitpod

A collection of unexpected challenges and learnings with nextflow and nf-core. The provided examples reflect my journey in learning nextflow and generally assume an intermediate familiarity with nextflow.

Gotchas

The gotchas are typically provided as minimal, reproducible examples (MREs) with additional explanations. What is a minimal, reproducible example?

As explained very well on StackOverflow:

Your code examples should be

  • Minimal – Use as little code as possible that still produces the same problem
  • Complete – Provide all parts someone else needs to reproduce your problem in the question itself
  • Reproducible – Test the code you're about to provide to make sure it reproduces the problem

Errors

Nextflow error messages and stack traces can, in all honesty, be quite maddening. Hopefully, yours is among the common ones that we describe here.

Contributing

Contributions are most welcome and I very much aim for this to be a community-driven project. In fact, most of the solutions provided here came from discussions on the nextflow or nf-core Slack. Both are incredible communities and I can only recommend that you join. Phil Ewels and I are already talking about how to best integrate these examples into the nf-core website. Please open an issue on the repository or message me on either of the Slack teams linked in the footer regarding any examples, ideas, or suggestions that you may have.

Contributors ✨

Thanks go to these wonderful people (emoji key):


FriederikeHanssen

📖 💡

James A. Fellows Yates

📖 💡

Simon Pearce

📖 💡

This project follows the all-contributors specification. Contributions of any kind welcome!

Acknowledgements

As mentioned, nextflow has an amazing community. I want to mention a few people here who have been especially helpful in my interactions. In alphabetical order:

If you feel that I forgot you in this list. Please let me know, it's not intentional!

Creative Commons License

All examples and descriptions are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.