First of, this is not a specific installation guide to any of the pipelines covered by this configuration repository.
Instead, this guide will provide some hints how best to approach the general setup, depending on what operating system you are running on. The very basic explanation is that you need two components - the Nextflow pipeline engine and some way to have Nextflow stage the relevant software packages. Since this may require slightly different steps on different platforms, we discuss them separately below.
If you are running on Linux, things are generally "simple" (assuming you are comfortable administrating Linux, that is).
We are testing our pipelines on Alma Linux 9.4, but the basic principle should be transferrable to other systems.
On Linux, you have access to basically all supported software provisioning frameworks also supported by Nextflow - including Conda and several container frameworks. These all have their pros and cons, but to keep things simple, we recommend you use Apptainer. Apptainer is a Docker-compatible container engine, is completely free and also happens to have a dedicated repository for all the otherwise Docker-native Bioconda containers we use in this pipeline (i.e. quick start up without need for conversion of container formats).
To install Apptainer on your system, the easiest option is:
On a RHEL derivative, version 9 (rpm).
sudo dnf -y install apptainer
On Ubuntu, version 22.04 (deb)
sudo apt-get install apptainer
If you running different/older/newer releases or otherwise need more information on installing Apptainer, please check the official documentation.
Nextflow requires The Java JRE (>= 11, <= 21):
On a RHEL derivative, version 9
sudo dnf -y install java-21-openjdk
sudo alternatives --config java
On Ubuntu, version 22.04
sudo apt install openjdk-11-jdk
sudo update-alternatives --config java
Use the second command to set the appropriate version of JRE as your default.
You can follow the instructions on the official Nextflow guide here.
A simple approach would be:
mkdir -p $HOME/bin
cd $HOME/bin
wget https://github.com/nextflow-io/nextflow/releases/download/v24.04.4/nextflow-24.04.4-all
mv nextflow-24.04.4-all nextflow
chmod +x nextflow
And you could also make sure that $HOME/bin is in $PATH by adding the directory to your bash profile:
echo "export PATH=$PATH:$HOME/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
The following guide was tested on OSX 14 (Sonoma) with an Intel-based Macbook Pro.
On Mac, we recommend you install Docker instead of Conda or any of the other container frameworks; its the simplest approach with the least amount of incompatibilies.
Docker (Docker Desktop) has a detailed installation guide here.
Nextflow requires the Java JRE (>= 11, <= 21). To be able to specifically install that, we first need SDKMAN
curl -s "https://get.sdkman.io" | bash
Simply follow the instructions on the screen and then source your bash profile to make the changes take immediate effect:
source "$HOME/.sdkman/bin/sdkman-init.sh"
Next, install JRE 21:
sdk install java 21.ea.35-open
You can confirm that you have installed the correct version as follows:
java -version
You can follow the instructions on the official Nextflow guide here.
A simple approach would be:
mkdir -p $HOME/bin
cd $HOME/bin
curl -O https://github.com/nextflow-io/nextflow/releases/download/v24.04.4/nextflow-24.04.4-all
mv nextflow-24.04.4-all nextflow
chmod +x nextflow
And you could also make sure that $HOME/bin is in $PATH by adding the directory to your bash profile:
echo "export PATH=$PATH:$HOME/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
With the introduction of windows subsystems for Linux (WSL), it is now technically possible to run Linux "directly" within the Windows 11 powershell. Since this is ultimately a type of virtualization, it comes with drawbacks such as the fact that the Linux environment will only get parts of the total systems resources. We also found some processes to simply fail under WSL for no obvious reasons. If you are nevertheless set on trying to get our pipelines to run under Windows, the following steps are necessary:
- Make sure your CPU/main board support virtualization
- Enable virtualization in your systems BIOS (refer to manufacturers instructions)
- Get the latest version of Windows 11
- Install the latest version of the Windows 11 Powershell (version 7.4 at the time of writing)
- Start the Windows Powershell
Next, you have to set up your virtual linux environment:
wsl --install
If you have previously enabled virtualization in your computers bios, this should run through fine and create a basic Ubuntu installation. You will be asked to provide a user name and password - make sure to write these down. You will then be dropped into the bash shell of a fresh Ubuntu 22.04 system.
From here on, simply refer to the instructions for Linux above.