Getting Started
Welcome to the nf-neuro
project ! A Nextflow modules and workflows repository for neuroimaging
maintained by the SCIL team. The
primary focus of the library is to provide pre-built processes and processing sequences for
neuroimaging, optimized for Nextflow DSL2, based on open-source
technologies and made easily available to pipeline’s developers through the nf-core
framework.
WHY ? nf-neuro
Let’s say you develop a pipeline for neuroimaging. You want to make it the more efficient,
reliable, reproducible and also be able to evaluate it and control the quality of its outputs.
That’s what nf-neuro
provides to you, all in one repository, hosting all dependencies you
need to start developing and analyzing.
The only thing we ask of you is to develop in Nextflow DSL2
. We use principle and standards
closely aligned with nf-core, but we’ll make you adapt to them slowly as you go (we still
haven’t finished complying to all of them ourselves). Using nf-neuro
helps accelerate
development in neuroimaging and produces better research outcomes for all !
Where do I start ?
Well, it depends on what you want to do. If you want to :
- Learn about the modules and subworkflows in
nf-neuro
, go to the discovery section. - Create a new pipeline quickly, using modules and subworkflows from
nf-neuro
, go to the prototyping section. - Create or publish a production pipeline branded with
nf-neuro
, go to the porting prototypes section. - Contribute new modules and subworkflows to
nf-neuro
, go to the module or subworkflow contribution section.
Discovering nf-neuro
To get information on nf-neuro
components, you’ll first need to install python
and nf-core
. We provide
extensive guidelines to do it in this guide.
Getting info on components from nf-neuro
With your environment ready, you can list nf-neuro
modules available with a simple command :
nf-core modules list remote

The same goes for subworkflows
:
nf-core subworkflows list remote

To get more information on a module (say denoising/nlmeans
) use :
nf-core modules info denoising/nlmeans

or for a subworkflow (say preproc_t1
) :
nf-core subworkflows info preproc_t1

Info
Additionally, VS Code
users can install the nextflow extension,
which contains a language server that helps you in real time when coding. It gives you useful tooltips on modules inputs and outputs, commands
to navigate between modules and workflows and highlights errors. For sure, you get all that for free if you use the devcontainer
!
Important
The nextflow language server
is a precious resource that will help you resolve most exceptions existing within the metadata
description of modules and workflows prescribed by nf-core
and shown below. Thus, we highly recommend its use.
You’ll get a good description of the modules’s or subworkflow’s behavior
and dependencies
, as well as a
thorough description of its inputs
and outputs
.
Contributing to the nf-neuro
project
Important
First, follow the devops guide to setup your
development environment
or check if your current one meets the requirements.
nf-neuro
accepts contribution of new modules and subworkflows to its library. You’ll need first to
setup your environment, for which we have devised clever ways to streamline the procedure.
Then, depending on which kind of component you want to submit, you’ll either need to follow the
module creation or the subworkflow creation
guidelines. Components that don’t abide to them won’t be accepted and PR containing them will be closed automatically.
Running tests
Tests are run through nf-core
, using the command :
nf-core modules test <category/tool>
The tool can be omitted to run tests for all modules in a category.