Introduction

Cryo-electron microscopy (cryo-EM) has revolutionized structural biology, enabling atomic-resolution determination of protein structures without crystallization. The 2017 Nobel Prize in Chemistry recognized this breakthrough, and since then, cryo-EM facilities have proliferated worldwide. However, the computational challenge is immense — a single cryo-EM dataset can be 5-10 TB of micrograph movies, requiring days or weeks of GPU-accelerated processing.

This guide compares the leading open-source platforms for self-hosted cryo-EM image processing: RELION, EMAN2, and explores open alternatives to the proprietary CryoSPARC.

FeatureRELIONEMAN2CryoSPARC (Proprietary)
Stars537+167+N/A (commercial)
LicenseGPL v2GPL v2Proprietary (free for academics)
LanguageC++ / CUDAC++ / PythonC++ / Python
Last Updated2026-052026-062026
GPU RequiredYes (strongly recommended)OptionalYes
Key StrengthBayesian particle polishingComprehensive suiteEasiest GUI, fastest
Web InterfaceNoYes (e2display)Yes

RELION: The Bayesian Workhorse

RELION (REgularized LIkelihood OptimizatioN) is the most widely used open-source cryo-EM processing suite. Developed at the MRC Laboratory of Molecular Biology (where cryo-EM was pioneered), it implements a Bayesian approach to 3D reconstruction that produces state-of-the-art results for single-particle analysis.

Self-hosted installation on a GPU server:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Install dependencies
sudo apt install -y cmake build-essential libopenmpi-dev   libfftw3-dev libtiff-dev

# Clone and build with CUDA support
git clone https://github.com/3dem/relion.git
cd relion
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/relion       -DCUDA=ON       -DCudaTexture=ON       -DALTCPU=ON ..
make -j 32
sudo make install

Docker Compose deployment with GPU passthrough:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: "3.8"
services:
  relion:
    image: nvidia/cuda:12.4.0-devel-ubuntu22.04
    container_name: relion-gpu
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - CUDA_VISIBLE_DEVICES=0,1,2,3
    volumes:
      - ./micrographs:/data/micrographs:ro
      - ./processing:/data/processing
      - /opt/relion:/opt/relion
    working_dir: /data/processing
    command: >
      bash -c "
      export PATH=/opt/relion/bin:$$PATH &&
      relion_refine_mpi --gpu --i particles.star --o run1
      "
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 4
              capabilities: [gpu]

Processing workflow for single-particle analysis:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/bin/bash
# RELION cryo-EM processing pipeline

PROJ_DIR="/data/cryoem/project_2026"
MIC_DIR="${PROJ_DIR}/micrographs"
mkdir -p ${PROJ_DIR}/{ctf,picking,2d,3d,polish}

