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.
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 !
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 contribution section.
- Discovering
nf-neuro
- Pipeline creation with
nf-neuro
- Contributing to the
nf-neuro
project - Running tests
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.
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
Note
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
.
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.
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.