Skip to content

How to add new tools

To decide if a tool should be packaged in a Neurocontainer or installed in the Neurodesktop container, we are currently following these guiding principles:

1) Neurodesk is a platform, not a package manager: We don’t distribute tools that can be easily installed via standard package managers.

2) Multiple versions of tools: Neurodesk supports the use of multiple versions of a tool in parallel via Lmod. If a tool doesn’t support this, follow this instruction to package it in Neurocontainers.

3) Inter-container tool linking: Neurodesk is designed to facilitate the linking of tools from different containers, such as workflow managers like nipype or nextflow. Therefore, if a tool is needed to coordinate various container-tools, create an issue to have it installed directly in the Neurodesktop container.

Examples:

ToolEasy installCoordinates containersSmall in sizeLatest version is OKUseful to most usersConclusion
gityesyesyesyesyesneurodesktop
lmodnoyesyesyesyesneurodesktop
itksnapyesnoyesyesyesneurocontainer
convert3Dyesnoyesnononeurocontainer
fslnonononononeurocontainer

We have launched our new container build system. Some documentation can already be found here: https://github.com/neurodesk/neurocontainers/tree/main/builder.

We have also released a web browser UI to create your own Neurocontainer: https://neurodesk.org/neurocontainers-ui/.

We are currently building the detailed documentation for this, but documentation is also embedded in the UI.

Once your tool is in Neurocontainers, see Update a tool for how to publish new versions of it.

If you have questions or would like feedback before submitting:

We appreciate your contribution to the Neurodesk community and reproducible science.