Skip to content

Requirements

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

  • Bash (>= 3.2)
  • Java Development Kit (>= 11)
  • Docker
  • Viash (>= 0.9.0)
  • Nextflow (>= 21.04)

The following sections provide instructions on how to install each of these tools. If you already have all of them installed, feel free to skip ahead to Create a component or Create a new task.

Bash is already included in most Debian- and Ubuntu-based distributions. If it is not installed, open a terminal and run:

sudo apt-get update
sudo apt-get install bash

Verify that you have Bash version 3.2 or higher:

bash --version

You will need Oracle Java >= 11 or OpenJDK >= 11.

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

Verify that you have Java version 11 or higher:

java -version
sudo apt update
sudo apt install docker.io
sudo systemctl enable docker
sudo usermod -aG docker $USER

Verify that Docker is working:

docker run hello-world
curl -fsSL dl.viash.io | bash
mkdir -p "$HOME/.local/bin"
mv viash "$HOME/.local/bin"

Verify that you have Viash version 0.9.0 or higher:

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

Verify that Nextflow and Docker are working:

nextflow run hello -with-docker

Expected output:

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!

It is recommended to install VS Code as it has extensions that help with developing Viash components.

The YAML extension provides YAML validation, syntax highlighting, auto-completion, and document outlining. The OpenProblems repository ships schemas that are auto-detected by this extension, making it easier to write and edit Viash config files.

You can find more recommended extensions for developing with Viash at the Viash IDE setup guide.