# Step 1: Motion correction
relion_run_motioncorr_mpi --i ${MIC_DIR}/*.mrc   --o ${PROJ_DIR}/corrected/ --mpi 32 --gpu "0:1:2:3"

# Step 2: CTF estimation
relion_run_ctffind_mpi --i ${PROJ_DIR}/corrected/*.mrc   --o ${PROJ_DIR}/ctf/ --mpi 32

# Step 3: Automated particle picking
relion_autopick_mpi --i ${PROJ_DIR}/corrected/*.mrc   --o ${PROJ_DIR}/picking/ --pickname autopick --mpi 32

RELION’s Bayesian polishing algorithm is its standout feature — it models per-particle beam-induced motion and radiation damage, significantly improving map resolution. Combined with its 3D classification capabilities, it can separate multiple conformational states from heterogeneous samples.

EMAN2: The Complete Imaging Suite

EMAN2, developed at Baylor College of Medicine, takes a broader approach — it handles single-particle analysis, tomography, and 2D crystallography in a unified framework. Its Python-based architecture makes it highly extensible and scriptable.

1
2
3
4
5
6
# Install via conda (easiest path)
conda create -n eman2 -c cryoem -c conda-forge eman2
conda activate eman2

# Launch the workflow interface
e2projectmanager.py

Self-hosted server deployment:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
services:
  eman2:
    image: cryoem/eman2:latest
    container_name: eman2-server
    volumes:
      - ./micrographs:/data/raw:ro
      - ./processing:/data/proc
    environment:
      - EMAN2DIR=/opt/eman2
    working_dir: /data/proc
    command: >
      bash -c "
      e2projectmanager.py --project myproject         --rawdata /data/raw         --workdir /data/proc
      "

EMAN2’s key differentiators include its integrated 2D class averaging workflow, tomography sub-tomogram averaging pipeline, and the e2display visualization tool. The e2boxer.py GUI provides interactive particle picking with neural network assistance.

Open Alternatives to CryoSPARC

CryoSPARC is widely used in academic labs (free for non-commercial use) but its proprietary license restricts self-hosted modification and redistribution. For fully open pipelines, combine RELION and EMAN2 with these complementary tools:

CryoDRGN (242+ stars) — Deep learning-based heterogeneous reconstruction that can discover continuous conformational changes. Install via:

1
2
3
conda create -n cryodrgn python=3.9
conda activate cryodrgn
pip install cryodrgn

cisTEM — GPU-accelerated processing pipeline developed by the Grigorieff lab. It provides an alternative motion correction and CTF estimation workflow that can feed into RELION for refinement.

Hardware Requirements

Cryo-EM processing is one of the most computationally demanding workloads in scientific computing:

ComponentMinimumRecommendedOptimal
GPUs2× NVIDIA RTX 40904× NVIDIA A1008× NVIDIA H100
GPU Memory24 GB each40 GB each80 GB each
System RAM128 GB256 GB512 GB
Storage50 TB NVMe100 TB NVMe + 200 TB HDD200 TB NVMe + 500 TB HDD
Network10 GbE25 GbE100 GbE InfiniBand

A realistic entry-level setup for a small cryo-EM lab might be a workstation with 2× RTX 4090 GPUs, 256 GB RAM, and 50 TB NVMe storage — approximately $15,000-20,000. This can process a typical single-particle dataset in 2-4 days.

Why Self-Host Your Cryo-EM Processing?

Cryo-EM datasets are enormous — 5-15 TB per project — making cloud transfer prohibitively slow and expensive. Local processing with direct-attached NVMe storage achieves 7 GB/s read speeds versus the 0.1-1 GB/s typical of cloud block storage. For a 10 TB dataset, this means loading your data in seconds rather than hours.

For molecular visualization of your results, see our molecular visualization guide. For managing your large cryo-EM datasets, our scientific data management guide covers iRODS and Rucio for petabyte-scale data. If you’re setting up an HPC cluster for your lab, check our HPC workload managers guide.

Cost control is critical — a single cryo-EM dataset costs $500-2,000 to process on AWS (p3dn.24xlarge), and a typical structural biology project involves 10-50 datasets. At that scale, the hardware investment pays for itself within 1-3 months. Furthermore, GPU instances are frequently unavailable in many cloud regions during peak demand, causing multi-day delays.

Customization matters — cryo-EM is an active research field where processing parameters are frequently tuned per-project. Cloud processing limits your ability to rapidly iterate on parameters and inspect intermediate results interactively.

Storage Infrastructure for Cryo-EM Data

The storage demands of cryo-EM processing require careful planning. Here’s how to architect storage for a self-hosted cryo-EM workstation that handles multiple projects simultaneously.

Tiered storage architecture: Implement three tiers for optimal price-performance. Tier 1 (NVMe, 10-20 TB) holds active processing datasets with direct GPU access via PCIe 4.0 for 7 GB/s throughput. Tier 2 (SATA SSD, 50-100 TB) stores completed projects awaiting analysis and manuscript preparation. Tier 3 (HDD RAID6, 200+ TB) archives raw micrograph movies for potential reprocessing when improved algorithms are released.

File system optimization: Use XFS rather than ext4 for the NVMe processing volume — XFS handles the large sequential writes typical of cryo-EM motion correction (writing 10-50 GB corrected stacks) with less fragmentation. Mount with noatime,nodiratime,largeio,inode64,swalloc for maximum throughput. For the archive tier, ZFS with compression=lz4 provides checksumming to detect silent data corruption and typically achieves 1.5-2x compression on MRC stack files.

Network access for collaborative processing: If multiple researchers access the processing server, deploy a 25 GbE or 100 GbE link between the storage server and GPU workstations. At 10 GbE, loading a 500 GB motion-corrected stack takes 7 minutes; at 100 GbE, under 45 seconds. Use NFSv4.2 with noac mount option for the processing directory to minimize metadata overhead during the thousands of small file operations in particle extraction.

FAQ

Do I absolutely need GPUs for cryo-EM processing?

Technically, RELION has CPU-only mode, but it’s 50-100x slower. A 3D refinement that takes 2 hours on a single A100 GPU would take 4-8 days on a 64-core CPU. For practical use, GPUs are essential. Budget for at least 2 high-end consumer GPUs (RTX 4090) or one datacenter GPU (A100).

Can I use AMD GPUs instead of NVIDIA?

No — RELION, EMAN2, and cryoDRGN all require CUDA, which is NVIDIA-only. AMD’s ROCm platform is not supported by any major cryo-EM processing software. This is unlikely to change in the near term due to the deep CUDA dependency of the scientific computing stack.

How long does a complete processing run take?

For a typical dataset of 5,000-10,000 micrographs: motion correction takes 2-4 hours, CTF estimation 1-2 hours, particle picking 4-8 hours, 2D classification 8-12 hours, 3D refinement 12-24 hours, and polishing 6-12 hours. Total: 2-4 days on a 4-GPU workstation. Resolutions below 3 Å may require additional CTF refinement and Bayesian polishing iterations.

Is there a web-based interface for remote processing?

RELION is primarily CLI-driven but can be wrapped in a SLURM-based job submission portal. EMAN2’s e2projectmanager provides a GUI accessible via X11 forwarding or VNC. For a true web interface, consider deploying Apache Guacamole for remote desktop access to your processing workstation.

How do I validate my cryo-EM maps?

Use MolProbity for model validation, EMDB for map deposition, and the FSC (Fourier Shell Correlation) curve for resolution estimation. The “gold standard” FSC procedure (processing two independent half-sets) is built into RELION and is required for publication. Always check for overfitting by comparing model-vs-map FSC to the gold-standard FSC.

Can multiple users share one processing server?

Yes — use SLURM or HTCondor for job scheduling and GPU allocation. Configure GPU resource limits per user to prevent resource contention. For lab-wide access, deploy a JupyterHub frontend with pre-configured RELION and EMAN2 kernels, allowing users to submit processing jobs through a browser-based interface.


💰 想测试你的市场判断力?我用 Polymarket 做预测市场交易——这是全球最大的预测市场平台,从大选结果到技术监管时间线,什么都可以押注。和赌博不同,这是真正的信息市场:你懂的信息越多,胜率越高。我靠预测技术相关事件的走向已经赚了不少。用我的邀请链接注册:Polymarket.com