Requirements

This page describes how to set up your system so you can start contributing to OpenProblems. If you just want to analyse the results or run a method, metric or pipeline, please click on on the respective links.

To start contributing to OpenProblems, you need to have the following software installed:

The following sections provide instructions on how to install each of these tools.

Step 1: install Bash

Bash is already included in most Debian- and Ubuntu-based distributions. However, if for some reason it’s not installed, open a terminal and run the following commands:

sudo apt-get update
sudo apt-get install bash

Bash is already included in most RHEL- and Fedora-based distributions. However, if for some reason it’s not installed, open a terminal and run the following commands:

sudo yum install bash

Bash is already included in most Arch-based distributions. However, if for some reason it’s not installed, open a terminal and run the following commands:

sudo pacman -S bash

Bash is already included in macOS.

You will need to install Ubuntu using Windows Subsystem for Linux (WSL).

Open PowerShell or Windows Command Prompt in administrator mode by right-clicking and selecting “Run as administrator”. Enter the following command to enable the features necessary to run WSL and install the Ubuntu distribution of Linux.

wsl --install

After rebooting the system, open Ubuntu by visiting the Windows Start menu or by entering the ubuntu command in PowerShell or Windows Command Prompt. Since Bash is already included in Ubuntu, no further actions are needed.

Content adapted from the WSL installation instructions

Verify that you have Bash version 3.2 or higher.

bash --version

Example output:

GNU bash, version 5.1.8
...

Step 2: install Java

You will need Oracle Java >=11 or OpenJDK >=11 to be installed.

Run the following commands:

sudo apt-get update
sudo apt-get install openjdk-11-jdk

Run the following command:

sudo yum install java-11-openjdk-devel

Run the following command:

sudo pacman -S jdk11-openjdk

If haven’t done so already, first install Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Next, install Java 11 by running:

brew install openjdk@11

Open Ubuntu in WSL and run the following commands:

sudo apt-get update
sudo apt-get install openjdk-11-jdk

Verify that you have Java version 11 or higher.

java -version

Example output:

openjdk version "19.0.1" 2022-10-18

Step 3: install Docker

Update package index by running:

sudo apt update

Install Docker by running:

sudo apt install docker.io

Enable the Docker service automatically at boot by running:

sudo systemctl enable docker

Add the current user to the Docker group by running:

sudo usermod -aG docker $USER

On RHEL, run the following commands:

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/rhel/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

On Fedora, run the following commands:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager \
    --add-repo \
    https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Enable the Docker service automatically at boot by running:

sudo systemctl enable docker

Add the current user to the Docker group by running:

sudo usermod -aG docker $USER

Install Docker by running:

sudo pacman -S docker

Enable the Docker service automatically at boot by running:

sudo systemctl enable docker

Add the current user to the Docker group by running:

sudo usermod -aG docker $USER

Download and install Docker Desktop for Mac and download Docker Desktop for Mac.

Open Ubuntu in WSL and follow the following instructions.

Update package index by running:

sudo apt update

Install Docker by running:

sudo apt install docker.io

Enable the Docker service automatically at boot by running:

sudo systemctl enable docker

Add the current user to the Docker group by running:

sudo usermod -aG docker $USER

Verify that Docker is working by running:

docker run hello-world

Example output:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

Step 4: install Viash

Install Viash by running:

mkdir -p "$HOME/.local/bin"

curl -fsSL get.viash.io | bash -s -- --bin "$HOME/.local/bin"

Tip: Make sure that the $HOME/.local/bin folder is in your $PATH variable.

Install Viash by running:

mkdir -p "$HOME/.local/bin"

curl -fsSL get.viash.io | bash -s -- --bin "$HOME/.local/bin"

Tip: Make sure that the $HOME/.local/bin folder is in your $PATH variable.

Install Viash by running:

mkdir -p "$HOME/.local/bin"

curl -fsSL get.viash.io | bash -s -- --bin "$HOME/.local/bin"

Tip: Make sure that the $HOME/.local/bin folder is in your $PATH variable.

Install Viash by running:

mkdir -p "$HOME/.local/bin"

curl -fsSL get.viash.io | bash -s -- --bin "$HOME/.local/bin"

Tip: Make sure that the $HOME/.local/bin folder is in your $PATH variable.

Install Viash in Ubuntu by running:

mkdir -p "$HOME/.local/bin"

curl -fsSL get.viash.io | bash -s -- --bin "$HOME/.local/bin"

Tip: Make sure that the $HOME/.local/bin folder is in your $PATH variable.

Verify that you have Viash version 0.6.7 or higher.

viash -v

Example output:

viash 0.6.7 (c) 2020 Data Intuitive

Step 5: install Nextflow

Install Nextflow by running:

curl -s https://get.nextflow.io | bash
mv nextflow "$HOME/.local/bin"

Install Nextflow by running:

curl -s https://get.nextflow.io | bash
mv nextflow "$HOME/.local/bin"

Install Nextflow by running:

curl -s https://get.nextflow.io | bash
mv nextflow "$HOME/.local/bin"

Install Nextflow by running:

curl -s https://get.nextflow.io | bash
mv nextflow "$HOME/.local/bin"

Install Nextflow by running:

curl -s https://get.nextflow.io | bash
mv nextflow "$HOME/.local/bin"

Verify that Nextflow and Docker are working by running:

nextflow run hello -with-docker
N E X T F L O W  ~  version 22.10.4
Launching `https://github.com/nextflow-io/hello` [compassionate_keller] DSL2 - revision: 4eab81bd42 [master]
executor >  local (4)
[d5/78e7a6] process > sayHello (2) [100%] 4 of 4 ✔
Bonjour world!
Hello world!
Hola world!
Ciao world!

Troubleshooting common problems

If you run into any problems, please take a look at our troubleshooting page.