Relion using SBGrid
This guide covers submitting SLURM jobs via the Relion interface using SBGrid software.
Setup
Configure ~/.bashrc
Add the following to your ~/.bashrc:
# Source SBGrid
source /programs/sbgrid.shrc
# Relion SLURM settings
export RELION_QSUB_EXTRA_COUNT=3
export RELION_QSUB_EXTRA1="Walltime"
export RELION_QSUB_EXTRA1_DEFAULT="1-00:00:00"
export RELION_QSUB_EXTRA2="Memory per CPU"
export RELION_QSUB_EXTRA2_DEFAULT="4G"
export RELION_QSUB_EXTRA3="GRES"
export RELION_QSUB_EXTRA3_DEFAULT="gpu:1"
Warning
Source SBGrid in either .bashrc or the Relion job submission template, not both. Sourcing in both locations causes job failures.
After editing, reload:
source ~/.bashrc
SBGrid Preferences
Customize default packages in ~/.sbgrid.conf:
# Example preferences
RELION=3.1.0_cu10.2
CUDA=10.2
OPENMPI=3.1.4
PYTHON=3.8.2
SLURM Submission Template
Create a template for Relion job submissions:
#!/bin/bash
#SBATCH --partition=gpu
#SBATCH --nodes=XXXnodesXXX
#SBATCH --ntasks=XXXmaboredXXX
#SBATCH --cpus-per-task=XXXthreadsXXX
#SBATCH --mem-per-cpu=XXXextra2XXX
#SBATCH --time=XXXextra1XXX
#SBATCH --gres=XXXextra3XXX
#SBATCH --error=XXXerrfileXXX
#SBATCH --output=XXXoutfileXXX
# Optional: load specific CUDA/OpenMPI versions
# module load cuda/10.2
# module load openmpi/3.1.4
srun --export=ALL --mpi=pmi2 XXXcommandXXX
Verification
Check active SBGrid package versions:
sbgrid-info -l relion
Troubleshooting
ORTE Daemon Failures
Try using srun rather than mpirun/mpiexec in Relion’s job template.
Changes Not Taking Effect
Verify updates appear in newly generated log files. Old job submissions may use cached settings.
Version Conflicts
Ensure CUDA and OpenMPI versions are compatible with your Relion version.