Differences between revisions 55 and 148 (spanning 93 versions)
Revision 55 as of 2011-03-02 02:07:00
Size: 4304
Editor: jgalaz
Comment:
Revision 148 as of 2012-07-02 22:31:43
Size: 3620
Editor: jgalaz
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
== Wednesday March 16, 2011 - P.M. Practical EMAN2 SPT tutorial ==
SPT (single particle tomography) capabilities are relatively new in EMAN2. They were inspired by Michael Schmid's studies on sub-volume averaging (mostly on viruses), and a stubborn student's insistence on doing extensive sub-volume averaging on chaperons.
Line 5: Line 3:
This session will cover the beta version of a small fraction of the possibilities for SPT processing EMAN2 will eventually offer.

== OUTLINE ==
 * 1) SPT processing through EMAN2's workflow (e2workflow.py)
 * 2) Sub-volume extraction from tomograms using EMAN2's 3D particle picking tool (e2tomoboxer.py)
 * 3) "Preparation" of extracted particles for alignment. [Details later. /!\ For a myriad of reasons, it is NOT recommendable to align and average sub-volumes directly after extraction without "preparing" them first].
 * 4) Reference-based alignment and averaging.
 
 <!> ''PLEASE NOTE that "particle" and "sub-volume" are used interchangeably''

== SOFTWARE ==
All necessary software is provided as part of EMAN2. If you don't have EMAN2 installed, you can download the most updated version (for your specific platform, Windows, Linux or Mac), from here:
 
[[http://ncmi.bcm.edu/ncmi/software/counter_222/software_86]]

== RAW DATA ==
We have prepared sample data for this tutorial. The tomogram in the link below comes from a tilt series of epsilon15 virus particles ''in vitro'', recorded using Zernike phase-plate technology:

[[attachment:e15phaseplate.rec]]

The following tomogram also comes from a tilt series of epsilon15 viruses ''in vitro'' but was recorded under conventional cryoEM imaging conditions:

[[attachment:e15normal.rec]]

== BOXING ==
There are two options for opening the tomogram for purposes of boxing it.

1) Directly, by typing e2tomoboxer.py followed my the path to the tomogram file at the commandline.

2) Or you can launch e2workflow.py from the commandline and access a tomogram through the browser in the tomographic menu.

[In theory, you can open a tomogram for contemplation purposes by typing: "e2display.py <my_tomogram_path_name_goes_here>" at the commandline.
/!\ This is NOT recommendable, unless you have a grossly large (VERY, VERY large) amount of virtual memory on your computer; otherwise, catastrophe WILL befall upon you].

Let's explore the FIRST APPROACH.

