Differences between revisions 61 and 148 (spanning 87 versions)
Revision 61 as of 2011-03-02 03:35:11
Size: 4803
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. 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 7: Line 7:
== 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''
Line 15: Line 8:
== 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]]
== E2SPT USERS' GUIDE ==
Line 20: Line 10:
== 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:
* 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 23: Line 12:
[[attachment:e15phaseplate.rec]] [[attachment:e2spt_users_guide_06_2012.pdf| e2spt_users_guide_06_2012.pdf|&do=get]]
Line 25: Line 14:
The following tomogram also comes from a tilt series of epsilon15 viruses ''in vitro'' but was recorded under conventional cryoEM imaging conditions: == DATA ==
Epsilon 15 virus data, used since the EMAN2 Workshop in 2010.
Line 27: Line 17:
[[attachment:e15normal.rec]] [[http://blake.grid.bcm.edu/wikifiles/SPT/e2spt_data.zip|e2spt_data.zip]]
Line 29: Line 19:
== BOXING ==
There are two options for opening the tomogram for purposes of boxing it.
TRiC chapeornin data (NOT READY).
Line 32: Line 21:
1) Directly, by typing e2tomoboxer.py followed my the path to the tomogram file at the commandline. [[attachment:e2spt_data_apoTRiC.zip| e2spt_data_apoTRiC.zip|&do=get]]
Line 34: Line 23:
2) Or you can launch e2workflow.py from the commandline and access a tomogram through the browser in the tomographic menu. == COMMANDS (for easy "copy-pasting" into the command line ==
Line 36: Line 25:
[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].
=== Monstrous command for alignment with e2spt_classaverage.py (used to be e2classaverage3d.py) ===
Line 39: Line 27:
Let's explore the FIRST APPROACH. 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
Line 41: Line 29:
=== OPENING A TOMOGRAM DIRECTLY WITH e2tomoboxer.py ===
To launch the GUI that will show you the tomogram (you're free to choose whichever you prefer, "e15normal.rec" or "e15phaseplate.rec") type the following COMMAND #001 at the commandline:
Line 44: Line 30:
||<style="color: #FF0000; font-weight: bold;">COMMAND #001||
{{{
e2tomoboxer.py e15normal.rec --yshort --inmemory
}}}
Line 49: Line 31:
 ''' ''EXPLANATION'' ''' === Monstrous command for alignment with e2spt_hac.py (used to be e2tomoallvsall.py) ===
Line 51: Line 33:
 '''To specify --yshort, or not to''' 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
Line 53: Line 35:
  This option will FLIP the 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.
Line 55: Line 36:
 '''Ok... but WHY? What does this mean?''' === 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
Line 57: Line 39:
  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__'''. If you open one of these tomograms "as is", you'll be looking at it "from the side".
  Most of the time you want the slimmest part of the volume to be aligned along Z (NOT Y), so you can see the 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.
Line 60: Line 40:
 '''--inmemory''' === 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
Line 62: Line 43:
  This option pre-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.
Line 64: Line 44:
  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
  }}}
=== 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
Line 69: Line 47:
If you ran the command and took a leap of faith in skipping the explanation, you will probably have already clicked a few things in the GUI (Graphical User Interface with nice 'clickable' buttons) that popped up.
Line 71: Line 48:
~-(I hope you did; extensive explanations really ought to be read only when following the execution boxes doesn't work smoothly, when you're confused, when you have a lot of time to spare and nothing better to do, or when you're a purist [slightly OCD] about reading manuals in their entirety with the noble purpose of getting the most out of them).-~

=== USING THE WORKFLOW FOR SPT ===
=== 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)