Skip to content

AlexVCaron/nf-neuro

 
 

Repository files navigation

Sublime's custom image

Sublime's custom image

Nextflow Imports: nf-core run with docker run with singularity Checks

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 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

nf-core modules list remote

The same goes for subworkflows :

nf-core subworkflows list remote

nf-core subworkflows list remote

To get more information on a module (say denoising/nlmeans) use :

nf-core modules info denoising/nlmeans

nf-core modules info

or for a subworkflow (say preproc_t1) :

nf-core subworkflows info preproc_t1

nf-core subworkflows info

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.

Pipeline creation with nf-neuro

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nextflow 97.7%
  • Shell 1.8%
  • Dockerfile 0.5%