Installation
Prerequisites
Section titled “Prerequisites”While you do not need to install every software used within nf-pediatric
, there is two core dependencies that need to be available at runtime:
-
Nextflow (>= 24.10.5)
To install the
nextflow
executable, please refer to the officialnextflow
documentation. Whilenf-pediatric
has a minimalnextflow
version, it is always tested against the latest version available (and oldest), so you can go ahead and install the latest version available. If you plan on running the pipeline on an HPC server, you might want to validate it is not already installed by your server’s admins.To validate
nextflow
is installed, you can run the following command:Terminal window nextflow run helloworldCheck the command’s output, you’ve been greeted in 4 different languages (english, french, italian, spanish) !
Terminal window N E X T F L O W ~ version 24.10.4Pulling nextflow-io/helloworld ...downloaded from https://github.com/nextflow-io/hello.gitLaunching `https://github.com/nextflow-io/helloworld` [disturbed_mahavira] DSL2 - revision: afff16a9b4 [master]executor > local (4)[59/71fa40] process > sayHello (4) [100%] 4 of 4 ✔Bonjour world!Hello world!Ciao world!Hola world! -
Docker OR Apptainer
In order to avoid users installing all software dependencies used within
nf-pediatric
, the pipeline relies on containers for all processing steps. Those containers can be run using two technologies: Docker or Apptainer.-
Docker
When available, the pipeline should be used with Docker. It works on all OS systems, and can be installed following the official documentation. On HPC servers, for example, Docker is often not allowed or supported, in this case, you should refer to the Apptainer section.
To validate Docker is installed and available, you can run the following command:
Terminal window docker run hello-worldUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-worlde6590344b1a5: Pull completeDigest: sha256:bfbb0cc14f13f9ed1ae86abc2b9f11181dc50d779807ed3a3c5e55a6936dbdd5Status: Downloaded newer image for hello-world:latestHello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/ -
Apptainer
Apptainer (previously singularity) is an alternative container system to Docker that works solely (for now) on Linux. On HPC servers, this will the container system that will mostly be used (often times already installed by the server’s admins). If you need to install it, please refer to the official documentation.
To validate Apptainer is installed and accessible, you can run the following command:
Terminal window apptainer --helpLinux container platform optimized for High Performance Computing (HPC) andEnterprise Performance Computing (EPC)Usage:apptainer [global options...]Description:Apptainer containers provide an application virtualization layer enablingmobility of compute via both application and environment portability. WithApptainer one is capable of building a root file system that runs on anyother Linux system where Apptainer is installed.Options:--build-config use configuration needed for building containers-c, --config string specify a configuration file (for root orunprivileged installation only) (default"/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/apptainer/1.2.4/etc/apptainer/apptainer.conf")-d, --debug print debugging information (highest verbosity)-h, --help help for apptainer--nocolor print without color output (default False)-q, --quiet suppress normal output-s, --silent only print errors-v, --verbose print additional information--version version for apptainerAvailable Commands:build Build an Apptainer imagecache Manage the local cachecapability Manage Linux capabilities for users and groupscheckpoint Manage container checkpoint state (experimental)completion Generate the autocompletion script for the specified shellconfig Manage various apptainer configuration (root user only)delete Deletes requested image from the libraryexec Run a command within a containerhelp Help about any commandinspect Show metadata for an imageinstance Manage containers running as serviceskey Manage OpenPGP keysoci Manage OCI containersoverlay Manage an EXT3 writable overlay imageplugin Manage Apptainer pluginspull Pull an image from a URIpush Upload image to the provided URIremote Manage apptainer remote endpoints, keyservers and OCI/Docker registry credentialsrun Run the user-defined default command within a containerrun-help Show the user-defined help for an imagesearch Search a Container Library for imagesshell Run a shell within a containersif Manipulate Singularity Image Format (SIF) imagessign Add digital signature(s) to an imagetest Run the user-defined tests within a containerverify Verify digital signature(s) within an imageversion Show the version for ApptainerExamples:$ apptainer help <command> [<subcommand>]$ apptainer help build$ apptainer help instance startFor additional help or support, please visit https://apptainer.org/help/
-
Once everything installed and/or available, you can proceed to the inputs section.