Skip to content

Repository with python wrapper for running ISAC (Iterative stable alignment and clustering) for analyzing of cryo-electron microscopy data

License

Notifications You must be signed in to change notification settings

leschzinerlab/ISAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

ISAC

Repository with python wrapper for running ISAC (Iterative stable alignment and clustering) for analyzing single particle cryo-electron microscopy data.

More information can be found in the published manuscript:

[Iterative stable alignment and clustering of 2D transmission electron microscope images] (http://www.ncbi.nlm.nih.gov/pubmed/22325773) Yang Z, Fang J, Chittuluru J, Asturias FJ, Penczek PA. Structure. 2012 Feb 8;20(2):237-47.

Dependencies

This program will run sxisac.py over a cluster using MPI. Therefore, you will need:

  • Sparx
  • EMAN2parx
  • MPI

Read more [here] (http://sparx-em.org/sparxwiki/Installer).

Overall workflow

This program will perform the following preparatory steps on your particle stack from the command line (not submitted to a cluster yet)

  1. Scale particles to box sizes of 64 x 64 pixels
  2. Convert .img/hed stack to bdb format
  3. Initialize header values to 0 for bdb stack
  4. Center particles using sxali2d.py
  5. Apply shifts from centering to particle stack
  6. Write cluster submission script for user to submit

These preparation steps for ISAC were adapted from the [Run Through example on the Sparx wiki] (http://sparx-em.org/sparxwiki/RunThroughExample).

Running ISAC.py

Generally, users should not run computational tasks on cluster head nodes. Therefore, this script should be run from a cluster node directly.

For us, we use the [Triton Shared Computing Cluster] (http://www.sdsc.edu/support/user_guides/tscc-quick-start.html) at UCSD where we can start an interactive node with a single cpu:

$ qsub -I -l nodes=1:ppn=1 -l walltime=3:50:00

After on this node, we will run the ISAC.py command. When this command finishes, we log OUT of the interactive node and then submit the job:

 qsub isac_123333.submit

Input options for ISAC.py

Generally, this script is meant to only require the particle stack in Imagic format. The box size can be any size, as the program will automatically rescale the box size down to 64 x 64 pixels.

Depending on your cluster setup, you will need to edit the queue names and cluster submission template within this python script. Contact us if you need help editing this.

Command line options:

$ ./ISAC.py 
Usage: ISAC.py -i [stack] 

Options:
  -h, --help      show this help message and exit
  -i FILE         Input stack
  --img_per_grp=INT  Number of images per group. (Default=60)
  --thld_err=INT     Threshold pixel error when checking stability. (Default=1.75)
  --max_round=INT    Max iterations for alignment. (Default=5)
  --generations=INT  Number of generations. (Default=1)
  --queue=STRING  Queue for job submission. (Default=hotel)
  --nodes=INT     Number of nodes to distribute job over. (Default=20)
  --threads=INT   Number of threads per node to run. (Default=8)
  --walltime=INT  Walltime for job (estimated run time, in hours). (Default=6)
  -d              debug

Each of these input options have default values that work well, and you can read more about them on the ISAC website.

About

Repository with python wrapper for running ISAC (Iterative stable alignment and clustering) for analyzing of cryo-electron microscopy data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages