EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes. EMAN's original purpose was performing single particle reconstructions (3-D volumetric models from 2-D cryo-EM images) at the highest possible resolution, but the suite now also offers support for single particle cryo-ET, and tools useful in many other subdisciplines such as helical reconstruction, 2-D crystallography and whole-cell tomography. EMAN2 is capable of processing large data sets (>100,000 particle) very efficiently.

Documentation

EMAN2 home
EMAN2 tutorials

Usage

EMAN2 can be run through an interactive Slurm session. Use srun --pty -p gpu --gres=gpu:1 --x11 bash to start a session with an allocated GPU and X11 forwarding.
Note that when using an Mac laptop, there is a known issue where EMAN2 will not work under XQuartz. It is recommended to use the NoMachine cluster as a work-around.

$ module load EMAN2
# start the Project Manager
$ e2projectmanager.py
# OR bring up the single image display
$ e2display BGal_000031.hdf

With the first command, the project manager window will be displayed.

Image
EMAN2 Project Manager

Alternatively, the second command will be used to analyze a specific image using two windows.

Image
EMAN2 Micrograph Image
Image
EMAN2 Micrograph Widget

Slurm script

A sample script for running inside a batch script.

#!/bin/bash
#SBATCH --job-name=EMAN2
#SBATCH --time=8:00:00
#SBATCH --partition=norm
#SBATCH --ntasks=30
#SBATCH --mem=256G
#SBATCH --mail-type=END
#SBATCH --mail-user=username@mail.nih.gov
module load EMAN2
e2refine_easy.py --input=sets/all-bad__ctf_flip.lst --model=initial_models/BGal_000031.hdf \
  --targetres=7.0 --speed=5 --sym=d7 --iter=3 --mass=800.0 --apix=1.07 --classkeep=0.9 --m3dkeep=0.8 \
  --threads=${SLURM_NTASKS}:/scratch/cluster_scratch/${USER} --classrefsf
e2bdb.py -cF

Build instructions for those who are curious

module load python/3.12
git clone https://github.com/cryoem/eman2.git
mkdir -p eman2/build; cd eman2/build
cmake -DCMAKE_INSTALL_PREFIX=/mnt/nasapps/production/EMAN2/2.91 ..
make && make install