Size: 5541
Comment:
|
Size: 3435
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
{{{#!wiki caution blablabla }}} |
= Single Particle Tomography in EMAN2 = == Wednesday - P.M. == |
Line 5: | Line 4: |
= Single Particle Tomography in EMAN2 = == 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. |
This session will cover the new tools for single particle tomography in EMAN2. Unfortunately, this technique is very memory-intensive and compute-intensive. The 3 gb of ram available on the workshop computers is barely sufficient to do some small examples, and full 3-D alignments of large sets of particles can take many hours of computation. |
Line 9: | Line 8: |
This session will cover the beta version of a small fraction of the possibilities for SPT processing EMAN2 will eventually offer. | So, for purposes of the tutorial, we will learn how to use the particle picker, and do a couple of small examples which can be completed in the available time. |
Line 11: | Line 11: |
== 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'' |
== DATA == [[attachment:e2spt_data_e15.zip| e2spt_data_e15.zip|&do=get]] |
Line 19: | Line 14: |
== 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 24: | Line 16: |
== 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: |
== TUTORIAL DOCUMENT == Not available here for now. Get it through this site: |
Line 27: | Line 19: |
[[attachment:e15phaseplate.rec]] | http://blake.bcm.edu/emanwiki/Ws2011/Agenda |
Line 29: | Line 21: |
The following tomogram also comes from a tilt series of epsilon15 viruses ''in vitro'' but was recorded under conventional cryoEM imaging conditions: | == Monstrous command for alignment with e2spt_classaverage.py (used to be e2classaverage3d.py) == |
Line 31: | Line 23: |
[[attachment:e15normal.rec]] | 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 --preprocess=filter.lowpass.gauss:cutoff_freq=.02 --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 33: | Line 25: |
== BOXING == There are two options for opening the tomogram for purposes of boxing it. |
|
Line 36: | Line 26: |
1) Directly, by typing e2tomoboxer.py followed my the path to the tomogram file at the commandline. | |
Line 38: | Line 27: |
2) Or you can launch e2workflow.py from the commandline and access a tomogram through the browser in the tomographic menu. | == Monstrous command for alignment with e2spt_hac.py (used to be e2tomoallvsall.py) == |
Line 40: | Line 29: |
[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]. |
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 43: | Line 31: |
Let's explore the FIRST APPROACH. | |
Line 45: | Line 32: |
=== 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: |
== 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 48: | Line 35: |
||<style="color: #FF0000; font-weight: bold;">COMMAND #001|| {{{ e2tomoboxer.py e15normal.rec --yshort --inmemory }}} |
|
Line 53: | Line 36: |
''' ''EXPLANATION'' ''' | == 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 55: | Line 39: |
'''To specify --yshort, or not to''' | |
Line 57: | Line 40: |
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. | == 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 59: | Line 43: |
'''Ok... but WHY? What does this mean?''' | |
Line 61: | Line 44: |
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. ---- /!\ '''Edit conflict - other version:''' ---- ~-(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 === ---- /!\ '''Edit conflict - your version:''' ---- ''~-(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).-~'' The e2tomoboxer.py GUI should look like this: {{attachment:image.png|alt text|width=100 height=150}} This window is called __ You will notice... === USING THE WORKFLOW FOR SPT === ---- /!\ '''End of edit conflict''' ---- |
== 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
Wednesday - P.M.
This session will cover the new tools for single particle tomography in EMAN2. Unfortunately, this technique is very memory-intensive and compute-intensive. The 3 gb of ram available on the workshop computers is barely sufficient to do some small examples, and full 3-D alignments of large sets of particles can take many hours of computation.
So, for purposes of the tutorial, we will learn how to use the particle picker, and do a couple of small examples which can be completed in the available time.
DATA
TUTORIAL DOCUMENT
Not available here for now. Get it through this site:
http://blake.bcm.edu/emanwiki/Ws2011/Agenda
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 --preprocess=filter.lowpass.gauss:cutoff_freq=.02 --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