Requirements for nf-core pipelines

If you're thinking of adding a new pipeline to nf-core, please read the documentation about adding a new pipeline.

Workflow size

We aim to have a "not too big, not too small" rule with nf-core pipelines. This is a little fuzzy, but as a rule of thumb workflows should contain at least three different processes and be simple enough to run that a new user can realistically run the pipeline after spending ten minutes reading the docs.

Minimum requirements

All nf-core pipelines must adhere to the following:

If possible, it's great if pipelines can also have:

Workflow name

All nf-core pipeliens should be lower case and without punctuation. This is to maximise compatibility with other platforms such as dockerhub, which enforce such rules. In documentation, please refer to your pipeline as nf-core/yourpipeline.

Coding style

The nf-core style requirements are growing and maturing over time. Typically, as we agree on a new standard we try to build a test for it into the nf-core lint command. As such, to get a feel for what's expected, please read the lint test error codes.

However, in general, pipelines must: