Biowulf at the NIH
RSS Feed
EMAN2 on Biowulf

EMAN2 is the successor to EMAN1. It 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. Image processing in a suite like EMAN differs from consumer image processing packages like Photoshop in that pixels in images are represented as floating-point numbers rather than small (8-16 bit) integers. In addition, image compression is avoided entirely, and there is a focus on quantitative analysis rather than qualitative image display.

Author: Prof. Steve Ludtke

Reference: EMAN2: an extensible image processing suite for electron microscopy. (2007) Tang G, Peng L, Baldwin PR, Mann DS, Jiang W, Rees I, Ludtke SJ, J Struct Biol

EMAN2 requires some environment variables to be set. The simplest way is to use environment modules:

module load eman2
Submitting an EMAN2 batch job

Create a PBS batch script along the following lines:

#PBS -m be
#PBS -k oe

# empty the local /scratch area, just in case

# change to the current working directory from which the script was submitted.

# set the environment properly
module load eman2

# Run refinement.  Make sure to replace the input, output, and reference files,
# as well as any options needed.  This command is designed to run on four c16 nodes, using 8
# threads each and storing temporary files in /scratch. \
--parallel=mpi:32:/scratch \
--input=bdb:sets#set2-allgood_phase_flipped-hp \
--mass=1200.0 \
--apix=2.9 \
--automask3d=0.7,24,9,9,24 \
--iter=1 \
--sym=c1 \
--model=bdb:refine_02#threed_filt_05 \
--path=refine_sge \
--orientgen=eman:delta=3:inc_mirror=0 \
--projector=standard \
--simcmp=frc:snrweight=1:zeromask=1 \
--simalign=rotate_translate_flip \
--simaligncmp=ccc \
--simralign=refine \
--simraligncmp=frc:snrweight=1 \
--twostage=2 \
--classcmp=frc:snrweight=1:zeromask=1 \
--classalign=rotate_translate_flip \
--classaligncmp=ccc \
--classralign=refine \
--classraligncmp=frc:snrweight=1 \
--classiter=1 \
--classkeep=1.5 \
--classnormproc=normalize.edgemean \ \
--sep=5 \
--m3diter=2 \
--m3dkeep=0.9 \
--recon=fourier \
--m3dpreprocess=normalize.edgemean \
--m3dpostprocess=filter.lowpass.gauss:cutoff_freq=.1 \
--pad=256 \
--lowmem \
--classkeepsig \
--classrefsf \
--m3dsetsf -v 2 -cF

Then submit the job, allocating the appropriate number of processors. In this case, we are running 32 threads, and therefore use a four c16 nodes (the c16 nodes are running 'hyperthreading', so that it appears to have twice as many cpus).

$ qsub -l nodes=4:c16

See Parallel Processing in EMAN2 for more information about running EMAN2 in parallel.


See the EMAN2 main page