Installing RAFT

Overview

Install RAFT before choosing where you want to run it. RAFT itself installs as a Python package, but some execution modes also require external tools or cloud credentials.

Local prerequisites

For local and hybrid usage, install:

  • Python 3.9+

  • Git

  • Nextflow

  • Singularity or Apptainer

Note

RAFT provides a --bypass-dependencies flag for advanced cases, but the recommended setup is to install the required system dependencies normally.

Installing Apptainer or Singularity

If your current conda-based Apptainer install is not working, prefer your operating system package manager instead.

Use one of the following common approaches:

  • Ubuntu or Debian:

    $ sudo apt update
    $ sudo apt install -y apptainer
    
  • Fedora:

    $ sudo dnf install -y apptainer
    
  • RHEL, Rocky, AlmaLinux, or CentOS:

    $ sudo yum install -y epel-release
    $ sudo yum install -y apptainer
    
  • openSUSE:

    $ sudo zypper install apptainer
    
  • Arch Linux:

    $ sudo pacman -S apptainer
    

If your distribution does not package apptainer directly, install singularity if that is the name provided by the distribution package manager.

After installation, confirm that the runtime is visible on $PATH:

$ apptainer --version

or:

$ singularity --version

Installing RAFT

Install RAFT with pip:

$ pip install --user reproducible-analyses-framework-and-tools

Depending on your environment, you may need to add ~/.local/bin to your $PATH.

Setting up RAFT

RAFT requires a directory consisting of various folders including: projects/, references/, and inputs/. This directory will also contain the RAFT configuration file.

To set up RAFT, run:

$ raft setup

You will be prompted to provide paths for each required subdirectory, with sensible defaults.

A default installation, in which all subdirectories are created in the current working directory, can be created by running:

$ raft setup --default

Cloud prerequisites

For the experimental GCP BYOC launcher, you typically need:

  • a GCP project you control

  • a GCS bucket you control

  • a RAFT runner image accessible to Batch

  • sufficient IAM permissions to upload objects and submit Batch jobs

Note

Bucket names cannot contain underscores. Use hyphens instead.

For the advanced CLI --bucket gs://... path, RAFT also expects local Google Application Default Credentials (ADC). A common setup is:

$ gcloud auth application-default login

RAFT does not create ADC credentials for you.