Differences between revisions 66 and 148 (spanning 82 versions)
Revision 66 as of 2011-03-02 11:02:20
Size: 5189
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 1: Line 1:
{{{#!wiki caution
TESTING WIKI ADMONITIONS
}}}
= Single Particle Tomography in EMAN2 =
Line 5: Line 3:
= Single Particle Tomography in EMAN2 =
== Wednesday March 16, 2011 - P.M. Practical EMAN2 SPT tutorial ==
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 8: Line 7:
You can download a nicer version of this tutorial as a Word 2008 document
Line 10: Line 8:
[[attachment:eman2_spt_tutorial.docx]] == E2SPT USERS' GUIDE ==
Line 12: Line 10:
Or as a PDF * 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 14: Line 12:
[[attachment:eman2_spt_tutorial.pdf]] [[attachment:e2spt_users_guide_06_2012.pdf| e2spt_users_guide_06_2012.pdf|&do=get]]
Line 16: Line 14:
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. == DATA ==
Epsilon 15 virus data, used since the EMAN2 Workshop in 2010.
Line 18: Line 17:
This session will cover the beta version of a small fraction of the possibilities for SPT processing EMAN2 will eventually offer. [[http://blake.grid.bcm.edu/wikifiles/SPT/e2spt_data.zip|e2spt_data.zip]]
Line 20: Line 19:
== 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''
TRiC chapeornin data (NOT READY).
Line 28: Line 21:
== 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]]
[[attachment:e2spt_data_apoTRiC.zip| e2spt_data_apoTRiC.zip|&do=get]]
Line 33: Line 23:
== 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:
== COMMANDS (for easy "copy-pasting" into the command line ==
Line 36: Line 25:
[[attachment:e15phaseplate.rec]] === Monstrous command for alignment with e2spt_classaverage.py (used to be e2classaverage3d.py) ===
Line 38: Line 27:
The following tomogram also comes from a tilt series of epsilon15 viruses ''in vitro'' but was recorded under conventional cryoEM imaging conditions: 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 40: Line 29:
[[attachment:e15normal.rec]]
Line 42: Line 30:
== BOXING ==
There are two options for opening the tomogram for purposes of boxing it.
Line 45: Line 31:
1) Directly, by typing e2tomoboxer.py followed my the path to the tomogram file at the commandline. === Monstrous command for alignment with e2spt_hac.py (used to be e2tomoallvsall.py) ===
Line 47: Line 33:
2) Or you can launch e2workflow.py from the commandline and access a tomogram through the browser in the tomographic menu. 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 49: Line 35:
[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].
Line 52: Line 36:
Let's explore the FIRST APPROACH. === 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 54: Line 39:
=== 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 57: Line 40:
||<style="color: #FF0000; font-weight: bold;">COMMAND #001||
{{{
e2tomoboxer.py e15normal.rec --yshort --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:
 ''' ''EXPLANATION'' '''
Line 64: Line 44:
 '''To specify --yshort, or not to''' === 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 66: Line 47:
  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 68: Line 48:
 '''Ok... but WHY? What does this mean?'''

  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.

 '''--inmemory'''

  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.

  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
  }}}

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.
''~-(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 ===

The e2tomoboxer.py GUI should look like this:
{{attachment:image.png|alt text|width=100 height=150}}

This window is called __

You will notice...
=== 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)