=== OPENING A TOMOGRAM DIRECTLY WITH e2tomoboxer.py ===
To launch one of the tomograms provided (you're free to choose which ever you prefer, "e15normal.rec" or "e15phaseplate.rec") type the following COMMAND #001 at the commandline:

||<style="color: #FF0000; font-weight: bold;">COMMAND #001||
{{{
e2tomoboxer.py e15normal.rec --yshort --inmemory
}}}
Unfortunately, this technique SPT is very computationally intensive (both in terms of memory and processing speed).
3GB of RAM is the bare minimum recommended to get through the tutorial.
For more realistic SPT on full 3D alignments on large sets of large particles particles, 8GB of memory and the use of multiple processing units is advised.
Line 50: Line 8:
 '''To specify --yshort, or not to''' == E2SPT USERS' GUIDE ==
Line 52: Line 10:
  This option will FLIP orientation of your tomogram respect to the Y and Z coordinates. You should ONLY specify it IF the tomogram has its smallest/slimmest dimension running along the Y-axis, so that it becomes parallel to the Z-axis instead. * Single particle tomography USER'S GUIDE (updated on June 2012; under major refactoring do to extensive changes in e2spt capabilities; look for an extensively different version soon)
Line 54: Line 12:
 '''Ok... but, still, WHY? What does this mean?''' [[attachment:e2spt_users_guide_06_2012.pdf| e2spt_users_guide_06_2012.pdf|&do=get]]
Line 56: Line 14:
  Some tomograms are built with the slimmest part of the 3D volume (that corresponding to the "ice thickness" in cryoEM) running along the Y-axis. BUT '''__in EMAN2 volumes are displayed such that the Z-axis is perpendicular to the screen__'''.
Ideally, you would want the slimmest part of the volume to be aligned along Z (NOT Y) so you can view the entire tomogram "from the TOP", and look at the entire CCD-captured area in the XY plane slice by slice, as you go through the volume.
== DATA ==
Epsilon 15 virus data, used since the EMAN2 Workshop in 2010.
Line 59: Line 17:
 '''--inmemory''' [[http://blake.grid.bcm.edu/wikifiles/SPT/e2spt_data.zip|e2spt_data.zip]]
Line 61: Line 19:
  This option loads your tomogram to memory, allowing to box particles (or do whatever you want to do in e2tomoboxer) more "smoothly" (faster), because reading data "from memory" is faster than reading it "from disk". TRiC chapeornin data (NOT READY).
Line 63: Line 21:
  You can get the entire list of options that e2tomoboxer.py takes (not many at this point) and some sort of explanation of what they're for by typing the following at the commandline:
  {{{
  e2tomoboxer.py -h
  }}}
[[attachment:e2spt_data_apoTRiC.zip| e2spt_data_apoTRiC.zip|&do=get]]
Line 68: Line 23:
If you took a leap of faith and ran the command (which I hope you did; extensive explanations really ought to be read only when following the execution boxes doesn't work smoothly) == COMMANDS (for easy "copy-pasting" into the command line ==
Line 70: Line 25:
=== USING THE WORKFLOW FOR SPT === === Monstrous command for alignment with e2spt_classaverage.py (used to be e2classaverage3d.py) ===

e2spt_classaverage.py --input=e15pp_set1_stack.hdf --output=e15pp_set1_aligned.hdf --ref=e15ref_prep_icos_bin2.hdf --npeakstorefine=1 -v 3 --mask=mask.sharp:outer_radius=48 --lowpass=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --align=rotate_translate_3d:search=10:delta=8:dphi=8:verbose=1:sym=icos --parallel=thread:2 --ralign=refine_3d_grid:delta=3:range=9:search=2 --averager=mean.tomo --aligncmp=ccc.tomo --raligncmp=ccc.tomo --shrink=3 --shrinkrefine=3 --savesteps --saveali --iter=8 --normproc=normalize --sym=c1 --keep=0.8 --path=whatever_folder_I_want



=== Monstrous command for alignment with e2spt_hac.py (used to be e2tomoallvsall.py) ===

e2spt_hac.py -v 1 --path=AVSAs087 --input=CENTEREDvsD8aliVSapo_s087.hdf --shrink=3 --shrinkrefine=2 --iter=87 --mask=mask.sharp:outer_radius=36 --npeakstorefine=16 --preprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --align=rotate_translate_3d:search=4:dphi=12:delta=12 --parallel=thread:24 --ralign=refine_3d_grid:delta=3:range=12:search=2 --averager=mean.tomo --aligncmp=ccc.tomo --raligncmp=ccc.tomo --saveali --savesteps -v 2 --postprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --autocenter --exclusive_class_min=8 --normproc=normalize


=== Not-so-monstrous command for e2spt_simulation.py (used to be e2tomosim.py) ===
e2spt_simulation.py --input=../groRef_scaled_bin2.hdf --snr=5 --nptcls=2 --tiltstep=5 --tiltrange=60 --transrange=10 --saveprjs --noiseproc=math.addnoise


=== Semi monstrous command for e2spt_resolutionplot.py ===
e2spt_resolutionplot.py --vol1=half1avg.hdf --vol2=half2avg.hdf --output=whatever3.txt --npeakstorefine=1 --verbose=3 --shrink=3 --shrinkrefine=2 --mask=mask.sharp:outer_radius=36 --preprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --align=rotate_translate_3d:search=4:dphi=30:delta=30:sym=icos --parallel=thread:8 --ralign=refine_3d_grid:delta=15:range=30:search=2 --aligncmp=ccc.tomo --raligncmp=ccc.tomo --postprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --normproc=normalize --sym=icos


=== Decent command for e2spt_rotationalplot.py ===
e2spt_rotationalplot.py --input=initModel.hdf --output=toAs129avsaAVG.txt --daz=1 --shrink=1 --dalt=180 --mask=mask.sharp:outer_radius=28


=== Command for e2spt_radialdensityplot.py ===
e2spt_radialdensityplot.py --vols=volA_aligned.hdf,volB_aligned.hdf --normproc=normalize.edgemean --lowpass=filter.lowpass.gauss:cutoff_freq=0.02:apix=4.401 --singleplot --output=volAali_VS_volBali.png

Single Particle Tomography in EMAN2

Unfortunately, this technique SPT is very computationally intensive (both in terms of memory and processing speed). 3GB of RAM is the bare minimum recommended to get through the tutorial. For more realistic SPT on full 3D alignments on large sets of large particles particles, 8GB of memory and the use of multiple processing units is advised.

E2SPT USERS' GUIDE

* Single particle tomography USER'S GUIDE (updated on June 2012; under major refactoring do to extensive changes in e2spt capabilities; look for an extensively different version soon)

e2spt_users_guide_06_2012.pdf

DATA

Epsilon 15 virus data, used since the EMAN2 Workshop in 2010.

e2spt_data.zip

TRiC chapeornin data (NOT READY).

e2spt_data_apoTRiC.zip

COMMANDS (for easy "copy-pasting" into the command line

Monstrous command for alignment with e2spt_classaverage.py (used to be e2classaverage3d.py)

e2spt_classaverage.py --input=e15pp_set1_stack.hdf --output=e15pp_set1_aligned.hdf --ref=e15ref_prep_icos_bin2.hdf --npeakstorefine=1 -v 3 --mask=mask.sharp:outer_radius=48 --lowpass=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --align=rotate_translate_3d:search=10:delta=8:dphi=8:verbose=1:sym=icos --parallel=thread:2 --ralign=refine_3d_grid:delta=3:range=9:search=2 --averager=mean.tomo --aligncmp=ccc.tomo --raligncmp=ccc.tomo --shrink=3 --shrinkrefine=3 --savesteps --saveali --iter=8 --normproc=normalize --sym=c1 --keep=0.8 --path=whatever_folder_I_want

Monstrous command for alignment with e2spt_hac.py (used to be e2tomoallvsall.py)

e2spt_hac.py -v 1 --path=AVSAs087 --input=CENTEREDvsD8aliVSapo_s087.hdf --shrink=3 --shrinkrefine=2 --iter=87 --mask=mask.sharp:outer_radius=36 --npeakstorefine=16 --preprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --align=rotate_translate_3d:search=4:dphi=12:delta=12 --parallel=thread:24 --ralign=refine_3d_grid:delta=3:range=12:search=2 --averager=mean.tomo --aligncmp=ccc.tomo --raligncmp=ccc.tomo --saveali --savesteps -v 2 --postprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --autocenter --exclusive_class_min=8 --normproc=normalize

Not-so-monstrous command for e2spt_simulation.py (used to be e2tomosim.py)

e2spt_simulation.py --input=../groRef_scaled_bin2.hdf --snr=5 --nptcls=2 --tiltstep=5 --tiltrange=60 --transrange=10 --saveprjs --noiseproc=math.addnoise

Semi monstrous command for e2spt_resolutionplot.py

e2spt_resolutionplot.py --vol1=half1avg.hdf --vol2=half2avg.hdf --output=whatever3.txt --npeakstorefine=1 --verbose=3 --shrink=3 --shrinkrefine=2 --mask=mask.sharp:outer_radius=36 --preprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --align=rotate_translate_3d:search=4:dphi=30:delta=30:sym=icos --parallel=thread:8 --ralign=refine_3d_grid:delta=15:range=30:search=2 --aligncmp=ccc.tomo --raligncmp=ccc.tomo --postprocess=filter.lowpass.gauss:cutoff_freq=.02:apix=4.401 --normproc=normalize --sym=icos

Decent command for e2spt_rotationalplot.py

e2spt_rotationalplot.py --input=initModel.hdf --output=toAs129avsaAVG.txt --daz=1 --shrink=1 --dalt=180 --mask=mask.sharp:outer_radius=28

Command for e2spt_radialdensityplot.py

e2spt_radialdensityplot.py --vols=volA_aligned.hdf,volB_aligned.hdf --normproc=normalize.edgemean --lowpass=filter.lowpass.gauss:cutoff_freq=0.02:apix=4.401 --singleplot --output=volAali_VS_volBali.png

Ws2011/Spt (last edited 2012-07-05 01:16:47 by jgalaz)