Relion slurm
Using RELION with SLURM
The RELION GUI can be configured to dispatch jobs (of most types) through SLURM, or another scheduler.
This requires a submission template file, which can be either pre-configured with an environmental variable or edited under the Running tab.
Environmental variables can also be used to allow additional job parameters (number of GPUs and maximum runtime) to be set through the GUI.
Example
This example is intended as a starting point, it will almost certainly need to be customized for your particular cluster.
- Download both the SLURM template and bash shell configuration.
- Add
relion-env.shto your environmental configuration (for example,source relion-env.shmanually, in your~/.bashrc, or in your site's/programs/local/local.shrc). - (Optional but recommended) Set
RELION_QUEUE_NAMEto the default partition you'd like to use for RELION. - Copy
relion-slurm_template.shto/programs/local/relion-slurm_template.sh; or if using another location setRELION_QSUB_TEMPLATEto match that location. - Start the relion GUI (ideally in a fresh project), and check the
Runningtab for a scheduler capable job type (for example, 2D or 3D classification). The submission template and additional job parameters should be visible under this tab - if not, something is not being picked up correctly.
Troubleshooting
If the terminal from which you launched RELION does not show something to the effect of submitted slurm job $jobid (where $jobid will correspond to the SLURM job created), the job has not been queued.
This can be due to an error in the SLURM template, or a mismatch between the job specifications and what your cluster supports - the terminal launching relion will have information about the specific error.
The job directory will have a run_submit.script file that is helpful for troubleshooting.
If you are having issues, please feel free to let us know at bugs@sbgrid.org.
To assist troubleshooting, it would be helpful to include the output of the sbinfo command from the system you're running on, the configuration template and relion environmental variables you're using, and the run_submit.script, job.star, run.out and run.err files (if applicable) from the job directory in question.