• Preface
  • 1 Introduction
    • 1.1 Prerequisites
    • 1.2 What is Nextflow?
    • 1.3 Learning objectives
    • 1.4 Setup
    • 1.5 Getting started
      • 1.5.1 General anatomy of a Nextflow workflow
      • 1.5.2 Nextflow domain-specific language versions
      • 1.5.3 Core concepts
      • 1.5.4 Your first workflow
  • 2 Basic features
    • 2.1 Multiple processes and publication of workflow outputs
    • 2.2 Creating channels and specifying pipeline parameters
    • 2.3 Multiple input files
    • 2.4 Using a sample sheet and value channels
    • 2.5 The tuple input qualifier and joining channels
    • 2.6 Software dependencies
    • 2.7 Resource allocation
    • 2.8 The resume feature
    • 2.9 nf-core pipelines
    • 2.10 Labels
  • 3 Basic challenge
  • 4 Advanced features
    • 4.1 Process inputs
      • 4.1.1 Input of type val
      • 4.1.2 Input of type path
      • 4.1.3 Input of type tuple
    • 4.2 Process outputs
    • 4.3 The Groovy programming language
      • 4.3.1 Closures
      • 4.3.2 Conditional statements
    • 4.4 Channel factories
    • 4.5 Operators
      • 4.5.1 The view operator
      • 4.5.2 The map operator
      • 4.5.3 The set operator
      • 4.5.4 The splitCsv operator
      • 4.5.5 The flatten operator
      • 4.5.6 The collect operator
      • 4.5.7 The filter operator
      • 4.5.8 The first operator
      • 4.5.9 The combine operator
      • 4.5.10 The groupTuple operator
    • 4.6 Implicit variables
      • 4.6.1 Script implicit variables (available in main.nf)
      • 4.6.2 Configuration implicit variables (available in nextflow.config)
      • 4.6.3 Process implicit variables (defined within a process)
    • 4.7 Directives
      • 4.7.1 The conda directive
      • 4.7.2 The container directive
      • 4.7.3 The cpus, memory, and time directives
      • 4.7.4 The label directive
      • 4.7.5 The debug directive
      • 4.7.6 The cache directive
      • 4.7.7 The errorStrategy directive
      • 4.7.8 The publishDir directive
      • 4.7.9 The executor and queue directives
      • 4.7.10 The ext directive
    • 4.8 Advanced workflow configuration
      • 4.8.1 Configuration files and command line parameters
      • 4.8.2 Configuration profiles
    • 4.9 Sub-workflows
    • 4.10 Nextflow Tower
  • 5 Advanced challenge
    • 5.1 Setup
    • 5.2 Solution
  • Additional resources
  • Credits

Nextflow workshop - EBI predoc course 2022

Additional resources

Nextflow documentation:

https://www.nextflow.io/docs/latest/index.html

Nextflow workshop from the Nextflow authors:

https://www.nextflow.io/blog/2022/learn-nextflow-in-2022.html

YouTube playlist:

https://www.youtube.com/playlist?list=PLPZ8WHdZGxmUv4W8ZRlmstkZwhb_fencI

Post on Medium on Nextflow from 23andMe:

https://medium.com/23andme-engineering/introduction-to-nextflow-4d0e3b6768d1

Nextflow course on SofwareCarpentries:

https://carpentries-incubator.github.io/workflows-nextflow/index.html

The story of Nextflow from its author:

https://elifesciences.org/labs/d193babe/the-story-of-nextflow-building-a-modern-pipeline-orchestrator

Paper comparing Nextflow to Snakemake and other workflow managers:

https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1008622

Other useful links:

https://www.nextflow.io/blog/2019/demystifying-nextflow-resume.html