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:
GPU Not Available
Error: CUDA device not found
Solution: Ensure NVIDIA drivers and container toolkit are installed:
Out of Disk Space
Error: No space left on device
Solution: Clean Nextflow work directory:
Updates¶
Update Pipeline¶
# Pull latest version
nextflow pull seqeralabs/nf-proteindesign
# Or update local clone
cd nf-proteindesign
git pull origin main
Update Containers¶
Next Steps¶
Once installed, check out:
Need Help?
- Check GitHub Issues
- Review Troubleshooting