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.
Step 1: install Bash
Section titled “Step 1: install Bash”Bash is already included in most Debian- and Ubuntu-based distributions. If it is not installed, open a terminal and run:
sudo apt-get updatesudo apt-get install bashBash is already included in most RHEL- and Fedora-based distributions. If it is not installed, open a terminal and run:
sudo yum install bashBash is already included in most Arch-based distributions. If it is not installed, run:
sudo pacman -S bashBash 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”, then run:
wsl --installAfter rebooting, open Ubuntu from the Start menu. Bash is already included.
Content adapted from the WSL installation instructions.
Verify that you have Bash version 3.2 or higher:
bash --versionStep 2: install Java
Section titled “Step 2: install Java”You will need Oracle Java >= 11 or OpenJDK >= 11.
sudo apt-get updatesudo apt-get install openjdk-11-jdksudo yum install java-11-openjdk-develsudo pacman -S jdk11-openjdkIf you haven’t done so already, first install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"Then install Java 11:
brew install openjdk@11Open Ubuntu in WSL and run:
sudo apt-get updatesudo apt-get install openjdk-11-jdkVerify that you have Java version 11 or higher:
java -versionStep 3: install Docker
Section titled “Step 3: install Docker”sudo apt updatesudo apt install docker.iosudo systemctl enable dockersudo usermod -aG docker $USEROn RHEL:
sudo yum install -y yum-utilitiessudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/rhel/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo systemctl enable dockersudo usermod -aG docker $USEROn Fedora:
sudo dnf -y install dnf-plugins-coresudo dnf config-manager \ --add-repo \ https://download.docker.com/linux/fedora/docker-ce.reposudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo systemctl enable dockersudo usermod -aG docker $USERsudo pacman -S dockersudo systemctl enable dockersudo usermod -aG docker $USERDownload and install Docker Desktop for Mac.
Open Ubuntu in WSL and run:
sudo apt updatesudo apt install docker.iosudo systemctl enable dockersudo usermod -aG docker $USERVerify that Docker is working:
docker run hello-worldStep 4: install Viash
Section titled “Step 4: install Viash”curl -fsSL dl.viash.io | bashmkdir -p "$HOME/.local/bin"mv viash "$HOME/.local/bin"curl -fsSL dl.viash.io | bashmkdir -p "$HOME/.local/bin"mv viash "$HOME/.local/bin"curl -fsSL dl.viash.io | bashmkdir -p "$HOME/.local/bin"mv viash "$HOME/.local/bin"curl -fsSL dl.viash.io | bashmkdir -p "$HOME/.local/bin"mv viash "$HOME/.local/bin"Install Viash in Ubuntu (WSL):
curl -fsSL dl.viash.io | bashmkdir -p "$HOME/.local/bin"mv viash "$HOME/.local/bin"Verify that you have Viash version 0.9.0 or higher:
viash -vStep 5: install Nextflow
Section titled “Step 5: install Nextflow”curl -s https://get.nextflow.io | bashmkdir -p "$HOME/.local/bin"mv nextflow "$HOME/.local/bin"curl -s https://get.nextflow.io | bashmkdir -p "$HOME/.local/bin"mv nextflow "$HOME/.local/bin"curl -s https://get.nextflow.io | bashmkdir -p "$HOME/.local/bin"mv nextflow "$HOME/.local/bin"curl -s https://get.nextflow.io | bashmkdir -p "$HOME/.local/bin"mv nextflow "$HOME/.local/bin"curl -s https://get.nextflow.io | bashmkdir -p "$HOME/.local/bin"mv nextflow "$HOME/.local/bin"Verify that Nextflow and Docker are working:
nextflow run hello -with-dockerExpected output:
N E X T F L O W ~ version 22.10.4Launching `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!Optional: install VS Code
Section titled “Optional: install VS Code”It is recommended to install VS Code as it has extensions that help with developing Viash components.
YAML extension (recommended)
Section titled “YAML extension (recommended)”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.