High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed
IMOD on Biowulf & Helix

IMOD is a set of image processing, modeling and display programs used for tomographic reconstruction and for 3D reconstruction of EM serial sections and optical sections. The package contains tools for assembling and aligning data within multiple types and sizes of image stacks, viewing 3-D data from any orientation, and modeling and display of the image files. IMOD was developed primarily by David Mastronarde, Rick Gaudette, Sue Held, Jim Kremer, Quanren Xiong, and John Heumann at the Boulder Laboratory for 3-D Electron Microscopy of Cells. [IMOD home page]

The related application PEET is also installed on Biowulf. PEET is used for aligning and averaging particles in 3-D volumes extracted from tomograms. It seeks the optimal alignment of each particle against a reference volume through several iterations. To use PEET, type 'module load PEET'. Note that this loads IMOD v4.8.4 as well.

Running IMOD on Helix

Sample session:

[susanc@helix ~]$ module load imod

[susanc@helix ~]$ module list
Currently Loaded Modulefiles:
  1) imod/4.7.5

[susanc@helix ~]$ tif2mrc cell*.tif cellmrc

Batch job on Biowulf

Set up a batch script along the following lines:

#!/bin/bash

cd /data/$USER/myimagedir

module load imod

tif2mrc cell*.tif cell.mrc
newstack cell*.mrc cell.st 

Submit this job with:

sbatch jobscript
If your job is likely to need more than the default 4 GB of memory, use
sbatch  --mem=#g      jobscript

Swarm of jobs on Biowulf

Set up a swarm command file along the following lines:

cd /data/$USER/myimagedir; tif2mrc cell*.tif cell.mrc
cd /data/$USER/myimagedir2; tif2mrc cell*.tif cell.mrc
[...etc...]
Submit this swarm with:
swarm -g 2 -f swarm.cmd --module imod/4.7.15
where '-g 2' tells swarm that each command (a single line in the swarm command file) requires 2 GB of memory. This value should be predetermined by you. If you have no idea how much memory a single command requires, submit a swarm with a single line. The standard output file from that job will report the amount of memory used.
Interactive job on Biowulf

If you plan to use the GUI 3dmod, it's best to allocate an interactive node and run it on there. You need to set up an Xwindows connection to Biowulf for any graphics programs to work. Sample session:

[susanc@biowulf ~]$ sinteractive --mem=5g

salloc.exe: Granted job allocation 21179

[susanc@cn0002 ~]$ module load IMOD
IMOD: Using 2 CPUs

[susanc@cn0002 ~]$ module list

Currently Loaded Modules:
  1) IMOD/4.7.15

[susanc@cn0002 ~]$ 3dmod



[susanc@cn0002 images]$ exit
exit
salloc.exe: Relinquishing job allocation 21179
salloc.exe: Job allocation 21179 has been revoked.
[susanc@biowulf ~]
Documentation

IMOD User's Guide
Intro to 3dmod
Additional guides at the IMOD website