Skip to content

RELION

RELION (for REgularised LIkelihood OptimisatioN, pronounced rely-on) is a software package for structure determination using electron cryo-microscopy (cryo-EM). It employs an empirical Bayesian approach to perform image processing and 3D reconstruction.

RELION is developed by the group of Sjors Scheres at the MRC Laboratory of Molecular Biology.

For more information, see the official RELION documentation.

Package availability

Compute node type Available
CPU ✓
NVIDIA A100 GPU ✓
NVIDIA Grace Hopper GPU ✓

Run RELION

Load the RELION module

Load the RELION module before starting the application:

Bash
module load relion/5.0.1

Launch the RELION GUI

To start the RELION GUI in either a new project directory or an existing RELION project directory, run:

Bash
relion &

For tomographic processing, use:

Bash
relion --tomo &

Batch submission

RELION can submit jobs to the cluster's batch system using sbatch. The following settings are recommended.

Compute tab settings

Keep the following default values:

Setting Value
Use parallel disk I/O? Yes
Pre-read all particles into RAM? No
Copy particles to scratch directory /scratch
Combine iterations through disk? No
CPU jobs

For CPU-only jobs:

Setting Value
Use GPU acceleration? No

GPU jobs

For GPU-accelerated jobs:

Setting Value
Use GPU acceleration? Yes
Which GPUs to use Leave blank
ModelAngelo $CUDA_VISIBLE_DEVICES

Running tab settings

Configure the following settings:

Setting Value
Number of MPI procs 1–16
Number of threads 1–36
Submit to queue? Yes
Queue submit command sbatch
Time limit dd-hh:mm:ss
Additional sbatch arguments Leave blank or specify additional arguments
Number of nodes 1
Total memory per node 0–818 GB
Number of GPUs per node 0–4
Minimum dedicated cores per node 1
Additional arguments Leave blank

Additional sbatch arguments

Additional sbatch arguments override the corresponding settings above. If there is a conflict, the values specified in the additional arguments take precedence.

Queue names

For CPU jobs, use one of the following queues:

Text Only
hourly
daily
general

For GPU jobs, use one of the following queues:

Text Only
a100-hourly
a100-daily
a100-general

gh-hourly
gh-daily
gh-general
Standard submission scripts

For CPU jobs:

Text Only
/opt/psi/overlays/Alps/EM/relion/5.0.1/scripts/CPU.sh

For GPU jobs:

Text Only
/opt/psi/overlays/Alps/EM/relion/5.0.1/scripts/GPU.sh

CPU jobs

The following settings illustrate a typical CPU job configuration:

GPU jobs

The following settings illustrate a typical GPU job configuration:

The main differences from a CPU job are:

  • Queue name: a100-daily
  • Standard submission script: /opt/psi/overlays/Alps/EM/relion/5.0.1/scripts/GPU.sh
  • Use GPU acceleration: Yes

By default, the GPU.sh submission script requests one GPU per job. To request additional GPUs, specify the desired number in Number of GPUs per node.

Resource allocation

Request resources according to the requirements of your job. Requesting more resources than necessary may increase queue wait times and reduce cluster efficiency.

Benchmark (Tomography)

Motion Correction

It is recommended to have the number of MPI proc has multiple of 2 or the job might fail. There is a near linear increase in performance by increasing the number of MPI procs while maintaining the same number of threads.

Job Version GPUs MPI procs CPUs (Threads) Memory (Gb) Total time (HH:MM:SS)
Motion Correction 5.0.1 - 1 16 59 00:52:15
Motion Correction 5.0.1 - 2 16 118 00:24:51
Motion Correction 5.0.1 - 4 16 236 00:15:40
Motion Correction 5.0.1 - 8 16 472 00:08:47

CTF estimation

Increasing the number of MPI processes seems to significantly speed up the job.

Job Version GPUs MPI procs CPUs (Threads) Memory (Gb) Total time (HH:MM:SS)
CTF estimation 5.0.1 - 1 1 59 00:33:47
CTF estimation 5.0.1 - 2 1 59 00:16:01
CTF estimation 5.0.1 - 16 1 59 00:02:09

Align tilt-series

For GPU jobs, set $CUDA_VISIBLE_DEVICES

Job Version GPUs MPI procs CPUs (Threads) Memory (Gb) Total time (HH:MM:SS)
Align tilt-series (IMOD) 5.0.1 - 1 1 59 > 01:00:00
Align tilt-series (IMOD) 5.0.1 - 16 1 59 00:11:37
Align tilt-series (AreTomo2) 5.0.1 1 (A100) 1 1 118 > 01:00:00
Align tilt-series (AreTomo2) 5.0.1 1 (GH) 1 1 204 00:05:59

Reconstruct tomograms

Job Version GPUs MPI procs CPUs (Threads) Memory (Gb) Total time (HH:MM:SS)
Reconstruct tomograms 5.0.1 - 1 16 59 00:13:38
Reconstruct tomograms 5.0.1 - 2 16 118 00:07:04
Reconstruct tomograms 5.0.1 - 4 16 236 00:03:25
Reconstruct tomograms 5.0.1 - 8 16 472 00:02:05

Denoise tomograms

/opt/psi/overlays/Alps/EM/cryocare/0.3.0/miniforge/envs/cryocare_0.3.0/bin $CUDA_VISIBLE_DEVICES Only available for A100 GPUs

Extract subtomos

Job Version GPUs MPI procs CPUs (Threads) Memory (Gb) Total time (HH:MM:SS)
Extract subtomos 5.0.1 - 1 16 59 00:09:24
Extract subtomos 5.0.1 - 2 16 118 00:02:26
Extract subtomos 5.0.1 - 4 16 236 00:02:12
Extract subtomos 5.0.1 - 8 16 472 00:01:14

3D initial reference

Job Version GPUs MPI procs CPUs (Threads) Memory (Gb) Total time (HH:MM:SS)
3D initial reference 5.0.1 1 (A100) 1 16 118
3D initial reference 5.0.1 1 (GH) 1 36 118