Introduction to nf-core

Author

Nicolas Fontrodona

nf-core

What is nf-core ?

According to their website:

A community effort to collect a curated set of analysis pipelines built using nextflow

The nf stands for nextflow and core for core facilities because they are at the origin of nf-core.

People from those facilities started to develop pipelines in Nextflow and got in touch with other facilities that were doing the same thing. So they started a community to create those pipelines together without reinventing the wheel.

It contains:

  • 83 pipelines released
  • 41 pipelines under development
  • 12 pipelines archived

Nf-core offers pipelines with interesting features:

Note

When developing a pipeline aiming to integrate the nf-core pipeline set it’s important to: - Communicate with the nf-core community - Cooperate by enriching existing pipelines with new tools or features instead of duplicating them: Only one pipeline per analysis type.

You can go to https://nf-co.re/pipelines/ to browse their pipelines:

Finally nf-core is more than just pipelines, it also provides:

  • Documentation: guidelines, tutorial, videos
  • Modules: single tool wrappers
  • Subworkflows: multi tools wrappers
  • Config: Shared infrastructure, including one for the PSMN maintained by Laurent Modolo.
  • Test datasets: test data for everyone
  • Tools

nf-core tools

the nf-core community has built a tool in Python named tools.

This tool is useful for: - running pipelines - writing pipelines - testing/automation

It allows to run pipelines, write pipelines by starting from a template and make tests and automation

nf-core - pipeline parts

nf-core contains 1565 well documented modules. Modules correspond to a nextflow process along with other files.

To browse their available modules go on https://nf-co.re/modules/.

Documentation of the FastQC modules:

nf-core contains 78 subworkflows that you can browse here. Subworkflows are sets of assembled modules.

Modules and subworkflows can be used by anyone in Nextflow pipelines

nf-core objectives: - develop with the community - Use a common template - Collaborate, don’t duplicate

Guidelines to build a nf-core pipeline

  • Nextflow based
  • Common structure (template)
  • Stable release tag
  • MIT license
  • Software bundled for reproducibility
  • Continuous Integration testing
  • lagom (Swedish): pipelines of reasonable size

For more information, visit the adding pipeline page on the nf-core website.

nf-core resources

The nf-core community organizes events every year including training. You can check for those events on this page.

You can join the nf-core community with this link and ask questions there.

Practicals

For the practical of this session. We are going to do the hello nf-core course on the Nextflow training website.