Open-Omics-Relion
Open-Omics-Relion
Open-Omics-Relion is a Dockerized RELION 5.0 setup for running benchmark workloads using Intel oneAPI and Intel MPI. It supports 2D classification, 3D classification, and auto-refinement modes using official test data, designed for reproducibility, performance testing, and ease of deployment.
Step 1: Download Benchmark Dataset
wget ftp://ftp.mrc-lmb.cam.ac.uk/pub/scheres/relion_benchmark.tar.gz
tar -xzvf relion_benchmark.tar.gz
This will extract a folder named relion_benchmark
.
Step 2: Build the Docker Image
Build the docker image with Dockerfile
, run:
sudo docker build -t relion_nru .
Verify the image was built:
sudo docker images | grep -i relion_nru
Step 3: Change Ownership of Benchmark Data
To avoid permission issues when mounting the directory (RELION runs as a non-root user UID 1001):
cd relion_benchmark/
sudo chown 1001:1001 $(pwd)
Step 4: Run RELION Benchmark
Launch the container with required options for shared memory and MPI support:
sudo docker run --rm --net=host --ipc=host --pid=host --ulimit stack=67108864 --shm-size=2g --cap-add=SYS_PTRACE -e I_MPI_DEBUG=5 -e I_MPI_SHM_LMT=shm -e I_MPI_FABRICS=shm:tcp -it -v $(pwd):/opt/relion_5.0/relion_benchmark relion_nru:latest
Notes
- Modify entrypoint.sh if you wish to customize CPU/thread usage.
- The container is designed to work on systems with Intel MPI and oneAPI properly set up inside.
- Ensure Docker has access to sufficient system shared memory (e.g. via /dev/shm or –shm-size if needed).
- The container uses a non-root user (UID 1001). Make sure mounted volumes are writable by this user.
Available Run Modes
You can specify different modes as an argument to the Docker command. Each mode will automatically create an output folder inside the
relion_benchmark
directory.
Mode | Command Example (append to docker run ) |
Description | Output Folder |
---|---|---|---|
(default) | relion_nru:latest |
Run 3D classification | 3D/ |
3d |
relion_nru:latest 3d |
Run 3D classification | 3D/ |
2d |
relion_nru:latest 2d |
Run 2D classification | 2D/ |
autorefine |
relion_nru:latest autorefine |
Run 3D auto-refinement | 3D_AUTO/ |
custom |
relion_nru:latest relion_refine_mpi [your-flags] |
Run any custom RELION command | User-defined (--o ) |
The Original README for Relion starts here:
RELION 5.0-beta
RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone computer program for Maximum A Posteriori refinement of (multiple) 3D reconstructions or 2D class averages in cryo-electron microscopy. It is developed in the research group of Sjors Scheres at the MRC Laboratory of Molecular Biology.
If RELION is useful in your work, please cite our papers.
Comprehensive documentation of RELION and tutorials are stored here.
Installation
See our installation instructions.
You will have to set up a Python environment to use Python modules (e.g. Blush, ModelAngelo and DynaMight). Thus, please read the above instructions carefully even if you are familiar with earlier versions.
Class Ranker
The default model for the class ranker has been trained and tested in Python 3.9.12 with Pytorch 1.10.0 and Numpy 1.20.0. If you wish to retrain the class ranker model with your own data, please refer to this repo.