Skip to content

Installation Guide

Prerequisites

Required Software

1. Nextflow

Install Nextflow (version >=23.04.0):

# Download and install
curl -s https://get.nextflow.io | bash

# Move to system path
sudo mv nextflow /usr/local/bin/

# Verify installation
nextflow -version

2. Container Engine

Docker is required to run this pipeline:

# Install Docker: https://docs.docker.com/get-docker/
# Verify installation
docker --version
docker run hello-world

GPU Requirements

NVIDIA GPU Required

Boltzgen requires an NVIDIA GPU with CUDA support. CPU execution is possible but extremely slow.

Setup NVIDIA Container Toolkit (Docker)

# Install nvidia-container-toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

# Test GPU access
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

Pipeline Installation

The pipeline can be run directly from GitHub without manual installation:

# Run directly (Nextflow will handle download)
nextflow run seqeralabs/nf-proteindesign -profile docker --input samplesheet.csv --outdir results

Alternative: Clone Repository

For development or offline use:

# Clone repository
git clone https://github.com/seqeralabs/nf-proteindesign.git
cd nf-proteindesign

# Run from local directory
nextflow run main.nf -profile docker --input samplesheet.csv --outdir results

Test Installation

Quick Test

# Run test with built-in test profile
nextflow run seqeralabs/nf-proteindesign \
    -profile test_design_protein,docker \
    --outdir test_results

Verify GPU Access

# Check NVIDIA driver
nvidia-smi

# Test with container
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

Configuration

Nextflow Config

Create ~/.nextflow/config for personal settings:

docker {
    enabled = true
    runOptions = '--gpus all'
}

process {
    executor = 'local'
    cpus = 16
    memory = '64 GB'
}

Resource Limits

Set appropriate resource limits for your system:

nextflow run seqeralabs/nf-proteindesign \
    -profile docker \
    --input samplesheet.csv \
    --outdir results \
    --max_cpus 32 \
    --max_memory 128.GB \
    --max_time 72.h

HPC Setup

SLURM Configuration

Create hpc.config:

process {
    executor = 'slurm'
    queue = 'gpu'
    clusterOptions = '--gres=gpu:1'

    withLabel: gpu {
        clusterOptions = '--gres=gpu:1 --mem=32GB'
        time = '48h'
    }
}

docker {
    enabled = true
    runOptions = '--gpus all'
}

Run with custom config:

nextflow run seqeralabs/nf-proteindesign \
    -profile docker \
    -c hpc.config \
    --input samplesheet.csv \
    --outdir results

Container Images

The pipeline uses pre-built containers from GitHub Container Registry:

  • Boltzgen: ghcr.io/flouwuenne/boltzgen:latest
  • PRODIGY: ghcr.io/flouwuenne/prodigy:latest

Pre-pull Containers

# Docker
docker pull ghcr.io/flouwuenne/boltzgen:latest
docker pull ghcr.io/flouwuenne/prodigy:latest

Troubleshooting

Common Issues

Permission Denied (Docker)

Error: permission denied while trying to connect to the Docker daemon

Solution: Add user to docker group:

sudo usermod -aG docker $USER
newgrp docker

GPU Not Available

Error: CUDA device not found

Solution: Ensure NVIDIA drivers and container toolkit are installed:

# Check driver
nvidia-smi

# Install container toolkit
# See GPU Requirements section above

Out of Disk Space

Error: No space left on device

Solution: Clean Nextflow work directory:

nextflow clean -f

Updates

Update Pipeline

# Pull latest version
nextflow pull seqeralabs/nf-proteindesign

# Or update local clone
cd nf-proteindesign
git pull origin main

Update Containers

# Docker
docker pull ghcr.io/flouwuenne/boltzgen:latest

Next Steps

Once installed, check out:


Need Help?